Skip to content

docs(design): RFC for companion-set deploy#360

Open
Cre-eD wants to merge 1 commit into
mainfrom
docs/rfc-companion-set-deploy
Open

docs(design): RFC for companion-set deploy#360
Cre-eD wants to merge 1 commit into
mainfrom
docs/rfc-companion-set-deploy

Conversation

@Cre-eD

@Cre-eD Cre-eD commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Adds docs/design/companion-set-deploy/README.md.

Design doc for deploying a stack together with its required companion stacks as one ordered, fail-closed transaction. The companion set is inferred from the reverse dependencies.owner edges SC already loads (ReadStacks), deployed owner-first (topological), via a thin DeploySet() over the existing Deploy(); a partial set exits non-zero.

Why: with the imperative per-stack model, deploying an owner stack (web/API) without its companion (a singleton worker/scheduler sharing the same queue via dependencies) silently strands the env with no consumer/periodic processor — owner health stays green and there's no worker Deployment to alarm on. CI needs:-chaining mitigates the two-tier case but only on the CI path and doesn't model multi-companion DAGs; this closes it at the platform layer and on the direct sc deploy path.

Docs-only (no code); the implementation is scoped in the Rollout section (behind --with-companions first).

Design doc for deploying a stack together with its required companion stacks
(inferred from the reverse dependencies.owner edges) as one ordered, fail-closed
transaction -- so deploying an owner stack cannot silently strand a companion
worker/scheduler that shares its queue. Generalizes the two-tier CI-chaining
mitigation to N-tier and to the direct `sc deploy` path.

Signed-off-by: Dmitrii Creed <creeed22@gmail.com>
@github-actions

Copy link
Copy Markdown

Semgrep Scan Results

Repository: api | Commit: 60b2c43

Check Status Details
⚠️ Semgrep Warning 1 warning(s), 5 total

Scanned at 2026-07-10 15:32 UTC

@github-actions

Copy link
Copy Markdown

Security Scan Results

Repository: api | Commit: 60b2c43

Check Status Details
✅ Secret Scan Pass No secrets detected
⚠️ Dependencies (Trivy) High 2 high, 3 total
⚠️ Dependencies (Grype) High 2 high, 3 total
📦 SBOM Generated 523 components (CycloneDX)

Scanned at 2026-07-10 15:32 UTC

@github-actions

Copy link
Copy Markdown

📊 Statement coverage

Measured on the documented included set (see docs/TESTING.md → Coverage scope). Observe-only — no regression gate is enforced yet.

Scope This PR main baseline Δ
Included set (Gold-tier denominator) 90.3% 90.3% +0.0 pp
Full set (whole repo, transparency) 28.0% 28.0% +0.0 pp

Baseline: main @ d64c472

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant