oxidecomputer / oxidecomputer/omicron
[tufaceous / CI] the control plane tar.gz is not reproducibly built
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
Currently we have tufaceous generate multiple repos in CI (for the moment, because of different hardware revisions in different racks; soon, because different racks expect different ROT signatures (#3954)). This is done by filling out the TOML manifest with all of the control plane zones as a composite-control-plane source, and tufaceous creates a tarball of the zones. Because we run tufaceous multiple times, we build this tarball multiple times, and the checksums and sizes are not the same across them.
We can try to make tufaceous create tarballs in a reproducible way, or modify CI to create the tarball directly and use a file source in tufaceous instead. Not sure which makes more sense.
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
No specific files or tests are named. Start with the CI configuration that fills the TOML manifest with composite-control-plane sources, then inspect how tufaceous creates that tarball. Done means repeated CI runs produce matching checksums and sizes, either through reproducible tarballs or a direct file source.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, ci-cd
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100