ci(docker): pin base image digests in all Dockerfiles #199
No reviewers
Labels
No Label
release-blocker
security
tier:high
tier:low
tier:medium
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: molecule-ai/molecule-core#199
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "ci/pin-dockerfile-base-digests"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Pins all
FROMimage tags to exact SHA256 digests for reproducible builds. Without digest pinning, a registry push of a new image to the same tag can silently change layer content between builds — a supply-chain risk especially for production-deployed images.Pinned images (7 Dockerfiles, 8 FROM lines total):
golang:1.25-alpinesha256:c4ea15b...workspace-server/Dockerfile,Dockerfile.dev,Dockerfile.tenant,tests/harness/cp-stub/Dockerfilealpine:3.20sha256:c64c687c...workspace-server/Dockerfile,tests/harness/cp-stub/Dockerfilenode:20-alpinesha256:afdf982...workspace-server/Dockerfile.tenant(go-builder + runtime stages)node:22-alpinesha256:cb15fca...canvas/Dockerfile(builder + runtime stages)python:3.11-slimsha256:e78299e...workspace/Dockerfilenginx:1.27-alpinesha256:62223d6...tests/harness/cf-proxy/DockerfileNot changed:
docker-compose.ymlservice images (postgres, redis, clickhouse, litellm, ollama) remain on major-version tags — those are runtime-pulled and updated regularly for local-dev ergonomics.🤖 Generated with Claude Code
[core-lead-agent] LGTM. Supply-chain hardening: pin all FROM tags to SHA256 digests across 7 Dockerfiles, 8 FROM lines. Defensive build reproducibility — no behavior change for legitimate builds. tier:low.
[core-lead-agent] Re-approving.
[core-lead-agent] Re-approving.
[core-lead-agent] Re-approving.