Skip to content

Design & compare layer-1 auto-rebuild mechanisms (codeq binary -> Lab image) #18

Description

@Kenny-Heitritter

Part of #16

Question

What are the viable mechanisms to make a new codeq binary in gs://qbraid-codeq[-staging]/latest/linux-x64/codeq automatically trigger a lab-base image rebuild (closing HOP 2 / staleness layer 1), and what are their trade-offs? Produce a comparison an operator can decide from.

Cover at least:

  • Pub/Sub chain: codeq build publishes on success → a Cloud Build trigger on build-lab-base[-prod] subscribed to the topic. How to scope it so it CANNOT repeat the 2026-06-11 cascade (qbraid-Dstacks CLAUDE.md §5): correct source repo/ref, env isolation (staging topic ≠ prod topic), idempotency.
  • GCS bucket notification / Eventarc on the latest/linux-x64/codeq object → Cloud Function → gcloud builds triggers run build-lab-base[-prod].
  • Manual release checklist (status quo hardened): the documented builds triggers run step as the deliberate gate.
  • Version/observability angle: whether to stamp git SHA / build number into the binary version + manifest.json so "did it roll out?" is answerable without shelling into a pod.

For each: blast radius, staging/prod isolation, failure mode (does a bad codeq build become :latest lab image?), Terraform surface, and how it interacts with the Trivy gate (ADR Q5).

AFK. Output: a comparison doc (linked) with a recommended default + guardrails. Feeds the layer-1 decision.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions