Build: pin dependencies by hash
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 72.1k
- Forks
- 19.2k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 164
Description
Description
Currently, the dependencies such as containerd and runc are not pinned by the hash:
These dependencies are also consumed by docker-ce-packaging here: https://github.com/docker/docker-ce-packaging/blob/7e726fa319c261676d06b6ae10c04a3df80e4c48/static/Makefile#L43-L58
Tasks:
- Integrate rego to buildx https://github.com/docker/buildx/pull/3539
- Update Dockerfile to replace
RUN git clone <GITURL>toADD <GITURL>https://github.com/moby/moby/pull/51638 - Replace
go install @TAGto useADD <GITURL>https://github.com/moby/moby/pull/51638 - Switch away from https://github.com/moby/moby/tree/a1836eb2834010c69cbf6de80095508f084fa6b4/hack/dockerfile/install to
ADD <GITHRL>https://github.com/moby/moby/pull/51640(Reverted: https://github.com/moby/moby/pull/51733) - Switch away from https://github.com/moby/moby/blob/a1836eb2834010c69cbf6de80095508f084fa6b4/hack/dockerfile/cli.sh to
ADD <GITURL>, or maybeCOPY --from=docker:VERSION /usr/local/bin/dockerhttps://github.com/moby/moby/pull/51639 - Create
Dockerfile.rego(examples: https://github.com/tonistiigi/buildx-rego-examples) to pin the dependencies
Previous attempts:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing hack/dockerfile/install and hack/dockerfile/cli.sh, along with the linked Dockerfile and packaging Makefile references. Compare the completed buildx and Dockerfile changes with the reverted pull request and previous attempts before choosing the remaining approach. Done means the remaining dependencies are pinned by hash through Dockerfile.rego or the specified ADD/COPY changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go
- Domain
- build-system, devops, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100