Skip to content

Add +build-signed-extensions for BYOK k8s sysext signing - #798

Draft
Dr-N00B wants to merge 1 commit into
mainfrom
uki-sysext-branch
Draft

Add +build-signed-extensions for BYOK k8s sysext signing#798
Dr-N00B wants to merge 1 commit into
mainfrom
uki-sysext-branch

Conversation

@Dr-N00B

@Dr-N00B Dr-N00B commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add +build-signed-extensions Earthly target that signs k8s systemd extensions (kubeadm, k3s, rke2, canonical) using the same UKI BYOK db.key/db.pem pair that signs the boot chain
  • Extract palette-sysext CLI and extensions tree via new +palette-sysext-bin target; run build inside WITH DOCKER (palette-sysext delegates to docker buildx + auroraboot)
  • Forward ~/.docker/config.json as DOCKER_AUTH_CONFIG secret in earthly.sh when --push is used, so nested registry push works inside DinD
  • Document prerequisites, flags, and security notes in README and .arg.template

Test plan

  • ./earthly.sh +build-signed-extensions with BYOK keys present produces tar(s) under ./build/signed-extensions/
  • ./earthly.sh --push +build-signed-extensions pushes to $IMAGE_REGISTRY/palette-sysext-extensions after docker login
  • --DRY_RUN=true prints palette-sysext commands without executing
  • K8S_DISTRIBUTION=nodeadm is rejected with a clear error
  • k3s/rke2 version suffix normalization works (bare semver → flavor tag appended)

Made with Cursor

Integrate palette-sysext so UKI BYOK users can sign k8s systemd extensions
with the same db key/cert pair used for the boot chain, closing the Secure
Boot trust loop without relying on Spectro's extension certificate.

Co-authored-by: Cursor <cursoragent@cursor.com>
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