-
Notifications
You must be signed in to change notification settings - Fork 172
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove stage 2 and replace w/ a static docker registry implementation in rust #948
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small stuff looking through the code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We won't be able to merge this until it is off of nightly, have you tried evaluating with MUSL or do you have a better idea when they will call this magic binary shrinking fun stable?
To replicate (currently) working w/ a local built binary: cd src/injector/stage1
./release.sh
cd ../../../
make init-package
make build-cli-mac-apple ARCH=arm64
cd build
# <blah blah> = ./zarf-mac-apple version
zarf tools archiver decompress zarf-init-arm64-v0.22.2-<blah blah>.tar.zst init
cp ../src/injector/stage1/target/aarch64-unknown-linux-musl/release/zarf-injector init/components/zarf-injector/files/0
rm zarf-init-arm64-*
zarf tools archiver compress init/. zarf-init-arm64-<blah blah>.tar.zst
./zarf-mac-apple init -l=trace |
Current sizes w/ stable optimizations:
|
Co-authored-by: Wayne Starr <[email protected]>
@Noxsios can you point me to the docs you created for this? I can support you by helping review those. |
…/seed.go#postSeedRegistry` needing the tarball
@Noxsios as you test the local distros, please drop a screenshot in this PR and note the distribution, thanks. |
❌ Microk8s: Unable to deploy due to not supporting 📍 TKG: TKG community edition got nuked. Will attempt and update w/ "free" TKG download. ❌ AKS: AKS is very broken. ✅ Docker Desktop K8s: working flawlessly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall lgtm, already made most of the changes I wanted to see in the other PR that was merged into this one. Only area I'd like to leave as a future thing to look at is the FormatCraneOCILayout
function. Think there's some things we can do to clean that up, especially when it comes to manually defining the struct vs using an existing library we likely already import (go-containertools or registry).
…ap count (#948) Replaces the 2-stage injector systems with a single Rust binary that: 1. assembles the configmap chunks 2. extracts the archive 3. validates the payload shasum 4. serves the image via an embedded OCI distribution endpoint in Rust Fixes #708 Co-authored-by: Megamind <[email protected]>
Description
Replaces the 2-stage injector systems with a single Rust binary that:
Related Issue
Fixes #708
Type of change
Checklist before merging
needs-tests
label)needs-docs
label)needs-adr
label) [ 1 2 3 ]