Manifest

Type: object

The automotive-image-builder format describes how to build an OS image, with options like what content (files, packages, containers) to install as well as detailed configuration options.

No Additional Properties

Type: string

The name of the manifest

Type: string

The version of the manifest. If set, this is used as the "os version" in the ostree commit and will be available as IMAGE_VERSION in /etc/build-info.

Type: object

The content to add to the rootfs, such as packages, files and container images, and systemd services.

No Additional Properties

Type: array of string

A list of rpms to install. The packages will be installed from the default repositores, but can be extended with the enable_repos and repos options.

The package names can optionally contain version, but otherwise the repo priorities and available versions will be used to chose a version.

No Additional Items

Each item of this array must be:

Type: string

Type: array of enum (of string)

Enable named predefined default repos which are not on by default.

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "debug"
  • "devel"

Type: array

A list of additional dnf repositories to use when installing packages

No Additional Items

Each item of this array must be:

Type: object

A dnf repository to install rpms from

No Additional Properties

Type: string

The id to use for this repo in the configuration

Type: string

The url to the repo, or a pathname to a local repository

Type: integer

The priority of the repo

Type: array

A list of container images to embedd into the image

No Additional Items

Each item of this array must be:

Type: object

A container image reference to install

No Additional Properties

Type: string

The container image name, for example quay.io/fedora/fedora.

Type: string Default: "latest"

The tag to use in the repository

Type: string

Use a specific version of the image specified by digest

Type: string

The name to use for the container image when embedded (if not set, same as source)

Type: enum (of string)

The containers transport from which to copy the container. (fusa: containers-storage is not allowed with fusa)

Must be one of:

  • "docker"
  • "containers-storage"

Type: boolean

If set to true, also install the related manifest-list for the image.

Type: array

Add regular files (inline or from local file / url) to the image

No Additional Items

Each item of this array must be:

Type: object

Type: object

Add local file

No Additional Properties

Type: string

The absolute destination pathname of the added file.

Must match regular expression: ^\/?(?!\.\.)((?!\/\.\.\/).)+$

Type: string

The local (absolute or relative to manifest) path of the file to add

Type: object

Add file from a http url

No Additional Properties

Type: string

The absolute destination pathname of the added file.

Same definition as path

Type: string

The url of the file to add

Type: object

Create file from inline data

No Additional Properties

Type: string

The absolute destination pathname of the added file.

Same definition as path

Type: string

Embedded text content to use for the added file

Type: array
No Additional Items

Each item of this array must be:

Type: object

Change file permissions

No Additional Properties

Type: string

The absolute pathname of the file to change

Same definition as path

Type: string

Symbolic or numeric octal mode

Type: array
No Additional Items

Each item of this array must be:

Type: object

Change owner and/or group of installed files

No Additional Properties

Type: object

The following properties are required:

  • path
  • user
Type: object

The following properties are required:

  • path
  • group

Type: string

The absolute pathname of the file to change

Same definition as path

Type: object

User name or id

Type: string
Must match regular expression: ^[A-Za-z0-9_.][A-Za-z0-9_.-]{0,31}$
Type: number

Value must be greater or equal to 0

Type: object

Group name or id

Type: string
Must match regular expression: ^[A-Za-z0-9_.][A-Za-z0-9_.-]{0,31}$
Type: number

Value must be greater or equal to 0

Type: boolean Default: false

Change ownership recursively

Type: array
No Additional Items

Each item of this array must be:

Type: object

Remove an installed file

No Additional Properties

Type: string

The absolute pathname of the file to remove

Same definition as path

Type: array
No Additional Items

Each item of this array must be:

Type: object

Create a directory

No Additional Properties

Type: string

The absolute pathname of the directory to create

Same definition as path

Type: boolean

If true, parent directories are created if needed

Type: boolean

If true, don't fail if directory exists

Type: object

Configure what systemd services are to be running other than the default ones.

No Additional Properties

Type: array of string

List of systemd services to enable

No Additional Items

Each item of this array must be:

Type: array of string

List of systemd services to disable

No Additional Items

Each item of this array must be:

Type: object

If this section is included then a separate QM partion will be created in the image with the defined content.

No Additional Properties

Type: object

The content to add to the qm partition

Same definition as content

Type: object
No Additional Properties

Type: string

MemoryMax for QM partition (see systemd.resource-control manpage)

Type: string

MemoryHigh for QM partition (see systemd.resource-control manpage)


CPUWeight for the QM partition (see systemd.resource-control manpage)

Type: enum (of string)

Must be one of:

  • "idle"
Type: integer

Value must be greater or equal to 1 and lesser or equal to 100

Type: string

Optional container digest that is validated at boot

Type: object Default: {"dynamic": {}}

Define the Network setup, which can be of two types, dynamic or static, the default is dynamic

No Additional Properties

Type: object

Use static network setup

No Additional Properties

Type: string

The ip address for this node, for example 10.0.2.15.

Type: number

The ip prefix length for the local network, for example 24 for a 255.255.255.0 netmask.

Type: string

The ip address of the default gateway

Type: string

The ip address of the name server to use

Type: string

The hardware interface name to setup for the static ip at boot (for example eth0)

Type: string

Optional name of a kernel module to load at boot for the network support

Type: object

Use network manager for dynamic network setup, currently has no options

Type: object

Configure global options for the image.

No Additional Properties

Type: string

The size of the total image, allows suffixes like "GB" (powers of 1000) or "GiB" (powers of 1024)

Must match regular expression: ^[0-9]+ *(kB|KiB|MB|MiB|GB|GiB|TB|TiB)$

Type: enum (of string) Default: "enforcing"

The selinux mode (enforcing or permissive)

Must be one of:

  • "enforcing"
  • "permissive"

Type: string

The name of the selinux policy to use

Type: object

Disk partition details, like sizes.

No Additional Properties

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: (aboot|boot|efi|vbmeta|sbl)
Type: object
No Additional Properties

Type: string

size of partition (if used)

Must match regular expression: ^[0-9]+ *(kB|KiB|MB|MiB|GB|GiB|TB|TiB)$

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: var
Type: object

Use separate partition for /var

No Additional Properties

Type: number Default: 0.3

Size of /var partition(s) relative to total image size, 0 to disable

Note: This size includes the /var/qm if that is used, see qmrelativesize options.

Value must be greater or equal to 0 and lesser or equal to 1.0

Type: string

Size of /var partition in bytes (with suffix), 0 to disable

Must match regular expression: ^[0-9]+ *(kB|KiB|MB|MiB|GB|GiB|TB|TiB)$

Type: boolean

The /var partition is on an external device (not an image parition)

Type: object

The uuid of the partition

Must match regular expression: ^[0-9A-Za-z]{8}(-[0-9A-Za-z]{4}){3}-[0-9A-Za-z]{12}$
Example:

"9c6ae55b-cf88-45b8-84e8-64990759f39d"

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: var_qm
Type: object

Use separate partition for /var/qm

No Additional Properties

Type: number Default: 0

Size of /var/qm partition relative to the total /var size as computed by relative_size. 0 to disable.

Note: This is only included if qm is enabled.

Value must be greater or equal to 0 and lesser or equal to 1.0

Type: string

Size of /var/qm partition in bytes (with suffix), 0 to disable.

Note: This is only included if qm is enabled.

Must match regular expression: ^[0-9]+ *(kB|KiB|MB|MiB|GB|GiB|TB|TiB)$

Type: boolean

The /var/qm partition is on an external device (not an image parition)

Type: object

The uuid of the partition

Must match regular expression: ^[0-9A-Za-z]{8}(-[0-9A-Za-z]{4}){3}-[0-9A-Za-z]{12}$
Example:

"9c6ae55b-cf88-45b8-84e8-64990759f39d"

Type: string

The network hostname

Type: string

The name of the os used, as used by OSTree

Type: string

The name of the ostree ref (defaults to $distro_name/$arch/$target-$naem)

Type: object

Configuration related to users, group and authentications.

No Additional Properties

Type: string or null

Roots's encrypted password, as returned by crypt(3), or nothing to disable

Type: array or null

Roots's ssh keys, or nothing to disable

No Additional Items

Type: object

Configuration of ssh daemon

No Additional Properties

Type: boolean

Enable or disable password authentication


Specifies whether root can log in using ssh.

Type: enum (of string)

Must be one of:

  • "prohibit-password"
  • "forced-commands-only"

Type: object

Keys are usernames, values are objects giving user info.

No Additional Properties

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^[A-Za-z0-9_.][A-Za-z0-9_.-]{0,31}$
Type: object
No Additional Properties

Type: array of string

Array of group names for this user

No Additional Items

Each item of this array must be:

Type: string

User account description (or full name)

Type: string

Path to user's home directory

Type: string

User's login shell

Type: string

User's encrypted password, as returned by crypt(3)

Type: string

SSH Public Key to add to ~/.ssh/authorized_keys

Type: array of string

Array of SSH Public Keys to add to ~/.ssh/authorized_keys

No Additional Items

Each item of this array must be:

Type: integer

The date on which the user account will be disabled. This date is represented as a number of days since January 1st, 1970.

Type: boolean

Force this user to change their password on first login

Type: object

Keys are group, values are objects giving group info.

No Additional Properties

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^[A-Za-z0-9_.][A-Za-z0-9_.-]{0,31}$
Type: object
No Additional Properties

Type: number

GID for this group

Type: object

Kernel options

No Additional Properties

Type: boolean

Add more debug logging

Type: array

Extra kernel commandline options

No Additional Items

Type: string

Use a custom kernel package name (instead of kernel-automotive)

Type: string

Use a custom kernel package version

Type: integer

Use a kernel log level

Type: array

Remove kernel modules (and dependendices) from image

No Additional Items

Type: object

Experimental options. Unsupported, may change over time without warning.

No Additional Properties

Type: object

Internal OSBuild MPP defines

Additional Properties of any type are allowed.

Type: object