2) Define a new packagegroup packagegroup-sdv-airgap-containers that includes all the recipes based on the sdv-container-cache bbclass which download and copy the container the tar-files to ${D}/data/var/containers/images. This packagegroup is only included in the sdv-image-data image if the new distro feature is enabled
3) Create a script and systemd oneshot service that get installed as part of the "core package group" only if the distro feature is enabled:
The airgap-container-installer script goes through the directory containing the pre-downloaded tar files and invokes ctr image load to load the image into containerd's registry.
Since the import is slow (even for images that have already been imported), after ctr image import the name of the tar file is logged in a "lock" file.
Images logged in the lock are skipped on subsequent runs of the script (improves subsequent boot times 20 s vs < 1s)
Other
The bitbake recipes for downloading the tar archives have been updated to reflect the images described in the kanto-manifests
Otel exported/agent have been skipped for now, since their manifests are not ready yet
We need to be able to install containers in a no-internet environment. The current PR sets-up a mechanism to do so.
Concept
1) Define a new distro-feature and a BitBake variable pointing to the location of the pre-downloaded images in the final distro:
2) Define a new packagegroup
packagegroup-sdv-airgap-containers
that includes all the recipes based on thesdv-container-cache
bbclass which download and copy the container the tar-files to${D}/data/var/containers/images
. This packagegroup is only included in the sdv-image-data image if the new distro feature is enabled3) Create a script and systemd oneshot service that get installed as part of the "core package group" only if the distro feature is enabled:
airgap-container-installer
script goes through the directory containing the pre-downloaded tar files and invokesctr image load
to load the image into containerd's registry.ctr image import
the name of the tar file is logged in a "lock" file.Other