Choosing Flavors
A Garden Linux flavor is a pre-composed combination of a platform target (e.g. aws, baremetal) and one or more features (e.g. gardener, _prod, _fips). The flavor name encodes both: <platform>-<feature1>_<feature2> (e.g. aws-gardener_prod).
This guide walks you through selecting the right flavor in four steps. For background on how flavors work, see Flavors. For the complete list of all published flavors, see the Flavor Matrix.
Step 1: Identify Your Use Case
Determine which of the primary Garden Linux use cases matches your workload. Each use case maps to a specific feature set.
| Use Case | Key Features | Go To |
|---|---|---|
| Gardener-managed Kubernetes nodes | gardener, _prod | Gardener Kubernetes Nodes |
| Bare-metal Gardener nodes via IronCore (Cluster API) | capi | Bare-Metal via IronCore |
| Vanilla (non-Gardener) Kubernetes nodes | khost | Vanilla Kubernetes Nodes |
| OCI container base image | container or bare-* | Container Base Images |
| KVM/libvirt virtualization host | vhost | Virtualization Host |
If no existing use case matches, you can compose a custom flavor. See Building Images for instructions.
Step 2: Determine Your Target Platform
The platform identifies the hardware or cloud environment where the image runs. Choose the platform that corresponds to your infrastructure.
| Platform | Category | Description |
|---|---|---|
aws | Public cloud | Amazon Web Services EC2 |
azure | Public cloud | Microsoft Azure Virtual Machines |
gcp | Public cloud | Google Cloud Platform Compute Engine |
openstack | Private cloud | OpenStack-based private cloud or hosted OpenStack |
vmware | Hypervisor | VMware vSphere / ESXi |
kvm | Hypervisor | KVM/QEMU-based virtualization |
baremetal | Bare-metal | Physical servers, PXE boot, IronCore |
container | Container | Full OCI base images (Docker, Podman, containerd) |
lima | Local dev | Lima-based local development on Linux and macOS |
One platform per flavor
Each flavor must target exactly one platform. The build system enforces this by default — specifying zero or multiple platforms causes the build to fail. See ADR 0020 for the rationale and opt-in override.
For the full list of platform targets and their YAML schema, see Flavors Reference.
Step 3: Select Features
Features extend the base platform with additional capabilities. The most common features are listed below.
| Feature | Description |
|---|---|
gardener | Installs containerd for Gardener-managed Kubernetes; systemd unit disabled at build time and enabled by Gardener at runtime |
_prod | Production hardening: disables debug tooling and applies security defaults |
khost | Installs containerd for vanilla (non-Gardener) Kubernetes |
vhost | Installs KVM kernel modules and libvirt for use as a hypervisor host |
capi | Cluster API support for bare-metal provisioning via IronCore |
_fips | FIPS 140-2 compliant cryptography |
_usi | Boot using a UKI with embedded EROFS root disk |
_trustedboot | Trusted Boot: validates the entire boot chain including the rootfs (requires _tpm2 for persistent storage) |
_tpm2 | TPM 2.0 sealed disk encryption for /var, bound to the Secure Boot certificate chain (see Boot Modes: Mutable Data) |
Step 4: Look Up the Flavor Name
Once you have a platform and feature set, look up the exact flavor name and confirm it is published.
- Common flavors by use case: The Use Cases page includes a "Recommended Flavors" table under each use case section.
- Complete flavor list: The Flavor Matrix lists every flavor built from
flavors.yaml, with their resolved feature dependencies, architectures, and publication status.
How features are joined into a flavor name
Garden Linux uses the CNAME system to construct canonical flavor names.
Example: Choosing a Gardener Flavor on AWS
The following walkthrough illustrates all four steps for a common scenario.
- Use case: Gardener-managed Kubernetes worker nodes.
- Platform:
aws. - Features:
gardener(required for Gardener integration) and_prod(production hardening). - Flavor name:
aws-gardener_prod
To obtain the image for this flavor, see Getting Images.
TIP
The Flavor Matrix gives you an overview of pre-built flavors and the exact recursive features they contain.