public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: "'Jan Kiszka' via isar-users" <isar-users@googlegroups.com>
To: isar-users <isar-users@googlegroups.com>
Cc: Silvano Cirujano-Cuesta <silvano.cirujano-cuesta@siemens.com>,
	Benedikt Niedermayr <benedikt.niedermayr@siemens.com>,
	Felix Moessbauer <felix.moessbauer@siemens.com>
Subject: [PATCH v4 0/5] Introduce container fetcher and pre-loader
Date: Fri, 19 Jul 2024 18:38:38 +0200	[thread overview]
Message-ID: <cover.1721407122.git.jan.kiszka@siemens.com> (raw)

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

-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/isar-users/cover.1721407122.git.jan.kiszka%40siemens.com.

             reply	other threads:[~2024-07-19 16:38 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-19 16:38 'Jan Kiszka' via isar-users [this message]
2024-07-19 16:38 ` [PATCH v4 1/5] Introduce fetcher from container registries 'Jan Kiszka' via isar-users
2024-07-25 10:48   ` 'Niedermayr, BENEDIKT' via isar-users
2024-07-25 11:10     ` 'Niedermayr, BENEDIKT' via isar-users
2024-07-19 16:38 ` [PATCH v4 2/5] container-loader: Introduce helper to load container images into local registry 'Jan Kiszka' via isar-users
2024-07-19 16:38 ` [PATCH v4 3/5] meta-isar: Add demo packages for installing prebuilt containers 'Jan Kiszka' via isar-users
2024-07-19 16:38 ` [PATCH v4 4/5] ci: Add test cases for container fetching and loading 'Jan Kiszka' via isar-users
2024-07-30  7:44   ` Uladzimir Bely
2024-07-30 21:45     ` 'Jan Kiszka' via isar-users
2024-08-05  7:20       ` Uladzimir Bely
2024-07-19 16:38 ` [PATCH v4 5/5] doc: Describe how to use the container fetcher and loader 'Jan Kiszka' via isar-users
2024-08-08  6:35 ` [PATCH v4 0/5] Introduce container fetcher and pre-loader Uladzimir Bely

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1721407122.git.jan.kiszka@siemens.com \
    --to=isar-users@googlegroups.com \
    --cc=benedikt.niedermayr@siemens.com \
    --cc=felix.moessbauer@siemens.com \
    --cc=jan.kiszka@siemens.com \
    --cc=silvano.cirujano-cuesta@siemens.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox