Backend endpoint already deployed (nxtgauge-backend-rust
apps/users/src/handlers/waitlist.rs, routed through the gateway).
- ingress.yaml: route /api on nxtgauge.com and www.nxtgauge.com to
nxtgauge-rust-gateway:9100, same 'more specific paths first' pattern
nxtgauge-frontend-solid's ingress already uses - the coming-soon
page is a static nginx site with no backend of its own.
- index.html: handleSubmit now actually awaits the fetch instead of
unconditionally showing success after a commented-out example call.
Disables the submit button while in flight, added a form-error state
for a failed request (was previously just documented, not wired).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The static page (coming-soon/) has existed in this repo since 167ea12
but was never actually wired up - its own README says as much ('Add
this repo to your Kustomize setup and create a Deployment + Service +
Ingress'). No ingress for the bare nxtgauge.com/www.nxtgauge.com
domain existed at all (only subdomains: api/admin/test111/llm/ci/logs).
Deploys the page as a stock nginx:1.27-alpine container (no custom
image/CI build needed - the whole site is ~183KB of static HTML/PNG/
SVG) with the content mounted via two ConfigMaps (configmap-html for
index.html + nginx.conf, configmap-assets for the logo/trademark
files - split because ConfigMap keys can't contain '/', so the
assets/ subdirectory needed its own map). 2 replicas, standard
readiness/liveness probes, ingress for both nxtgauge.com and
www.nxtgauge.com terminating TLS via the existing letsencrypt-prod
ClusterIssuer.
Confirmed DNS for both hostnames already resolves through the same
Cloudflare-proxied IPs as the working test111.nxtgauge.com subdomain -
no DNS changes needed, this starts serving as soon as Flux applies it.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>