Parent
Map #16 · implements the Phase 2 decision locked in #19 (prod wired-but-gated).
What to build
Replicate the staging auto-rebuild for prod, but leave it disabled behind an explicit go-live gate. Add the same final step to opencode-prod-main:
gcloud builds triggers run build-lab-base-prod --branch=main
…but keep it off — step commented out or the IAM grant withheld — until the prod go-live checklist passes. Separately, confirm/enable object versioning on the prod qbraid-codeq bucket (it is not TF-declared in this repo, only referenced by IAM; the fast break-glass rollback depends on it). Record the prod go-live checklist in CODEQ_DEPLOYMENT.md.
The gate's blocking item — lab-base Trivy restored to --exit-code=1 — is tracked cross-repo (infra#331 / Dstacks#34/#35/#38) and is NOT flipped by this ticket. The rollout-smoke-test go-live item is satisfied by #25.
Lands in qbraid-infrastructure (prod cloud-build-codeq.tf + bucket versioning) + CODEQ_DEPLOYMENT.md. Full spec: #19 → Phase 2.
Acceptance criteria
Blocked by
Parent
Map #16 · implements the Phase 2 decision locked in #19 (prod wired-but-gated).
What to build
Replicate the staging auto-rebuild for prod, but leave it disabled behind an explicit go-live gate. Add the same final step to
opencode-prod-main:…but keep it off — step commented out or the IAM grant withheld — until the prod go-live checklist passes. Separately, confirm/enable object versioning on the prod
qbraid-codeqbucket (it is not TF-declared in this repo, only referenced by IAM; the fast break-glass rollback depends on it). Record the prod go-live checklist inCODEQ_DEPLOYMENT.md.The gate's blocking item — lab-base Trivy restored to
--exit-code=1— is tracked cross-repo (infra#331 / Dstacks#34/#35/#38) and is NOT flipped by this ticket. The rollout-smoke-test go-live item is satisfied by #25.Lands in
qbraid-infrastructure(prodcloud-build-codeq.tf+ bucket versioning) +CODEQ_DEPLOYMENT.md. Full spec: #19 → Phase 2.Acceptance criteria
opencode-prod-maincarries thegcloud builds triggers run build-lab-base-prod --branch=mainstep, but it is provably inert (commented step or withheld IAM) — a prod codeq push does NOT auto-rebuild yet.qbraid-codeqbucket is confirmed enabled (or enabled) and noted in the doc.CODEQ_DEPLOYMENT.mdrecords the prod go-live checklist: (1) lab-base Trivy--exit-code=1[cross-repo], (2) rollout smoke-test exists [Execution: rollout smoke-test — in-build fail-closed SHA gate + operator verify one-liner #25], (3) prod bucket versioning confirmed.build-lab-base-prodtarget, explicit--branch=main, per-env IAM.Blocked by