Skip to content

Automotive Image Builder manifests

The Automotive SIG maintains two collections of automotive-image-builder manifests that you can use to better understand the requisite YAML syntax, and for you to build and modify yourself:

  • The sig-docs/demos which includes all the manifests present in this documentation site. These images are built and tested nightly, and when changes are merged to Automotive Image Builder itself.
  • The sample-images repos which includes a collection of manifests. These images are not regularly tested and while most of them are included in sig-docs/demos there may still be interesting manifests examples.

mpp.yml vs aib.yml

As you browse through the example manifests you might notice two types of manifests, some ending with .mpp.yml and some ending with .aib.yml. They reflect an evolution to the manifest format:

  • The .mpp.yml manifests use the first-generation format, which is complex, error-prone, and cumbersome to edit manually.
  • The above complex format has been replaced by a “simplified” format which has a limited and clearly defined set of capabilities documented at Automotive Image Builder manifest format. This format requires the .aib.yml file extension. It is the format that is used in this documentation and the format that we strongly encourage you to use.

Tuning options in the manifest

An Automotive Image Builder manifest specifies the build configuration of your image. To create an immutable AutoSD OS image, you must define configurable options exclusively in your manifest file.

The simple manifest schema is the authoritative reference that lists the configuration details of all tunable options. If an option does not appear in the schema, then its value is constant and cannot be changed in a manifest.

Manifest sections at a glance

An .aib.yml manifest contains the following top-level sections. For detailed usage and examples, see Creating a custom manifest.

  • name (required) – The name of the manifest. Every manifest must include a name.
  • version (optional) – The image version string. When set, Automotive Image Builder uses the value as the OS version in the OSTree commit and writes it to /etc/build-info as IMAGE_VERSION.
  • target (optional) – The default hardware target for the build. Overridden by the --target command-line option.
  • content (optional) – Defines the image content, including RPM packages (rpms), additional dnf repositories (repos), predefined repository activation (enable_repos), files, container images (with multi-architecture manifest-list support via container_images[].index), symbolic links, file permissions, and systemd service configuration. See Manipulating content and files for details.
  • auth (optional) – Configures users, groups, SSH keys, and the root password. User accounts support force_password_reset and expiredate options for temporary or security-sensitive accounts. See Authentication and users for details.
  • kernel (optional) – Kernel options including extra command-line parameters, custom kernel packages, and module removal. See Kernel options for details.
  • image (optional) – Global image options including total image size, sealed mode, SELinux configuration, configurable boot checks, disk partition sizing (image.partitions), hostname (image.hostname), and OSTree ref override (image.ostree_ref). See Image and SELinux configuration and Partition options for details.
  • qm (optional) – Defines the QM partition content and resource limits for non-critical workloads. The qm.content section accepts the same options as the top-level content section. Additional QM-specific options include memory_limit (systemd MemoryMax and MemoryHigh), cpu_weight (systemd CPUWeight, 1–100 or "idle"), and container_checksum (optional container digest validated at boot).
  • network (optional) – Network configuration, either dynamic (default, using NetworkManager) or static with a fixed IP address. See Network configuration for details.
  • experimental (optional) – Internal options that are unsupported and may change without warning. Not intended for user consumption.

© Red Hat