deploy foundation: zero-DNS cloud deploy, the node reports home, germinate reliability #132

Merged
plat merged 4 commits from deploy/foundation into main 2026-08-17 17:36:56 +00:00
Owner

The minimal foundation for one-click managed platforms (www grows droplets with this node contract) and flawless sovereign deploys. Cherry-picked from the arena weekend WITHOUT the vcluster/arena substrate — droplet-per-platform is the foundation; that substrate stays in history on feat/deploy-platform.

germinate / lib / up

  • strip_gitops_tenants (unconditional): a fresh daughter has no external orgs — the seed's per-org tenant files reconciled Source artifact not found forever and failed the coldstart gate at 95%. MCP recreates tenants lazily.
  • post-handoff admin auth: single-shot curl inside the CNPG-handoff race → the same 60×3s poll the bootstrap gate uses (fixes the concurrent-germination FATAL).
  • up: opt-in NODE_DNS=1.1.1.1,8.8.8.8 pins k3d node resolvers at create (image pulls no longer depend on a flaky host resolver).

deploy/

  • deploy/do domain defaults to auto: mitosis-node.sh derives <ip-dashes>.sslip.io from the public IP before k3s (DOMAIN feeds --tls-san + the registry mirror host). A platform comes up reachable with no DNS at all. outputs.tf names it.
  • The node reports home (REPORT_URL + REPORT_TOKEN in node.env, opt-in): progress = germinate's ==> markers every 20s on change; then the card (lifted from the YOUR PLATFORM banner) or the failure (EXIT trap). Best-effort, never fatal, hand-built JSON (no jq on a fresh image). Unit-tested against a listener; live on a managed droplet right now (phases arriving).
  • README + wiki: zero-DNS default, reporting home, the managed path (www.open-platform.sh).

Validated live 2026-08-16/17: two flawless first-try DO germinations from these fixes (104.131.42.43 clean; 104.131.113.40 recovered) + the managed e2e in flight from www.

The minimal foundation for one-click managed platforms (www grows droplets with this node contract) and flawless sovereign deploys. Cherry-picked from the arena weekend WITHOUT the vcluster/arena substrate — droplet-per-platform is the foundation; that substrate stays in history on `feat/deploy-platform`. **germinate / lib / up** - `strip_gitops_tenants` (unconditional): a fresh daughter has no external orgs — the seed's per-org tenant files reconciled *Source artifact not found* forever and failed the coldstart gate at 95%. MCP recreates tenants lazily. - post-handoff admin auth: single-shot curl inside the CNPG-handoff race → the same 60×3s poll the bootstrap gate uses (fixes the concurrent-germination FATAL). - `up`: opt-in `NODE_DNS=1.1.1.1,8.8.8.8` pins k3d node resolvers at create (image pulls no longer depend on a flaky host resolver). **deploy/** - `deploy/do` `domain` defaults to `auto`: `mitosis-node.sh` derives `<ip-dashes>.sslip.io` from the public IP before k3s (DOMAIN feeds `--tls-san` + the registry mirror host). A platform comes up reachable with no DNS at all. `outputs.tf` names it. - **The node reports home** (`REPORT_URL` + `REPORT_TOKEN` in node.env, opt-in): progress = germinate's `==>` markers every 20s on change; then the card (lifted from the YOUR PLATFORM banner) or the failure (EXIT trap). Best-effort, never fatal, hand-built JSON (no jq on a fresh image). Unit-tested against a listener; live on a managed droplet right now (phases arriving). - README + wiki: zero-DNS default, reporting home, the managed path (www.open-platform.sh). Validated live 2026-08-16/17: two flawless first-try DO germinations from these fixes (104.131.42.43 clean; 104.131.113.40 recovered) + the managed e2e in flight from www.
- strip_gitops_tenants (lib.sh): a fresh daughter has no external orgs — the seed's
  per-org tenant files reconciled 'Source artifact not found' forever and failed the
  coldstart gate at 95%. Unconditional, all profiles; MCP recreates tenants lazily.
- post-handoff admin auth was a single-shot curl inside the CNPG-handoff race —
  now the same 60x3s poll the bootstrap gate uses (fixes the concurrent-germination
  FATAL 'admin auth failing after handoff').
- up: NODE_DNS=1.1.1.1,8.8.8.8 pins k3d node resolvers at create — image pulls no
  longer depend on a flaky host resolver ('lookup ghcr.io: Try again').
- deploy/do domain defaults to 'auto': mitosis-node.sh derives <ip-dashes>.sslip.io
  from the public IP at boot (before k3s — DOMAIN feeds --tls-san), realigns node.env
  + the registries mirror host. A platform comes up reachable with no DNS at all.
- REPORT_URL + REPORT_TOKEN (node.env, opt-in): the node posts its progress
  (germinate's ==> markers), then its card or its failure — best-effort, never fatal.
  This is how a managed deploy (www) learns a platform is up.
deploy/README: zero-DNS default, reporting home, the managed path
All checks were successful
guard-ppt / no-ppt (push) Successful in 10s
20515ca6bd
wiki: grow one on a cloud — zero DNS by default, the managed path, reporting home
All checks were successful
guard-ppt / no-ppt (push) Successful in 12s
guard-ppt / no-ppt (pull_request) Successful in 11s
coldstart / coldstart (pull_request) Successful in 12m57s
a2ba5be9dc
plat merged commit ca3e481b82 into main 2026-08-17 17:36:56 +00:00
plat deleted branch deploy/foundation 2026-08-17 17:36:57 +00:00
Sign in to join this conversation.
No description provided.