Why app and api have no DNS records yet
A proxied DNS record with nothing behind it returns 522, which looks like a broken product. So records wait for deployments.
PaceStreak’s product is built: the API and the app both exist and pass their
tests. Yet app.pacestreak.com and api.pacestreak.com do not resolve. That
is deliberate.
What an empty record does
On Cloudflare, a proxied DNS record routes visitors to Cloudflare’s edge, which then tries to reach the origin. If there is no origin, the edge returns a 522: Connection timed out page, with Cloudflare’s branding and the words “the web server is not responding”.
To a visitor, that does not read as “not launched yet”. It reads as “broken”.
A curious person who types app.pacestreak.com and gets a 522 has learned
that the product is down, which is worse than learning nothing. A name that
simply does not resolve is honest.
How records get created instead
Records are never made by hand in the DNS tab ahead of time. They are created by attaching a custom domain to a real deployment: in Cloudflare Pages, adding a custom domain to a project creates the record pointing at something that already serves content. The record and the thing it points to arrive together.
For the API, which will run on a host that is still to be chosen, the record will be created when that host is serving behind TLS, and not before.
The broader rule
Do not publish a promise before you can keep it. The same idea shaped the marketing site, which will not describe features that do not exist yet. An address is a promise too.
AlzyWelzy
Building PaceStreak. GitHub
Related
InfrastructureWhat the free tier actually buys, checked against the account
The API runs on a GCP e2-micro because that's what Always Free covers - one instance, 30 GB of standard disk, an ephemeral IP. It turns out to be sitting exactly at that ceiling, which explains more of the outage two posts back than any single bug did.
3 min
InfrastructureA status page that watches the whole stack, finally
app and api had no DNS records for most of their existence, so there was nothing to monitor - which meant status.pacestreak.com kept quietly not telling the whole story even after both went live. Fixed, plus a lesson in why a 200 from the app proves nothing about the API behind it.
2 min
InfrastructureEvery choice in the stack, and why
The complete technology list behind PaceStreak — domain, sites, monitoring, backend, tooling — with the reasoning, the rejected alternatives, and the constraints each choice created for the next one.
15 min