Message ID | cover.1721407122.git.jan.kiszka@siemens.com |
---|---|
Headers | show |
Series | Introduce container fetcher and pre-loader | expand |
On Fri, 2024-07-19 at 18:38 +0200, 'Jan Kiszka' via isar-users wrote: > We noticed internally that there are at least 3 implementations for > solving the task of pre-loading container images into isar-built base > systems, may it be that the images are not publicly available or the > device is only poorly connected, if at all. This series tries to > solve > the task generically - hopefully. > > Changes in v4 > - fetch per architecture, no longer full multi-arch > - directly archive and compress in download task > - use hard links where possible to reduce disk usage > - always use zstd, remove configurability > > Changes in v3: > - do not compress container deb packages [Benedikt] > - fix various spelling issues in the doc [Adriaan, Benedikt] > > Changes in v2: > - switch to open-coded unpack before loading > - switch to zstd as default compression > - use default compression settings from bitbake.conf > - add support for delete-after-load (opt-in) > - factor out fetched container installation into separate task > (should make self-built container packaging easier) > - use BPN instead of PN > - add "Requires" to systemd service > - use PACKAGE_ARCH to select container arch (rather than > DISTRO_ARCH) > - add CI test > - add documentation > > Jan > > Jan Kiszka (5): > Introduce fetcher from container registries > container-loader: Introduce helper to load container images into > local > registry > meta-isar: Add demo packages for installing prebuilt containers > ci: Add test cases for container fetching and loading > doc: Describe how to use the container fetcher and loader > > doc/user_manual.md | 58 +++++++++++++ > kas/package/Kconfig | 19 ++++ > kas/package/pkg_prebuilt-docker-img.yaml | 9 ++ > kas/package/pkg_prebuilt-podman-img.yaml | 9 ++ > .../prebuilt-docker-img_0.1.bb | 12 +++ > .../prebuilt-podman-img_0.1.bb | 10 +++ > .../recipes-core/images/isar-image-ci.bb | 2 + > meta/classes/dpkg-base.bbclass | 6 ++ > meta/lib/container_fetcher.py | 86 > +++++++++++++++++++ > .../container-loader/container-loader.inc | 73 ++++++++++++++++ > .../container-loader/docker-loader.inc | 10 +++ > .../files/container-loader.service.tmpl | 12 +++ > .../files/container-loader.sh.tmpl | 18 ++++ > .../container-loader/podman-loader.inc | 10 +++ > testsuite/citest.py | 21 +++++ > 15 files changed, 355 insertions(+) > create mode 100644 kas/package/pkg_prebuilt-docker-img.yaml > create mode 100644 kas/package/pkg_prebuilt-podman-img.yaml > create mode 100644 meta-isar/recipes-app/prebuilt- > container/prebuilt-docker-img_0.1.bb > create mode 100644 meta-isar/recipes-app/prebuilt- > container/prebuilt-podman-img_0.1.bb > create mode 100644 meta/lib/container_fetcher.py > create mode 100644 meta/recipes-support/container-loader/container- > loader.inc > create mode 100644 meta/recipes-support/container-loader/docker- > loader.inc > create mode 100644 meta/recipes-support/container- > loader/files/container-loader.service.tmpl > create mode 100755 meta/recipes-support/container- > loader/files/container-loader.sh.tmpl > create mode 100644 meta/recipes-support/container-loader/podman- > loader.inc > > -- > 2.43.0 > Applied to next (w/o patch 4 for CI), thanks.