Skip to content

Flavors Configuration Reference

This document provides complete, authoritative reference for the flavors.yaml file format used in Garden Linux builds.

File Structure

The complete schema is organized hierarchically:

yaml
targets:
  - name: string
    category: enum
    flavors: array

Target Object

Each target defines a platform or environment for Garden Linux images.

Fields

name (string, required) : The identifier for this target. Used in CNAME generation, workflow steps, and artifact naming.

category (enum, required) : Organizational category for the target. One of:`

  • public-cloud - Major cloud providers
  • container - Container base images
  • baremetal - Physical server deployments
  • hypervisor - Virtualization platforms

flavors (array, required) : Array of flavor configurations for this target

Target List

All available targets are listed below:

NameCategoryPlatform
alipublic-cloudAlibaba Cloud
awspublic-cloudAmazon Web Services
azurepublic-cloudMicrosoft Azure
barecontainerBare container base
containercontainerFull container base
gcppublic-cloudGoogle Cloud Platform
gdchpublic-cloudGoogle Distributed Cloud Hosted
kvmhypervisorKVM virtualization
baremetalbaremetalBare metal deployment
openstackpublic-cloudOpenStack integration
vmwarehypervisorVMware virtualization
limahypervisorLima for macOS

Flavor Object

Each flavor defines a specific image variant for its target.

Fields

features (array of strings, required, non-empty) : Feature identifiers to include in this flavor. Features combine to define image capabilities.

arch (enum, required) : CPU architecture. One of:

  • amd64
  • arm64

build (boolean, required) : Whether to include this flavor in the build pipeline.

  • true: Build the image
  • false: Skip building

test (boolean, required) : Whether to run automated tests on this image.

  • true: Execute test suite (chroot, qemu, oci)
  • false: Skip testing

test-platform (boolean, required) : Whether to run automated cloud platform tests on this image.

  • true: Execute test suite (cloud)
  • false: Not used as test platform

publish (boolean, required) : Whether to distribute this flavor publicly.

  • true: Publish to S3, GHCR, GitHub releases
  • false: Build and test only, do not distribute

INFO

Flavors with publish: false are still available as GitHub workflow artifacts for internal testing.

Feature List

A complete list of all available features can be looked up in the Features Reference

gl-flavors-parse Tool

The gl-flavors-parse command-line tool parses flavors.yaml and generates filtered output matrices. It's details can be looked up in the Python Library Command-lin Interface

bash
# Generate build matrix for publishable flavors
gl-flavors-parse --publish --json-by-arch