meta-digi-containers: add dey-image-container-manager image

Add the dey-image-container-manager image recipe to provide a
dedicated DEY image for container management using the trimmed LXC
and Podman runtimes from meta-digi-containers.

https://onedigi.atlassian.net/browse/DEL-9996

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit is contained in:
Isaac Hermida 2026-03-11 13:00:52 +01:00
parent 17a6ba59cd
commit 4f58ce26e9
1 changed files with 85 additions and 0 deletions

View File

@ -0,0 +1,85 @@
#
# Copyright (C) 2026, Digi International Inc.
#
DESCRIPTION = "Minimal DEY container manager image"
LICENSE = "MIT"
IMAGE_LINGUAS = ""
inherit image
inherit dey-image
inherit features_check
REQUIRED_DISTRO_FEATURES = "virtualization"
# Keep machine recommendations in sync with the BSP.
CONTAINER_MANAGER_MACHINE_EXTRA_RRECOMMENDS_EXCLUDE = " \
${MACHINE_FIRMWARE} \
${UDEV_EXTRA_RULES} \
"
# Remove kernel-image-* from the list, as adding them
# explicitly breaks STM rootfs generation.
CONTAINER_MANAGER_MACHINE_EXTRA_RRECOMMENDS = "${@' '.join( \
dict.fromkeys( \
pkg for pkg in d.getVar('MACHINE_EXTRA_RRECOMMENDS').split() \
if not pkg.startswith('kernel-image-') \
and pkg not in d.getVar( \
'CONTAINER_MANAGER_MACHINE_EXTRA_RRECOMMENDS_EXCLUDE').split()))}"
# Device core support
CORE_ESSENTIALS = " \
base-files \
base-passwd \
bluez5-init \
busybox \
ca-certificates \
cryptodev-module \
firmwared \
libubootenv-bin \
udev \
${MACHINE_ESSENTIAL_EXTRA_RDEPENDS} \
${MACHINE_EXTRA_RDEPENDS} \
${CONTAINER_MANAGER_MACHINE_EXTRA_RRECOMMENDS} \
${MACHINE_FIRMWARE} \
${UDEV_EXTRA_RULES} \
${VIRTUAL-RUNTIME_init_manager} \
"
# Tools and libraries
CORE_TOOLS = " \
bluez5 \
dropbear \
ethtool \
init-ifupdown \
iproute2 \
iw \
libdigiapix \
libgpiod \
libgpiod-tools \
ncurses-terminfo-base \
netbase \
networkmanager \
networkmanager-nmcli \
networkmanager-wifi \
os-release \
openssl \
packagegroup-dey-audio \
sysinfo \
vsftpd \
"
# Tools to manage containers
CONTAINER_MANAGEMENT = " \
lxc-trimmed \
podman-trimmed \
"
NO_RECOMMENDATIONS = "1"
IMAGE_INSTALL = " \
${CORE_ESSENTIALS} \
${CORE_TOOLS} \
${CONTAINER_MANAGEMENT} \
"