[RFC PATCH 0/4] Initial functional vcontainer --config feature for CI auth
Tim Orling <[email protected]> Mon, 27 Apr 2026 18:13:10 -0700
| Newsgroups | org.yoctoproject.lists.meta-virtualization |
|---|---|
| Message-ID | <[email protected]> |
This is an initial attempt to share a new feature for vcontainer which
mounts credentials (e.g. ~/.docker/config.json or podman's auth.json)
into QEMU as a 9p mount. This avoids some ugly hoops we would have to
jump through to pass the credentials with --password-stdin.
This series was heavily reliant on Claude Cowork, and hence is a bit
verbose in places. I chose to share it as is (and as tested) for this
initial RFC.
The tests (test_vcontainer_auth_config.py) all pass in a local Yocto
AutoBuilder test run.
The feature itself was also tested on a local Yocto AutoBuilder
'containers-library' run which successfully pushed a 'python' container
to registry.yocto.io[1] and quay.io/yocto[2] with the "Robot Account" or
equivalent credentials.
Once we agree upon a functional state of this patch series, the changes
for yocto-autobuilder2 and yocto-autobuilder-helper can be shared in a
meaningful way, since they are dependent upon this feature.
[1] https://registry.yocto.io/account/sign-in?globalSearch=library
[2] https://quay.io/repository/yocto/python?tab=tags
Tim Orling (4):
vcontainer: add --config / VDKR_CONFIG for docker/podman auth
credentials
tests: add vcontainer --config / VDKR_CONFIG auth plumbing tests
vcontainer-initramfs-create.inc: depend on virtual/kernel:do_deploy
vcontainer-tarball: fix SDK environment script for CI
.gitignore | 1 +
recipes-containers/vcontainer/README.md | 54 ++
.../vcontainer/files/vcontainer-common.sh | 18 +
.../files/vcontainer-init-common.sh | 54 ++
.../vcontainer/files/vdkr-init.sh | 58 ++
.../vcontainer/files/vpdmn-init.sh | 61 ++
.../vcontainer/files/vrunner.sh | 147 ++++
.../vcontainer-initramfs-create.inc | 19 +-
.../vcontainer/vcontainer-tarball.bb | 69 +-
tests/test_vcontainer_auth_config.py | 642 ++++++++++++++++++
10 files changed, 1106 insertions(+), 17 deletions(-)
create mode 100644 tests/test_vcontainer_auth_config.py
--
2.50.1 (Apple Git-155)