gateway: serve the dashboard at wild-pc.<domain>, 404 unrouted subdomains
The dashboard's deployment kept the pre-rename name `wildpc`, so it was published at wildpc.<domain> while everything else had moved to Wild PC naming. Rename the deployment and its program to `wild-pc` (the subdomain is the deployment name) and follow the `_DASHBOARD` constant in both the Caddyfile generator and doctor — that constant also drives the `:9000` redirect and doctor's `wildpc program build` hint, which is why the program is renamed alongside the deployment. Browsing the old name exposed a second problem: in acme mode every route lives inside one `*.<domain>` wildcard site, so an unrouted host still matches the site and completes its TLS handshake. Caddy then ran off the end of the block and returned a bare 200 with an empty body — a typo'd or renamed subdomain looked *up* in a browser while rendering nothing. Each wildcard site now ends with an unmatched `handle` that responds 404. The API subdomain is untouched: the dashboard derives its API origin by stripping the first label, so wild-pc.<domain> still resolves to wildpc-api.<domain>, and the WebSocket origin gate matches on gateway.domain rather than a hostname. Also seed the bootstrap dashboard deployment with the `requires: wildpc-api` block the live deployment already carried, so a fresh install declares the dependency.
This commit is contained in:
@@ -238,7 +238,7 @@ to Wild PC's computed values. Secrets live in `~/.wildpc/secrets/` (never in a r
|
||||
Every gateway-exposed deployment gets its own subdomain — `<name>.<gateway.domain>`
|
||||
— routed to it by the Caddy gateway (there are no path-prefix routes). Exposure is a
|
||||
single checkbox: `proxy: true` on a service, while a static deployment is inherently
|
||||
served. The dashboard is `wildpc.<domain>` and the API `wildpc-api.<domain>`; on a
|
||||
served. The dashboard is `wild-pc.<domain>` and the API `wildpc-api.<domain>`; on a
|
||||
node with no domain, `:9000` serves the dashboard plus a `/api` proxy.
|
||||
|
||||
`gateway.tls` is a per-node choice: `off` (plain HTTP on `:9000`) or `acme` (a real
|
||||
@@ -266,7 +266,7 @@ programs (CLI, API, gateway) know Wild PC internals.
|
||||
|
||||
## Dashboard & API
|
||||
|
||||
The **dashboard** (`app/`, served at `wildpc.<domain>` or `http://localhost:9000`)
|
||||
The **dashboard** (`app/`, served at `wild-pc.<domain>` or `http://localhost:9000`)
|
||||
lists programs and deployments, edits their config, drives lifecycle, shows the
|
||||
gateway route table and logs, and hosts the agent terminal dock.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user