Skip to main content

Configuration

avocadoctl is configured via a TOML file at /etc/avocado/avocadoctl.conf. All settings have sensible defaults and the config file is optional.

Configuration File

[avocado.ext]
dir = "/var/lib/avocado/images"
sysext_mutable = "ephemeral"
confext_mutable = "ephemeral"

[avocado]
runtimes_dir = "/var/lib/avocado"
socket = "unix:/run/avocado/avocadoctl.sock"

[avocado.update]
stream_os_to_partition = false

Extension Settings

The [avocado.ext] section controls how extensions are stored and merged.

KeyTypeDefaultDescription
dirstring/var/lib/avocado/imagesDirectory where extension images are stored
sysext_mutablestringephemeralMutability mode for system extensions (sysext) overlaying /usr and /opt
confext_mutablestringephemeralMutability mode for configuration extensions (confext) overlaying /etc
mutablestring-Deprecated. Legacy option that applies to both sysext and confext. Use the specific options above instead.

Mutability Modes

These values control how systemd-sysext and systemd-confext handle writes to the overlaid directories.

ValueDescription
noOverlaid directories are read-only
autoLet systemd decide based on the underlying filesystem
yesOverlaid directories are writable (persistent)
importImport the upper directory contents into the base on unmerge
ephemeralOverlaid directories are writable but changes are discarded on unmerge
ephemeral-importLike ephemeral, but imports upper contents on unmerge

General Settings

The [avocado] section controls base paths and daemon communication.

KeyTypeDefaultDescription
runtimes_dirstring/var/lib/avocadoBase directory for runtimes, images, and the active symlink
socketstringunix:/run/avocado/avocadoctl.sockVarlink daemon socket address

Update Settings

The [avocado.update] section controls OS update behavior.

KeyTypeDefaultDescription
stream_os_to_partitionboolfalseStream OS bundle artifacts directly from HTTP to partitions without staging to disk. Reduces disk I/O and temporary storage but disables resumable downloads for the OS bundle.

Environment Variable Overrides

Environment variables take precedence over config file values.

VariableOverridesDescription
AVOCADO_BASE_DIRavocado.runtimes_dirOverride the base directory for all avocado data
AVOCADO_EXTENSIONS_PATHavocado.ext.dirOverride the extensions image directory

Precedence Order

Settings are resolved in this order (highest priority first):

  1. CLI flags (e.g., --socket, --config)
  2. Environment variables
  3. Config file (/etc/avocado/avocadoctl.conf)
  4. Built-in defaults