Skip to content

Add sbx-cli mixin: installs the sbx CLI inside a sandbox - #180

Open
alakae wants to merge 1 commit into
docker:mainfrom
alakae:add-sbx-cli-kit
Open

Add sbx-cli mixin: installs the sbx CLI inside a sandbox#180
alakae wants to merge 1 commit into
docker:mainfrom
alakae:add-sbx-cli-kit

Conversation

@alakae

@alakae alakae commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Installs the sbx CLI inside a sandbox, mainly for sbx kit validate/sbx kit inspect on kit
specs that don't live in this repo's own TCK tooling. Tracks the latest docker/sbx-releases
build rather than pinning a version.

Spec choices worth flagging for review

  • No checksum or signature verification of the downloaded binary. What's the
    recommended verification mechanism here, if any?
  • Deliberately tracks latest instead of pinning a version, since sbx is the product this repo
    targets and a stale pinned build would drift from what users actually run.

Origin

New kit, written for this PR.

Test plan

CI runs kit validate and the TCK on every PR. CI does not run e2e on
fork PRs (Docker Hub secrets aren't exposed there), so the e2e step below is
required from your side before requesting review.

  • sbx kit validate ./sbx-cli/ passes
  • ./scripts/test-kit.sh sbx-cli passes (the TCK)
  • ./scripts/test-kit-e2e.sh sbx-cli passes. The script applies the same
    deny-all baseline CI uses and scopes everything to its own daemon
    (--app-name sbx-kits-contrib-tck), so my main sbx state is untouched.
    Every entry I added to network.allowedDomains came from
    sbx --app-name sbx-kits-contrib-tck policy log <tck-e2e-…>, not a guess.
  • Manual smoke: sbx run shell --kit . --name sbx-cli-smoke . and verified
    sbx version runs inside the container:

One-time setup if you haven't run e2e on this machine before:
sbx --app-name sbx-kits-contrib-tck login.

See CONTRIBUTING.md → Verifying locally
and README → Declare every domain your kit needs
for the cross-arch domain gotchas (archive.ubuntu.com,
security.ubuntu.com, ports.ubuntu.com) and the package-manager refresh trap.

For validating/inspecting kit specs from within a sandbox, mainly useful
for kits outside sbx-kits-contrib's own TCK tooling. Tracks the latest
docker/sbx-releases build rather than pinning a version.

Signed-off-by: Alain Kaeslin <ak@alainkaeslin.com>
@alakae
alakae requested a review from a team as a code owner August 8, 2026 15:06
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