Generated from
corpus/lines/software/units/sw.lifecycle.deploy.md. Do not edit by hand — runpython scripts/generate-corpus-docs.py.
sw.lifecycle.deploy¶
Status: draft (decision-aligned; supersedes archive VPS-default)
Sources: Pipeline Management AGENTS (choreography); D2/D3 2026-07-22
See: docs/software-decisions.md D2, D3
Modular Deploy step¶
High-level workflow always has a Deploy stage. Details come from inventory picks (see docs/software-decisions.md):
- Host option — default
host.konstant; allowedhost.vercel;host.vps-legacymigration-only; futurehost.gcpetc. - Shape option (when self-hosted) —
shape.static|shape.dynamic-socket|shape.dynamic-always-on
Record host + shape + concrete hostname on the tracking issue (D2a: long-term <slug>.hectorsanchez.eu on konstant).
Shared Deploy choreography (host-agnostic)¶
- Build/verify locally.
- Configure secrets for the chosen host option.
- Bootstrap once if the host option requires it (konstant: dirs/DNS/TLS/nginx).
- Steady state: git push → CI/CD (mechanism from the host option’s templates).
- Verify live URL.
- Lab: catalog + release per
sw.estate.lab(all Lab apps, after live URL).
Detail units (injected by inventory)¶
| Pick | Attach | Templates (Conductor-owned, D3a:1) |
|---|---|---|
host.konstant + shape.static |
sw.pattern.static-web |
templates/deploy/konstant/static/ (TBD populate) |
host.konstant + shape.dynamic-socket |
sw.pattern.dynamic-web + sw.ops.socket-activation |
templates/deploy/konstant/dynamic-socket/ |
host.konstant + shape.dynamic-always-on |
sw.pattern.dynamic-web + always-on justification |
templates/deploy/konstant/dynamic-always-on/ |
host.vercel |
sw.pattern.vercel |
templates/deploy/vercel/ |
Executable templates live in this repo; promote/deploy scripts copy from here. Changes go through Conductor proposal/PR governance so an improvement agent can evolve them over time.
Prohibited¶
- Planning new deploys to decommissioned VPS
- Skipping live verify before Lab catalog publish
- Mixing “no CI” one-off production deploys as the steady state (bootstrap once, then CI/CD)