mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-05 05:15:25 +02:00
conf: introduce container configuration values
From the configuration file itself: These variables represent groupings of functionality in the CNCF landscape. In particular, they are areas where there is a choice between more than one implementation or an area where abstraction is beneficial. The contents of the variables are are runtime components that recipes may use for RDEPENDS. Build dependencies are not typically flexible, so do not currently have DEPENDS equivalents for the components (i.e. DEPENDS on runc versus crun). Distro features such as kubernetes or other container stacks can be used to set different defaults for these variables. Note: these are "global" values, since they represent choices. If more than of a grouping is required on target, then the variable can be appended or set to multiple values. That being said, Recipes should generally agree on the values, hence the global namespace. Recipe specific choices can still be done, but they risk conflicting on target or causing runtime issues / errors. ## CNCF "components" # engines: docker-ce/docker-moby, virtual-containerd, cri-o, podman VIRTUAL-RUNTIME_container_engine ??= "podman" # runtime: runc, crun, runv, runx VIRTUAL-RUNTIME_container_runtime ??= "virtual-runc" # networking: cni, netavark VIRTUAL-RUNTIME_container_networking ??= "cni" # dns: cni, aardvark-dns VIRTUAL-RUNTIME_container_dns ??= "cni" # orchestration: k8s, k3s VIRTUAL-RUNTIME_container_orchestration ??= "k3s" ## Kubernetes terminology "components" VIRTUAL-RUNTIME_cri ??= "containerd" VIRTUAL-RUNTIME_cni ??= "cni" Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
parent
a8e46c6e1f
commit
534e8b6ed7
6
classes/meta-virt-container-cfg.bbclass
Normal file
6
classes/meta-virt-container-cfg.bbclass
Normal file
|
@ -0,0 +1,6 @@
|
|||
# We need to set the Xen meta-virt config components, only if "xen"
|
||||
# is in the distro features. Since we don't know the distro flags during
|
||||
# layer.conf load time, we delay using a special bbclass that simply includes
|
||||
# the META_VIRT_CONTAINER_CONFIG_PATH file.
|
||||
|
||||
include ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', '${META_VIRT_CONTAINER_CONFIG_PATH}', '', d)}
|
40
conf/distro/include/meta-virt-container.inc
Normal file
40
conf/distro/include/meta-virt-container.inc
Normal file
|
@ -0,0 +1,40 @@
|
|||
# These variables represent groupings of functionality in the CNCF
|
||||
# landscape. In particular, they are areas where there is a choice
|
||||
# between more than one implementation or an area where abstraction
|
||||
# is beneficial.
|
||||
#
|
||||
# The contents of the variables are are runtime components that
|
||||
# recipes may use for RDEPENDS.
|
||||
#
|
||||
# Build dependencies are not typically flexible, so do not currently
|
||||
# have DEPENDS equivalents for the components (i.e. DEPENDS on runc
|
||||
# versus crun).
|
||||
#
|
||||
# Distro features such as kubernetes or other container stacks
|
||||
# can be used to set different defaults for these variables.
|
||||
#
|
||||
# Note: these are "global" values, since they represent choices.
|
||||
# If more than of a grouping is required on target, then the variable
|
||||
# can be appended or set to multiple values. That being said, Recipes
|
||||
# should generally agree on the values, hence the global namespace.
|
||||
# Recipe specific choices can still be done, but they risk
|
||||
# conflicting on target or causing runtime issues / errors.
|
||||
#
|
||||
|
||||
## CNCF "components"
|
||||
|
||||
# engines: docker-ce/docker-moby, virtual-containerd, cri-o, podman
|
||||
VIRTUAL-RUNTIME_container_engine ??= "podman"
|
||||
# runtime: runc, crun, runv, runx
|
||||
VIRTUAL-RUNTIME_container_runtime ??= "virtual-runc"
|
||||
# networking: cni, netavark
|
||||
VIRTUAL-RUNTIME_container_networking ??= "cni"
|
||||
# dns: cni, aardvark-dns
|
||||
VIRTUAL-RUNTIME_container_dns ??= "cni"
|
||||
# orchestration: k8s, k3s
|
||||
VIRTUAL-RUNTIME_container_orchestration ??= "k3s"
|
||||
|
||||
## Kubernetes terminology "components"
|
||||
|
||||
VIRTUAL-RUNTIME_cri ??= "virtual-containerd"
|
||||
VIRTUAL-RUNTIME_cni ??= "cni"
|
|
@ -52,9 +52,11 @@ INHERIT += "sanity-meta-virt"
|
|||
# layer.conf load time, we delay using a special bbclass that simply includes
|
||||
# the META_VIRT_CONFIG_PATH file, and likewise for the Xen and k8s configs
|
||||
META_VIRT_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-virt-default-versions.inc"
|
||||
META_VIRT_CONTAINER_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-virt-container.inc"
|
||||
META_VIRT_XEN_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-virt-xen.inc"
|
||||
K8S_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/k8s-versions.inc"
|
||||
USER_CLASSES:append = " meta-virt-cfg"
|
||||
USER_CLASSES:append = " meta-virt-container-cfg"
|
||||
USER_CLASSES:append = " meta-virt-k8s-cfg"
|
||||
USER_CLASSES:append = " meta-virt-xen-cfg"
|
||||
USER_CLASSES:append = " meta-virt-hosts"
|
||||
|
|
Loading…
Reference in New Issue
Block a user