Implement devcontainer-lock.json
- Dominant language
- Go
- Stars
- 300
- Forks
- 64
- Avg merge
- 20m
- Merged PRs (30d)
- 1
Description
See the original spec : https://github.com/devcontainers/spec/blob/main/docs/specs/devcontainer-lockfile.md
Example repo : https://github.com/microsoft/vscode/blob/main/.devcontainer/devcontainer-lock.json
---
### Goal
Introduce a lockfile that records the exact version, download information and checksums for each feature listed in the devcontainer.json.
This will allow for:
- Improved reproducibility of image builds (installing "latest" of a tool will still have different outcomes as the tool publishes new releases).
- Improved cachability of image builds (image cache checksums will remain stable when the lockfile pins a feature to a particular version).
- Improved security by detecting when a feature's release artifact changes after its checksum was first recorded in the lockfile ("trust on first use").
Useful resources:
- https://github.com/devcontainers/spec/issues/236
- https://github.com/devcontainers/cli/issues/564
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked devcontainer lockfile specification and compare the VS Code example repository. Trace how this project reads devcontainer.json and builds images, then define completion as recording each feature's exact version, download information, and checksum in devcontainer-lock.json, with reproducibility, caching, and checksum detection covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- build-system, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100