Skip to Content
EngineeringDecisions (ADRs)ADR 0012 Public host names: apex for the site, console for the platform

ADR 0012: Public host names: apex for the site, console for the platform

Status
Accepted
Date
Deciders
Founder

Context

The scaffold derived four hosts from the domain (www., docs., app., api.). On the day the zone trovensa.com was delegated to Route 53 and before anything answered on those names, the founder asked for the marketing site on the bare domain and for the signed-in application to be called the platform console.

Decision

  • hosts.site = trovensa.com (apex; www.trovensa.com stays a CNAME to the same static distribution), hosts.docs = docs.trovensa.com, hosts.web = console.trovensa.com, hosts.api = api.trovensa.com.
  • The certificate covers console.trovensa.com and api.trovensa.com; the identity-provider redirect URIs are http://localhost:3100/auth/bridge and https://console.trovensa.com/auth/bridge; CORS_ORIGINS and ERROR_TYPE_BASE follow the console host.
  • Every surface replaced the literals in one change (site metadata and deploy domain, docs footer and links, web brand, API defaults, deck closing slide, infra variables, ingress hosts, runbook and tests). PRODUCT-PLAN.md and earlier ADRs keep the original names as history.

Consequences

  • The first release targets the new names; nothing ever answered on app. or www. so no redirects or 410s are needed.
  • forge.config.json hosts.site is the apex, so the static deploy script’s --domain is trovensa.com and the Route 53 module writes an apex A ALIAS plus the www CNAME.

Alternatives considered

  • Keep www. and app.: the derived defaults; the founder prefers the bare domain and a console name; rejected.
  • Redirect www to the apex at the CDN: the static host does that when both names are associated; kept as its default behaviour, no extra record type needed.

Follow-ups

  • none