Repository navigation
chore: build images through the rootless buildkit sidecar - #57
Conversation
The privileged Docker-in-Docker sidecar is being removed from the ARC runners. Images are built to a tarball, scanned by Trivy, then pushed from the warm BuildKit cache. A non-ARC runner falls back to buildx's default driver.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The pushed deployment artifact is not the scanned artifact, and the shared-registry path lacks the described Trivy gate.
Review effort: Balanced
Findings: 1
Open (4)
What changed in this PR
Routes container builds through rootless BuildKit sidecars, with a Docker-backed fallback.
Changes:
- Selects remote or Docker-container Buildx drivers.
- Scans a deployment image tarball before rebuilding and pushing.
| File | Description |
|---|---|
.github/workflows/deployment.yaml |
Adds rootless building and tarball scanning. |
.github/workflows/shared-registry-push.yaml |
Adds Buildx builder selection. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|



Summary
The shared
deploymentandshared-registry-pushworkflows build images through the ARC runner's rootless BuildKit sidecar ($BUILDKIT_HOST) instead of a Docker daemon. The image is built to a tarball, scanned by Trivy, and pushed only if clean. Runners without the sidecar fall back to buildx's default driver.Why
Security review follow-up: the Docker-in-Docker sidecar on the runners is privileged. Building through rootless BuildKit removes the last reason to keep it. The sidecar is already deployed on the dev, stage and prod runners.
QA Report
Integration Tests
Dependencies