Skip to content

Tuf rebuild#1

Merged
phaus merged 6 commits intomasterfrom
tuf-rebuild
Apr 12, 2026
Merged

Tuf rebuild#1
phaus merged 6 commits intomasterfrom
tuf-rebuild

Conversation

@phaus
Copy link
Copy Markdown
Member

@phaus phaus commented Apr 12, 2026

No description provided.

agent@x10-cb3c and others added 6 commits April 12, 2026 17:32
Replace all references to offline dl.flynn.io/releases.flynn.io with
new GitHub Pages TUF repo at consolving.github.io/flynn-tuf-repo.

Key changes:
- Update TUF repo URL to include /repository suffix in all 17 locations
  (tup.config, builder/manifest.json, pkg/tufconfig, scripts, Go code)
- Embed 4 ed25519 root public keys in source defaults (tufconfig.go)
- Fix TUF root key threshold from len(RootKeys) to 1 in client init
  (host/cli/download.go, host/cli/update.go, cli/update.go, builder/build.go)
- Disable telemetry (offline dl.flynn.io/measure endpoint)
- Fix builder/img/busybox.sh: use system busybox-static, fix symlink bug
- Fix builder/img/ubuntu-bionic.sh: use debootstrap with bind mounts
- Expand script/build-flynn for standalone builds
- Add ._* and *.backup to .gitignore
- script/bootstrap-build: builds all 34 Flynn binaries from source
  without requiring a running cluster, with version embedding via ldflags
- script/export-tuf/main.go: standalone Go tool that builds squashfs
  layers, constructs ImageManifests/Artifacts, generates manifests
  (bootstrap-manifest.json, images.json), and stages/signs TUF targets
- Mark base layer scripts as executable
…st target

Add Dockerfile.ci for reproducible builds (Debian Buster, Go 1.13.15, CGO).
Add GitHub Actions CI workflow with parallel build and test jobs.
Add 'make test-unit-standalone' to run 21 pure Go test packages without
requiring a prior full build or running cluster.
Fix Makefile portability: replace GNU readlink -f with POSIX cd/pwd.
All 4 TUF keys (root, targets, snapshot, timestamp) were accidentally
committed to the public flynn-tuf-repo. This rotates all keys using
the new script/rotate-tuf-keys tool, which generates fresh ed25519 keys,
revokes the old ones, and signs root.json with both old and new root keys
per the TUF specification. Private keys are now stored outside the repo.

Updates tup.config, builder/manifest.json, and tufconfig.go to reference
the new root public keys (root.json v12).
Debian Buster (10) is EOL and its package repositories at
deb.debian.org return 404. Both CI jobs fail at apt-get update.
Switch to debian:bookworm-slim (12) which is actively supported.
Go 1.13.15 is still installed separately so this is a safe change.
The build job in CI failed because ${GITHUB_SHA::8} is bash-specific
substring syntax, but the Debian Bookworm container's default shell
is dash (sh), which doesn't support it. Replace with POSIX-compatible
$(echo "$GITHUB_SHA" | cut -c1-8).
@phaus phaus merged commit cfd6dd7 into master Apr 12, 2026
4 checks passed
@phaus phaus deleted the tuf-rebuild branch April 16, 2026 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant