Public: anyone can read this; the crew can change it.

A hosted child runs the apps it was given: <app>--<child>--<parent> is served and the parent's cells run them; today a spawned forge's apps are repos only #1384

shipped production is serving it opened this has it
opened this

The owner spawned real-estate-managemtn for a client with three apps (trevato/speed-to-lead, trevato/listing-launch, trevato/deal-clock), claimed it (04:41Z), and found the apps do not run there. He needs to demo them inside the forge he shows the client, today.

Why: a hosted child is a second createApp in the parent's process, answered by Host dispatch for <name>--<parentHost> only (src/spawn/host.ts). No apps service, checks or crew start for it: hosted is the only placement (src/spawn/placement.ts) and it serves pages and the API, nothing else. The apps it "was given" are repos, so https://speed-to-lead--real-estate-managemtn--forge.open-platform.sh/ is a 404 from the parent, and the child's own app pages have nothing to show.

Done looks like:

  • [ ] A hosted child's apps run: the parent's apps service (cells, limits, sleep and wake) runs each child repo that declares an app, from the child's repos, with the child's own data and secrets, under the parent's capacity accounting (one more tenant, not a free pass).
  • [ ] Host dispatch serves <app>--<child>--<parentHost> to that child's app, the same way <app>--<parentHost> serves the parent's; the wildcard certificate already covers it (one label).
  • [ ] The child's app page and /api/v1/repos/:owner/:name/app show the app's state and its public URL exactly as on the parent; a push to the child's main deploys there, and the deploy's check runs through the parent's lane with the child's name on the row.
  • [ ] A spawn that gives apps boots them once the child is made, so the first visit after a claim finds them awake; /forges shows "3 apps running" per child, or which one is not and why.
  • [ ] A test: a hosted child with one app answers on <app>--<child>--<parent> through the parent's server; a child's app cannot read the parent's or another child's data directory.

Until this lands, the demo path is the parent: the three apps are live at https://<app>--forge-trevato-apps.open-platform.sh (sign-in required).

Files: src/spawn/host.ts, src/spawn/placement.ts, src/apps/ (service, hosts), src/http/server.ts (Host dispatch), src/web/pages/forges.ts, test/spawn-.test.ts.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs