Deployment
Deployment registers a box’s public domains with the control plane so that the shared storefront render app knows which engine backend serves each host.
What POST /boxes/deploy does
- Validate the license key and resolve it to a
customerId. Invalid or inactive keys fail with a uniform error. - Conflict check. A host already claimed by a different customer is rejected, so two boxes can never fight over the same domain.
- Provision each domain through the domain provider.
- Persist the box record and its domains.
- Return the registered hosts and the nameserver records to delegate.
Delegating DNS
The nameservers in the response are what the vendor sets at their registrar.
Once delegation propagates, the storefront render app can resolve the host to the
box’s backendUrl and serve merchant storefronts.
Domains may be exact hosts (acme-bank.com) or wildcards
(*.shop.acme-bank.com). Wildcards let every merchant subdomain resolve to the
same box without per-merchant registration.
Checking status
GET /boxes/deploy/status?name=acme-bank
Authorization: Bearer pk_live_...Use this to confirm a deployment finished provisioning before pointing production traffic at it.
Relationship to host routing
Registration is what makes GET /boxes/resolve
(planned) able to answer “which backend serves this host?”. Until that endpoint
ships, the render app falls back to its client stub. See
Storefront render → Host resolution.