oxidecomputer / oxidecomputer/omicron

[tufaceous / CI] the control plane tar.gz is not reproducibly built

Open
#3,955 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.