diff --git a/meta-digi-containers/README.md b/meta-digi-containers/README.md index 5fb637099..a6171f6b1 100644 --- a/meta-digi-containers/README.md +++ b/meta-digi-containers/README.md @@ -4,8 +4,9 @@ Yocto layer for Digi container-focused image generation and packaging. This layer provides: -- `dey-image-container` to generate container artifacts -- `dey-image-container-manager` to run and manage Podman/LXC containers on target +- `dey-image-dcp`: generates Digi Container Package (DCP) artifacts +- `dey-image-containers`: generates a minimal root file system with the Container +Manager and everything it requires to run and manage containers `cc-container-mng` depends on the container runtime packages listed in `CONTAINERS_BACKEND_TOOLS`, which defaults to `podman lxc`. Override it to select @@ -17,14 +18,14 @@ CONTAINERS_BACKEND_TOOLS = "podman-trimmed" CONTAINERS_BACKEND_TOOLS = "lxc" ``` -`dey-image-container-manager` overrides `CONTAINERS_BACKEND_TOOLS` to install +`dey-image-containers` overrides `CONTAINERS_BACKEND_TOOLS` to install the trimmed runtime packages to keep the image smaller. -The layer explicitly depends on `meta-virtualization`, and -`dey-image-container-manager` -requires `DISTRO_FEATURES:append = " virtualization"` in `local.conf`. +The layer explicitly depends on `meta-virtualization`. +`dey-image-dcp` and`dey-image-containers` requires +`DISTRO_FEATURES:append = " virtualization"` in `local.conf`. -The `dey-image-container` workflow produces: +The `dey-image-dcp` workflow produces: - A base rootfs (`tar.xz`) - An OCI image output @@ -114,7 +115,7 @@ In those manifests: - `registration_defaults` is limited to local manager policy such as `autostart`, `monitor`, and `restart`; this release does not generate DRM-specific defaults -`dey-image-container-manager` also overrides the manager persistent base path +`dey-image-containers` also overrides the manager persistent base path through `CC_CONTAINER_PATH`, which defaults to `${ROOT_HOME}/cc-container` in the Digi platform defaults. This makes the effective target paths live under `/root/cc-container` in DEY images, while the upstream `cc-container-mng` @@ -124,15 +125,15 @@ project keeps `/opt/cc-container` as its built-in default. Main recipes: -- `recipes-core/images/dey-image-container.bb` -- `recipes-core/images/dey-image-container-manager.bb` +- `recipes-core/images/dey-image-dcp.bb` +- `recipes-core/images/dey-image-containers.bb` Recipe includes: -- `dey-image-container-fragments.inc` -- `dey-image-container-lxc.inc` -- `dey-image-container-podman.inc` -- `dey-image-container-artifact.inc` +- `dey-image-dcp-fragments.inc` +- `dey-image-dcp-lxc.inc` +- `dey-image-dcp-podman.inc` +- `dey-image-dcp-artifact.inc` Container support files: @@ -168,12 +169,12 @@ CONTAINER_NAME = "webkit-example" # PODMAN_TAG defaults to "${CONTAINER_NAME}-tag" ``` -If `CONTAINER_TYPE` is not set, `dey-image-container` now defaults to `lvgl`. +If `CONTAINER_TYPE` is not set, `dey-image-dcp` now defaults to `lvgl`. Build: ```bash -bitbake dey-image-container +bitbake dey-image-dcp ``` Outputs are generated in: @@ -191,13 +192,14 @@ Notes: manifest does not provide one explicitly. In that default case it appends a base36-encoded millisecond timestamp suffix, stores the generated `package_id` in the final `manifest.json`, and uses it in the DCP file name. -- In Yocto builds, `dey-image-container` keeps that unique-name behavior and +- In Yocto builds, `dey-image-dcp` keeps that unique-name behavior and removes older DCP artifacts with the same `${CONTAINER_NAME}` prefix before generating the new one, so the deploy directory does not keep accumulating previous builds of the same container/runtime. -Intermediate outputs generated during the build (LXC bundle, Podman archive, OCI/rootfs files) -are removed automatically at the end of artifact creation. +Intermediate rootfs and OCI outputs are kept available for incremental rebuilds. +The LXC bundle and Podman archive are generated as temporary payloads while +creating the final DCP artifacts, then removed at the end of artifact creation. ## Profiles @@ -362,4 +364,5 @@ To create a new profile: ## Notes - Intermediate container artifacts from the current build are removed at the end of the artifact task. -- If `dey-image-container` is not found, verify the layer is present in `BBLAYERS`. +- If `dey-image-dcp` or `dey-image-containers` is not found, verify the layer is present in `BBLAYERS` +and `DISTRO_FEATURES:append = " virtualization"` is defined in `local.conf`. diff --git a/meta-digi-containers/recipes-containers/lxc/lxc-trimmed_git.bb b/meta-digi-containers/recipes-containers/lxc/lxc-trimmed_git.bb index f4d8aa587..50785fc1d 100644 --- a/meta-digi-containers/recipes-containers/lxc/lxc-trimmed_git.bb +++ b/meta-digi-containers/recipes-containers/lxc/lxc-trimmed_git.bb @@ -4,7 +4,7 @@ FILESEXTRAPATHS:prepend := "${COREBASE}/../meta-virtualization/recipes-container require recipes-containers/lxc/lxc_git.bb -DESCRIPTION = "Trimmed LXC runtime for dey-image-container-manager" +DESCRIPTION = "Trimmed LXC runtime for dey-image-containers" FILES:${PN} += "${libdir}/lxc/rootfs" diff --git a/meta-digi-containers/recipes-containers/podman/podman-trimmed_git.bb b/meta-digi-containers/recipes-containers/podman/podman-trimmed_git.bb index 2333383b2..0dd77c3cf 100644 --- a/meta-digi-containers/recipes-containers/podman/podman-trimmed_git.bb +++ b/meta-digi-containers/recipes-containers/podman/podman-trimmed_git.bb @@ -4,7 +4,7 @@ FILESEXTRAPATHS:prepend := "${COREBASE}/../meta-virtualization/recipes-container require recipes-containers/podman/podman_git.bb -DESCRIPTION = "Trimmed Podman runtime for dey-image-container-manager" +DESCRIPTION = "Trimmed Podman runtime for dey-image-containers" # Enable Podman bridge networking with netavark VIRTUAL-RUNTIME_container_networking = "netavark" diff --git a/meta-digi-containers/recipes-core/images/dey-image-container-manager-swu.bb b/meta-digi-containers/recipes-core/images/dey-image-containers-swu.bb similarity index 82% rename from meta-digi-containers/recipes-core/images/dey-image-container-manager-swu.bb rename to meta-digi-containers/recipes-core/images/dey-image-containers-swu.bb index a9a265090..b0d087878 100644 --- a/meta-digi-containers/recipes-core/images/dey-image-container-manager-swu.bb +++ b/meta-digi-containers/recipes-core/images/dey-image-containers-swu.bb @@ -6,4 +6,4 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/../../../meta-digi-dey/recipes-digi/swu-i require recipes-digi/swu-images/swu.inc -IMG_NAME = "dey-image-container-manager" +IMG_NAME = "dey-image-containers" diff --git a/meta-digi-containers/recipes-core/images/dey-image-container-manager.bb b/meta-digi-containers/recipes-core/images/dey-image-containers.bb similarity index 97% rename from meta-digi-containers/recipes-core/images/dey-image-container-manager.bb rename to meta-digi-containers/recipes-core/images/dey-image-containers.bb index e7049de7a..b4f236148 100644 --- a/meta-digi-containers/recipes-core/images/dey-image-container-manager.bb +++ b/meta-digi-containers/recipes-core/images/dey-image-containers.bb @@ -1,7 +1,7 @@ # # Copyright (C) 2026, Digi International Inc. # -DESCRIPTION = "Minimal DEY container manager image" +DESCRIPTION = "Minimal DEY containers image" LICENSE = "MIT" diff --git a/meta-digi-containers/recipes-core/images/dey-image-container-artifact.inc b/meta-digi-containers/recipes-core/images/dey-image-dcp-artifact.inc similarity index 99% rename from meta-digi-containers/recipes-core/images/dey-image-container-artifact.inc rename to meta-digi-containers/recipes-core/images/dey-image-dcp-artifact.inc index 16bf05e3d..784e54505 100644 --- a/meta-digi-containers/recipes-core/images/dey-image-container-artifact.inc +++ b/meta-digi-containers/recipes-core/images/dey-image-dcp-artifact.inc @@ -30,7 +30,7 @@ do_image_container_artifacts() { image_prefix="${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}" mkdir -p "${T}" export TMPDIR="${T}" - workdir="$(mktemp -d "${T}/dey-image-container-artifact.XXXXXX")" + workdir="$(mktemp -d "${T}/dey-image-dcp-artifact.XXXXXX")" cleanup_workdir() { rm -rf "${workdir}" } diff --git a/meta-digi-containers/recipes-core/images/dey-image-container-fragments.inc b/meta-digi-containers/recipes-core/images/dey-image-dcp-fragments.inc similarity index 100% rename from meta-digi-containers/recipes-core/images/dey-image-container-fragments.inc rename to meta-digi-containers/recipes-core/images/dey-image-dcp-fragments.inc diff --git a/meta-digi-containers/recipes-core/images/dey-image-container-lxc.inc b/meta-digi-containers/recipes-core/images/dey-image-dcp-lxc.inc similarity index 96% rename from meta-digi-containers/recipes-core/images/dey-image-container-lxc.inc rename to meta-digi-containers/recipes-core/images/dey-image-dcp-lxc.inc index 81c7a96e7..3553beaed 100644 --- a/meta-digi-containers/recipes-core/images/dey-image-container-lxc.inc +++ b/meta-digi-containers/recipes-core/images/dey-image-dcp-lxc.inc @@ -12,7 +12,7 @@ do_image_lxc_bundle() { lxc_tar="${DEPLOY_DIR_IMAGE}/${LXC_OUTPUT_NAME}" mkdir -p "${T}" export TMPDIR="${T}" - workdir="$(mktemp -d "${T}/dey-image-container-lxc.XXXXXX")" + workdir="$(mktemp -d "${T}/dey-image-dcp-lxc.XXXXXX")" cleanup_workdir() { rm -rf "${workdir}" } diff --git a/meta-digi-containers/recipes-core/images/dey-image-container-podman.inc b/meta-digi-containers/recipes-core/images/dey-image-dcp-podman.inc similarity index 100% rename from meta-digi-containers/recipes-core/images/dey-image-container-podman.inc rename to meta-digi-containers/recipes-core/images/dey-image-dcp-podman.inc diff --git a/meta-digi-containers/recipes-core/images/dey-image-container.bb b/meta-digi-containers/recipes-core/images/dey-image-dcp.bb similarity index 97% rename from meta-digi-containers/recipes-core/images/dey-image-container.bb rename to meta-digi-containers/recipes-core/images/dey-image-dcp.bb index 1df94774c..8d413d47b 100644 --- a/meta-digi-containers/recipes-core/images/dey-image-container.bb +++ b/meta-digi-containers/recipes-core/images/dey-image-dcp.bb @@ -1,12 +1,12 @@ # Copyright (C) 2026, Digi International Inc. -SUMMARY = "Minimal LXC container image" +SUMMARY = "Recipe to build Digi Container Packages (DCP) in LXC and Podman/Docker variants" LICENSE = "MIT" -require dey-image-container-artifact.inc -require dey-image-container-fragments.inc -require dey-image-container-lxc.inc -require dey-image-container-podman.inc +require dey-image-dcp-artifact.inc +require dey-image-dcp-fragments.inc +require dey-image-dcp-lxc.inc +require dey-image-dcp-podman.inc inherit core-image image-container image-oci