Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

quadlet-nix

Manages Podman containers, networks, pods, etc. on NixOS via Quadlet.

Features

  • Supports Podman containers, networks, pods, volumes, etc.
  • Supports declarative update and deletion of networks.
  • Supports rootful and rootless (via Home Manager) resources behind the same interface.
  • Supports Podman auto-update.
  • Supports cross-referencing between resources in Nix language.
  • Full quadlet options support, typed and properly escaped.
  • Reliability through effective testing.
  • Simplicity.
  • Whatever offered by Nix or Quadlet.

Motivation

This project was started in Aug 2023, as a result of the author's frustration on some relatively simple container management needs, where then available technologies are either overly restrictive, or overly complex that requires non-trivial but pointless investment ad-hoc domain knowledge.

quadlet-nix is designed to be a simple tool that just works. Quadlet options are directly mapped into Nix, allowing users to effectively manage their Podman resources in the Nix language, without having to acquire domain knowledge in yet another tool. Prior knowledge and documentation of Podman continue to apply.

Comparison

Below are comparisons with several alternatives for declaratively managing Podman containers on NixOS, effective as of May 2025.

NixOS virtualisation.oci-containers
  • 👍 Part of NixOS, no additional dependencies.
  • 👍 Rootless container support without additional dependencies.
  • 👍 Supports Docker.
  • 😐 Compatible with podman auto-update (requires external setup).
  • 👎 Limited options.
  • 👎 Lack of support for networks, pods, etc.
arion
  • 👍 Supports Docker.
  • 😐 More indirection and moving parts.
  • 👎 Limited options.
  • 👎 Incompatible with podman auto-update.
Vanilla Podman Quadlet
  • 👍 Even less indirection.
  • 😐 Compatible with podman auto-update (requires external setup).
  • 😐 Requires more work to set up.
  • 👎 Not integrated with rest of Nix configuration.
Home Manager services.podman
  • 👍 Part of Home Manager, no additional dependencies if you are already using it.
  • 👎 Lack of rootful container support.
compose2nix
  • 👍 Supports Docker.
  • 😐 Compatible with podman auto-update (requires external setup).
  • 😐 More indirection and moving parts.
  • 👎 Less maintainable Nix files due to generated boilerplate.
  • 👎 Manual regeneration is required.
  • 👎 Lack of rootless container support.
  • 👎 Limited options.
  • 👎 Fragmented configuration with source of truth being outside of Nix.

How

See seiarotg.github.io/quadlet-nix for all options.

Recipes

Rootful containers

flake.nix

{
    inputs = {
        nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
        quadlet-nix.url = "github:SEIAROTg/quadlet-nix";
    };
    outputs = { nixpkgs, quadlet-nix, ... }@attrs: {
        nixosConfigurations.machine = nixpkgs.lib.nixosSystem {
            system = "x86_64-linux";
            modules = [
                ./configuration.nix
                quadlet-nix.nixosModules.quadlet
            ];
        };
    };
}

configuration.nix

{ config, ... }: {
    # ...
    virtualisation.quadlet = let
        inherit (config.virtualisation.quadlet) networks pods;
    in {
        containers = {
            nginx.containerConfig.image = "docker.io/library/nginx:latest";
            nginx.containerConfig.networks = [ "podman" networks.internal.ref ];
            nginx.containerConfig.pod = pods.foo.ref;
            nginx.serviceConfig.TimeoutStartSec = "60";
        };
        networks = {
            internal.networkConfig.subnets = [ "10.0.123.1/24" ];
        };
        pods = {
            foo = { };
        };
    };
}
Rootless containers (via Home Manager)

flake.nix

{
    inputs = {
        nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
        home-manager.url = "github:nix-community/home-manager";
        home-manager.inputs.nixpkgs.follows = "nixpkgs";
        quadlet-nix.url = "github:SEIAROTg/quadlet-nix";
    };
    outputs = { nixpkgs, quadlet-nix, home-manager, ... }@attrs: {
        nixosConfigurations.machine = nixpkgs.lib.nixosSystem {
            system = "x86_64-linux";
            modules = [
                ./configuration.nix
                home-manager.nixosModules.home-manager
                # to enable podman & podman systemd generator
                quadlet-nix.nixosModules.quadlet
            ];
        };
    };
}

configuration.nix

{
    # ...
    users.users.alice = {
        # ...
        # required for auto start before user login
        linger = true;
        # required for rootless container with multiple users
        autoSubUidGidRange = true;
    };
    home-manager.users.alice = { pkgs, config, ... }: {
        # ...
        imports = [ inputs.quadlet-nix.homeManagerModules.quadlet ];
        # This is crucial to ensure the systemd services are (re)started on config change
        systemd.user.startServices = "sd-switch";
        virtualisation.quadlet.containers = {
            echo-server = {
                autoStart = true;
                serviceConfig = {
                    RestartSec = "10";
                    Restart = "always";
                };
                containerConfig = {
                    image = "docker.io/mendhak/http-https-echo:31";
                    publishPorts = [ "127.0.0.1:8080:8080" ];
                    userns = "keep-id";
                };
            };
        };
    };
}
Install raw Quadlet files

If you wish to write raw Quadlet files instead of using the Nix options, you may do so with rawConfig. Using this will cause all other options (except autoStart) to be ignored though.

{ config, ... }: {
    # ...
    virtualisation.quadlet = let
        inherit (config.virtualisation.quadlet) networks pods;
    in {
        containers = {
            nginx.rawConfig = ''
                [Container]
                Image=docker.io/library/nginx:latest
                Network=podman
                Network=${networks.internal.ref}
                Pod=${pods.foo.ref}
                [Service]
                TimeoutStartSec=60
            '';
        };
        networks = {
            internal.networkConfig.subnets = [ "10.0.123.1/24" ];
        };
        pods = {
            foo = { };
        };
    };
}
Work with pkgs.dockerTools

Podman natively supports multiple transport, including docker-archive that can be used with pkgs.dockerTools.

{ pkgs, ... }: let
    image = pkgs.dockerTools.buildImage {
        # ...
    };
in {
    virtualisation.quadlet.containers = {
        foo.containerConfig.image = "docker-archive:${image}";
    };
}

See: https://docs.podman.io/en/v5.5.0/markdown/podman-run.1.html#image

Debug & log access

quadlet-nix tries to put containers into full management under systemd. This means once a container crashes, it will be fully deleted and debugging mechanisms like podman ps -a or podman logs will not work.

However, status and logs are still accessible through systemd, namely, systemctl status <service name> and journalctl -u <service name>, where <service name> is container name, <network name>-network, <pod name>-pod, or similar. These names are the names as appeared in virtualisation.quadlet.containers.<container name>, rather than podman container name, in case it's different.

The option I need is not available

Check if that option is supported by Podman Quadlet here: https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html.

If it exists, please create an issue or send a PR to add.

Otherwise, please use PodmanArgs and GlobalArgs to insert additional command line arguments as quadlet-nix does not intend to support options beyond what Quadlet offers.

virtualisation.quadlet.autoEscape

Enables appropriate quoting / escaping.

Not enabled by default to avoid breaking existing configurations. In the future this will be required.

Type: boolean

Default: false

virtualisation.quadlet.autoUpdate.enable

Enables podman auto update.

Type: boolean

Default: false

virtualisation.quadlet.autoUpdate.calendar

Schedule for podman auto update. See systemd.time(7) for details.

Type: string

Default: "*-*-* 00:00:00"

virtualisation.quadlet.builds

Image builds

Type: attribute set of (submodule)

Default: { }

virtualisation.quadlet.builds.<name>.autoStart

When enabled, this container is automatically started on boot.

Type: boolean

Default: true

virtualisation.quadlet.builds.<name>.buildConfig.addGroups

Maps to quadlet option GroupAddand command line argument --group-add.

Type: list of string

Default: [ ]

Example:

[
  "keep-groups"
]

virtualisation.quadlet.builds.<name>.buildConfig.annotations

Maps to quadlet option Annotationand command line argument --annotation.

Type: list of string

Default: [ ]

Example:

[
  "XYZ"
]

virtualisation.quadlet.builds.<name>.buildConfig.arch

Maps to quadlet option Archand command line argument --arch.

Type: null or string

Default: null

Example: "aarch64"

virtualisation.quadlet.builds.<name>.buildConfig.authFile

Maps to quadlet option AuthFileand command line argument --authfile.

Type: null or string

Default: null

Example: "/etc/registry/auth.json"

virtualisation.quadlet.builds.<name>.buildConfig.dns

Maps to quadlet option DNSand command line argument --dns.

Type: list of string

Default: [ ]

Example:

[
  "192.168.55.1"
]

virtualisation.quadlet.builds.<name>.buildConfig.dnsOption

Maps to quadlet option DNSOptionand command line argument --dns-option.

Type: list of string

Default: [ ]

Example:

[
  "ndots:1"
]

virtualisation.quadlet.builds.<name>.buildConfig.dnsSearch

Maps to quadlet option DNSSearchand command line argument --dns-search.

Type: list of string

Default: [ ]

Example:

[
  "foo.com"
]

virtualisation.quadlet.builds.<name>.buildConfig.environments

Maps to quadlet option Environmentand command line argument --env.

Type: attribute set of string

Default: { }

Example:

{
  foo = "bar";
}

virtualisation.quadlet.builds.<name>.buildConfig.file

Maps to quadlet option Fileand command line argument --file.

Type: null or string

Default: null

Example: "/path/to/Containerfile"

virtualisation.quadlet.builds.<name>.buildConfig.forceRm

Maps to quadlet option ForceRMand command line argument --force-rm.

Type: null or boolean

Default: null

virtualisation.quadlet.builds.<name>.buildConfig.globalArgs

Additional command line arguments to insert between podman and build

Maps to quadlet option GlobalArgs.

Type: list of string

Default: [ ]

Example:

[
  "--log-level=debug"
]

virtualisation.quadlet.builds.<name>.buildConfig.labels

Maps to quadlet option Labeland command line argument --label.

Type: list of string

Default: [ ]

Example:

[
  "XYZ"
]

virtualisation.quadlet.builds.<name>.buildConfig.modules

Maps to quadlet option ContainersConfModuleand command line argument --module.

Type: list of string

Default: [ ]

Example:

[
  "/etc/nvd.conf"
]

virtualisation.quadlet.builds.<name>.buildConfig.networks

Maps to quadlet option Networkand command line argument --net.

Type: list of string

Default: [ ]

Example:

[
  "host"
]

virtualisation.quadlet.builds.<name>.buildConfig.podmanArgs

Additional command line arguments to insert after podman build

Maps to quadlet option PodmanArgs.

Type: list of string

Default: [ ]

Example:

[
  "--add-host foobar"
]

virtualisation.quadlet.builds.<name>.buildConfig.pull

Maps to quadlet option Pulland command line argument --pull.

Type: null or string

Default: null

Example: "never"

virtualisation.quadlet.builds.<name>.buildConfig.retry

Maps to quadlet option Retryand command line argument --retry.

Type: null or signed integer

Default: null

Example: 5

virtualisation.quadlet.builds.<name>.buildConfig.retryDelay

Maps to quadlet option RetryDelayand command line argument --retry-delay.

Type: null or string

Default: null

Example: "5s"

virtualisation.quadlet.builds.<name>.buildConfig.secrets

Maps to quadlet option Secretand command line argument --secret.

Type: list of string

Default: [ ]

Example:

[
  "secret[,opt=opt …]"
]

virtualisation.quadlet.builds.<name>.buildConfig.tag

Maps to quadlet option ImageTagand command line argument --tag.

Type: null or string

Default: null

Example: "localhost/imagename"

virtualisation.quadlet.builds.<name>.buildConfig.target

Maps to quadlet option Targetand command line argument --target.

Type: null or string

Default: null

Example: "my-app"

virtualisation.quadlet.builds.<name>.buildConfig.tlsVerify

Maps to quadlet option TLSVerifyand command line argument --tls-verify.

Type: null or boolean

Default: null

virtualisation.quadlet.builds.<name>.buildConfig.variant

Maps to quadlet option Variantand command line argument --variant.

Type: null or string

Default: null

Example: "arm/v7"

virtualisation.quadlet.builds.<name>.buildConfig.volumes

Maps to quadlet option Volumeand command line argument --volume.

Type: list of string

Default: [ ]

Example:

[
  "/source:/dest"
]

virtualisation.quadlet.builds.<name>.buildConfig.workdir

Sets WorkingDirectory of systemd unit file

Maps to quadlet option SetWorkingDirectory.

Type: null or string

Default: null

Example: "file"

virtualisation.quadlet.builds.<name>.quadletConfig.defaultDependencies

Add Quadlet’s default network dependencies to the unit

Maps to quadlet option DefaultDependencies.

Type: null or boolean

Default: null

virtualisation.quadlet.builds.<name>.rawConfig

Raw quadlet config text. Using this will cause all other options contributing to quadlet files to be ignored. autoStart is not affected.

Type: null or string

Default: null

virtualisation.quadlet.builds.<name>.ref

Reference to this container from other quadlets.

Quadlet resolves this to object (e.g. container) names and sets up appropriate systemd dependencies.

This is recognized for most quadlet native options, but not by Podman command line. Using this inside podmanArgs will therefore unlikely to work.

Type: unspecified value (read only)

virtualisation.quadlet.builds.<name>.serviceConfig

systemd service config passed through to [Service] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.builds.<name>.unitConfig

systemd unit config passed through to [Unit] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.containers

Containers

Type: attribute set of (submodule)

Default: { }

virtualisation.quadlet.containers.<name>.autoStart

When enabled, this container is automatically started on boot.

Type: boolean

Default: true

virtualisation.quadlet.containers.<name>.containerConfig.addCapabilities

Maps to quadlet option AddCapabilityand command line argument --cap-add.

Type: list of string

Default: [ ]

Example:

[
  "NET_ADMIN"
]

virtualisation.quadlet.containers.<name>.containerConfig.addGroups

Maps to quadlet option GroupAddand command line argument --group-add.

Type: list of string

Default: [ ]

Example:

[
  "keep-groups"
]

virtualisation.quadlet.containers.<name>.containerConfig.addHosts

Maps to quadlet option AddHostand command line argument --add-host.

Type: list of string

Default: [ ]

Example:

[
  "hostname:192.168.10.11"
]

virtualisation.quadlet.containers.<name>.containerConfig.annotations

Maps to quadlet option Annotationand command line argument --annotation.

Type: list of string

Default: [ ]

Example:

[
  "XYZ"
]

virtualisation.quadlet.containers.<name>.containerConfig.autoUpdate

Maps to quadlet option AutoUpdateand command line argument --label "io.containers.autoupdate=...".

Type: null or one of “registry”, “local”

Default: null

Example: "registry"

virtualisation.quadlet.containers.<name>.containerConfig.cgroupsMode

Maps to quadlet option CgroupsModeand command line argument --cgroups.

Type: null or string

Default: null

Example: "no-conmon"

virtualisation.quadlet.containers.<name>.containerConfig.devices

Maps to quadlet option AddDeviceand command line argument --device.

Type: list of string

Default: [ ]

Example:

[
  "/dev/foo"
]

virtualisation.quadlet.containers.<name>.containerConfig.dns

Maps to quadlet option DNSand command line argument --dns.

Type: list of string

Default: [ ]

Example:

[
  "192.168.55.1"
]

virtualisation.quadlet.containers.<name>.containerConfig.dnsOption

Maps to quadlet option DNSOptionand command line argument --dns-option.

Type: list of string

Default: [ ]

Example:

[
  "ndots:1"
]

virtualisation.quadlet.containers.<name>.containerConfig.dnsSearch

Maps to quadlet option DNSSearchand command line argument --dns-search.

Type: list of string

Default: [ ]

Example:

[
  "foo.com"
]

virtualisation.quadlet.containers.<name>.containerConfig.dropCapabilities

Maps to quadlet option DropCapabilityand command line argument --cap-drop.

Type: list of string

Default: [ ]

Example:

[
  "NET_ADMIN"
]

virtualisation.quadlet.containers.<name>.containerConfig.entrypoint

Maps to quadlet option Entrypointand command line argument --entrypoint.

Type: null or string

Default: null

Example: "/foo.sh"

virtualisation.quadlet.containers.<name>.containerConfig.environmentFiles

Maps to quadlet option EnvironmentFileand command line argument --env-file.

Type: list of string

Default: [ ]

Example:

[
  "/tmp/env"
]

virtualisation.quadlet.containers.<name>.containerConfig.environmentHost

Maps to quadlet option EnvironmentHostand command line argument --env-host.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.environments

Maps to quadlet option Environmentand command line argument --env.

Type: attribute set of string

Default: { }

Example:

{
  foo = "bar";
}

virtualisation.quadlet.containers.<name>.containerConfig.exec

Command after image specification

Maps to quadlet option Exec.

Type: null or string or list of string

Default: null

Example: "/usr/bin/command"

virtualisation.quadlet.containers.<name>.containerConfig.exposePorts

Maps to quadlet option ExposeHostPortand command line argument --expose.

Type: list of string

Default: [ ]

Example:

[
  "50-59"
]

virtualisation.quadlet.containers.<name>.containerConfig.gidMaps

Maps to quadlet option GIDMapand command line argument --gidmap.

Type: list of string

Default: [ ]

Example:

[
  "0:10000:10"
]

virtualisation.quadlet.containers.<name>.containerConfig.globalArgs

Additional command line arguments to insert between podman and run

Maps to quadlet option GlobalArgs.

Type: list of string

Default: [ ]

Example:

[
  "--log-level=debug"
]

virtualisation.quadlet.containers.<name>.containerConfig.group

Maps to quadlet option Groupand command line argument --user UID:....

Type: null or string

Default: null

Example: "1234"

virtualisation.quadlet.containers.<name>.containerConfig.healthCmd

Maps to quadlet option HealthCmdand command line argument --health-cmd.

Type: null or string

Default: null

Example: "/usr/bin/command"

virtualisation.quadlet.containers.<name>.containerConfig.healthInterval

Maps to quadlet option HealthIntervaland command line argument --health-interval.

Type: null or string

Default: null

Example: "2m"

virtualisation.quadlet.containers.<name>.containerConfig.healthLogDestination

Maps to quadlet option HealthLogDestinationand command line argument --health-log-destination.

Type: null or string

Default: null

Example: "/foo/log"

virtualisation.quadlet.containers.<name>.containerConfig.healthMaxLogCount

Maps to quadlet option HealthMaxLogCountand command line argument --health-max-log-count.

Type: null or signed integer

Default: null

Example: 5

virtualisation.quadlet.containers.<name>.containerConfig.healthMaxLogSize

Maps to quadlet option HealthMaxLogSizeand command line argument --health-max-log-size.

Type: null or signed integer

Default: null

Example: 500

virtualisation.quadlet.containers.<name>.containerConfig.healthOnFailure

Maps to quadlet option HealthOnFailureand command line argument --health-on-failure.

Type: null or string

Default: null

Example: "kill"

virtualisation.quadlet.containers.<name>.containerConfig.healthRetries

Maps to quadlet option HealthRetriesand command line argument --health-retries.

Type: null or signed integer

Default: null

Example: 5

virtualisation.quadlet.containers.<name>.containerConfig.healthStartPeriod

Maps to quadlet option HealthStartPeriodand command line argument --health-start-period.

Type: null or string

Default: null

Example: "1m"

virtualisation.quadlet.containers.<name>.containerConfig.healthStartupCmd

Maps to quadlet option HealthStartupCmdand command line argument --health-startup-cmd.

Type: null or string

Default: null

Example: "/usr/bin/command"

virtualisation.quadlet.containers.<name>.containerConfig.healthStartupInterval

Maps to quadlet option HealthStartupIntervaland command line argument --health-startup-interval.

Type: null or string

Default: null

Example: "1m"

virtualisation.quadlet.containers.<name>.containerConfig.healthStartupRetries

Maps to quadlet option HealthStartupRetriesand command line argument --health-startup-retries.

Type: null or signed integer

Default: null

Example: 8

virtualisation.quadlet.containers.<name>.containerConfig.healthStartupSuccess

Maps to quadlet option HealthStartupSuccessand command line argument --health-startup-success.

Type: null or signed integer

Default: null

Example: 2

virtualisation.quadlet.containers.<name>.containerConfig.healthStartupTimeout

Maps to quadlet option HealthStartupTimeoutand command line argument --health-startup-timeout.

Type: null or string

Default: null

Example: "1m33s"

virtualisation.quadlet.containers.<name>.containerConfig.healthTimeout

Maps to quadlet option HealthTimeoutand command line argument --health-timeout.

Type: null or string

Default: null

Example: "20s"

virtualisation.quadlet.containers.<name>.containerConfig.hostname

Maps to quadlet option HostNameand command line argument --hostname.

Type: null or string

Default: null

Example: "new-host-name"

virtualisation.quadlet.containers.<name>.containerConfig.image

Image specification

Maps to quadlet option Image.

Type: null or string

Default: null

Example: "docker.io/library/nginx:latest"

virtualisation.quadlet.containers.<name>.containerConfig.ip

Maps to quadlet option IPand command line argument --ip.

Type: null or string

Default: null

Example: "192.5.0.1"

virtualisation.quadlet.containers.<name>.containerConfig.ip6

Maps to quadlet option IP6and command line argument --ip6.

Type: null or string

Default: null

Example: "fd46:db93:aa76:ac37::10"

virtualisation.quadlet.containers.<name>.containerConfig.labels

Maps to quadlet option Labeland command line argument --label.

Type: list of string

Default: [ ]

Example:

[
  "XYZ"
]

virtualisation.quadlet.containers.<name>.containerConfig.logDriver

Maps to quadlet option LogDriverand command line argument --log-driver.

Type: null or string

Default: null

Example: "journald"

virtualisation.quadlet.containers.<name>.containerConfig.logOptions

Maps to quadlet option LogOptand command line argument --log-opt.

Type: list of string

Default: [ ]

Example:

[
  "path=/var/log/mykube.json"
]

virtualisation.quadlet.containers.<name>.containerConfig.mask

Maps to quadlet option Maskand command line argument --security-opt mask=....

Type: null or string

Default: null

Example: "/proc/sys/foo:/proc/sys/bar"

virtualisation.quadlet.containers.<name>.containerConfig.memory

Maps to quadlet option Memoryand command line argument --memory.

Type: null or string

Default: null

Example: "20g"

virtualisation.quadlet.containers.<name>.containerConfig.modules

Maps to quadlet option ContainersConfModuleand command line argument --module.

Type: list of string

Default: [ ]

Example:

[
  "/etc/nvd.conf"
]

virtualisation.quadlet.containers.<name>.containerConfig.mounts

Maps to quadlet option Mountand command line argument --mount.

Type: list of string

Default: [ ]

Example:

[
  "type=..."
]

virtualisation.quadlet.containers.<name>.containerConfig.name

Maps to quadlet option ContainerNameand command line argument --name.

Type: null or string

Default: null

Example: "name"

virtualisation.quadlet.containers.<name>.containerConfig.networkAliases

Maps to quadlet option NetworkAliasand command line argument --network-alias.

Type: list of string

Default: [ ]

Example:

[
  "name"
]

virtualisation.quadlet.containers.<name>.containerConfig.networks

Maps to quadlet option Networkand command line argument --net.

Type: list of string

Default: [ ]

Example:

[
  "host"
]

virtualisation.quadlet.containers.<name>.containerConfig.noNewPrivileges

Maps to quadlet option NoNewPrivilegesand command line argument --security-opt no-new-privileges.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.notify

Maps to quadlet option Notifyand command line argument --sdnotify container.

Type: one of <null>, true, false, “healthy”

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.pidsLimit

Maps to quadlet option PidsLimitand command line argument --pids-limit.

Type: null or signed integer

Default: null

Example: 10000

virtualisation.quadlet.containers.<name>.containerConfig.pod

Maps to quadlet option Podand command line argument --pod.

Type: null or string

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.podmanArgs

Additional command line arguments to insert after podman run

Maps to quadlet option PodmanArgs.

Type: list of string

Default: [ ]

Example:

[
  "--add-host foobar"
]

virtualisation.quadlet.containers.<name>.containerConfig.publishPorts

Maps to quadlet option PublishPortand command line argument --publish.

Type: list of string

Default: [ ]

Example:

[
  "50-59"
]

virtualisation.quadlet.containers.<name>.containerConfig.pull

Maps to quadlet option Pulland command line argument --pull.

Type: null or string

Default: null

Example: "never"

virtualisation.quadlet.containers.<name>.containerConfig.readOnly

Maps to quadlet option ReadOnlyand command line argument --read-only.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.readOnlyTmpfs

Maps to quadlet option ReadOnlyTmpfsand command line argument --read-only-tmpfs.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.reloadCmd

Adds ExecReload and run exec with the value

Maps to quadlet option ReloadCmd.

Type: null or string or list of string

Default: null

Example: "/usr/bin/command"

virtualisation.quadlet.containers.<name>.containerConfig.reloadSignal

Add ExecReload and run kill with the signal

Maps to quadlet option ReloadSignal.

Type: null or string

Default: null

Example: "SIGHUP"

virtualisation.quadlet.containers.<name>.containerConfig.retry

Maps to quadlet option Retryand command line argument --retry.

Type: null or signed integer

Default: null

Example: 5

virtualisation.quadlet.containers.<name>.containerConfig.retryDelay

Maps to quadlet option RetryDelayand command line argument --retry-delay.

Type: null or string

Default: null

Example: "5s"

virtualisation.quadlet.containers.<name>.containerConfig.rootfs

Maps to quadlet option Rootfsand command line argument --rootfs.

Type: null or string

Default: null

Example: "/var/lib/rootfs"

virtualisation.quadlet.containers.<name>.containerConfig.runInit

Maps to quadlet option RunInitand command line argument --init.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.seccompProfile

Maps to quadlet option SeccompProfileand command line argument --security-opt seccomp=....

Type: null or string

Default: null

Example: "/tmp/s.json"

virtualisation.quadlet.containers.<name>.containerConfig.secrets

Maps to quadlet option Secretand command line argument --secret.

Type: list of string

Default: [ ]

Example:

[
  "secret[,opt=opt …]"
]

virtualisation.quadlet.containers.<name>.containerConfig.securityLabelDisable

Maps to quadlet option SecurityLabelDisableand command line argument --security-opt label=disable.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.securityLabelFileType

Maps to quadlet option SecurityLabelFileTypeand command line argument --security-opt label=filetype:....

Type: null or string

Default: null

Example: "usr_t"

virtualisation.quadlet.containers.<name>.containerConfig.securityLabelLevel

Maps to quadlet option SecurityLabelLeveland command line argument --security-opt label=level:s0:c1,c2.

Type: null or string

Default: null

Example: "s0:c1,c2"

virtualisation.quadlet.containers.<name>.containerConfig.securityLabelNested

Maps to quadlet option SecurityLabelNestedand command line argument --security-opt label=nested.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.securityLabelType

Maps to quadlet option SecurityLabelTypeand command line argument --security-opt label=type:....

Type: null or string

Default: null

Example: "spc_t"

virtualisation.quadlet.containers.<name>.containerConfig.shmSize

Maps to quadlet option ShmSizeand command line argument --shm-size.

Type: null or string

Default: null

Example: "100m"

virtualisation.quadlet.containers.<name>.containerConfig.startWithPod

If pod is defined, container is started by pod

Maps to quadlet option StartWithPod.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.stopSignal

Maps to quadlet option StopSignaland command line argument --stop-signal.

Type: null or string

Default: null

Example: "SIGINT"

virtualisation.quadlet.containers.<name>.containerConfig.stopTimeout

Maps to quadlet option StopTimeoutand command line argument --stop-timeout.

Type: null or signed integer

Default: null

Example: 20

virtualisation.quadlet.containers.<name>.containerConfig.subGIDMap

Maps to quadlet option SubGIDMapand command line argument --subgidname.

Type: null or string

Default: null

Example: "gtest"

virtualisation.quadlet.containers.<name>.containerConfig.subUIDMap

Maps to quadlet option SubUIDMapand command line argument --subuidname.

Type: null or string

Default: null

Example: "utest"

virtualisation.quadlet.containers.<name>.containerConfig.sysctl

Maps to quadlet option Sysctland command line argument --sysctl.

Type: attribute set of string

Default: { }

Example:

{
  name = "value";
}

virtualisation.quadlet.containers.<name>.containerConfig.timezone

Maps to quadlet option Timezoneand command line argument --tz.

Type: null or string

Default: null

Example: "local"

virtualisation.quadlet.containers.<name>.containerConfig.tmpfses

Maps to quadlet option Tmpfsand command line argument --tmpfs.

Type: list of string

Default: [ ]

Example:

[
  "/work"
]

virtualisation.quadlet.containers.<name>.containerConfig.uidMaps

Maps to quadlet option UIDMapand command line argument --uidmap.

Type: list of string

Default: [ ]

Example:

[
  "0:10000:10"
]

virtualisation.quadlet.containers.<name>.containerConfig.ulimits

Maps to quadlet option Ulimitand command line argument --ulimit.

Type: list of string

Default: [ ]

Example:

[
  "nofile=1000:10000"
]

virtualisation.quadlet.containers.<name>.containerConfig.unmask

Maps to quadlet option Unmaskand command line argument --security-opt unmask=....

Type: null or string

Default: null

Example: "ALL"

virtualisation.quadlet.containers.<name>.containerConfig.user

Maps to quadlet option Userand command line argument --user.

Type: null or string

Default: null

Example: "bin"

virtualisation.quadlet.containers.<name>.containerConfig.userns

Maps to quadlet option UserNSand command line argument --userns.

Type: null or string

Default: null

Example: "keep-id:uid=200,gid=210"

virtualisation.quadlet.containers.<name>.containerConfig.volumes

Maps to quadlet option Volumeand command line argument --volume.

Type: list of string

Default: [ ]

Example:

[
  "/source:/dest"
]

virtualisation.quadlet.containers.<name>.containerConfig.workdir

Maps to quadlet option WorkingDirand command line argument --workdir.

Type: null or string

Default: null

Example: "$HOME"

virtualisation.quadlet.containers.<name>.quadletConfig.defaultDependencies

Add Quadlet’s default network dependencies to the unit

Maps to quadlet option DefaultDependencies.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.rawConfig

Raw quadlet config text. Using this will cause all other options contributing to quadlet files to be ignored. autoStart is not affected.

Type: null or string

Default: null

virtualisation.quadlet.containers.<name>.ref

Reference to this container from other quadlets.

Quadlet resolves this to object (e.g. container) names and sets up appropriate systemd dependencies.

This is recognized for most quadlet native options, but not by Podman command line. Using this inside podmanArgs will therefore unlikely to work.

Type: unspecified value (read only)

virtualisation.quadlet.containers.<name>.serviceConfig

systemd service config passed through to [Service] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.containers.<name>.unitConfig

systemd unit config passed through to [Unit] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.networks

Networks

Type: attribute set of (submodule)

Default: { }

virtualisation.quadlet.networks.<name>.autoStart

When enabled, this network is automatically started on boot.

Type: boolean

Default: true

virtualisation.quadlet.networks.<name>.networkConfig.disableDns

Maps to quadlet option DisableDNSand command line argument --disable-dns.

Type: null or boolean

Default: null

virtualisation.quadlet.networks.<name>.networkConfig.dns

Maps to quadlet option DNSand command line argument --dns.

Type: list of string

Default: [ ]

Example:

[
  "192.168.55.1"
]

virtualisation.quadlet.networks.<name>.networkConfig.driver

Maps to quadlet option Driverand command line argument --driver.

Type: null or one of “bridge”, “macvlan”, “ipvlan”

Default: null

Example: "bridge"

virtualisation.quadlet.networks.<name>.networkConfig.gateways

Maps to quadlet option Gatewayand command line argument --gateway.

Type: list of string

Default: [ ]

Example:

[
  "192.168.55.3"
]

virtualisation.quadlet.networks.<name>.networkConfig.globalArgs

Additional command line arguments to insert between podman and network create

Maps to quadlet option GlobalArgs.

Type: list of string

Default: [ ]

Example:

[
  "--log-level=debug"
]

virtualisation.quadlet.networks.<name>.networkConfig.internal

Maps to quadlet option Internaland command line argument --internal.

Type: null or boolean

Default: null

virtualisation.quadlet.networks.<name>.networkConfig.ipRanges

Maps to quadlet option IPRangeand command line argument --ip-range.

Type: list of string

Default: [ ]

Example:

[
  "192.168.55.128/25"
]

virtualisation.quadlet.networks.<name>.networkConfig.ipamDriver

Maps to quadlet option IPAMDriverand command line argument --ipam-driver.

Type: null or one of “host-local”, “dhcp”, “none”

Default: null

Example: "dhcp"

virtualisation.quadlet.networks.<name>.networkConfig.ipv6

Maps to quadlet option IPv6and command line argument --ipv6.

Type: null or boolean

Default: null

virtualisation.quadlet.networks.<name>.networkConfig.labels

Maps to quadlet option Labeland command line argument --label.

Type: list of string

Default: [ ]

Example:

[
  "XYZ"
]

virtualisation.quadlet.networks.<name>.networkConfig.modules

Maps to quadlet option ContainersConfModuleand command line argument --module.

Type: list of string

Default: [ ]

Example:

[
  "/etc/nvd.conf"
]

virtualisation.quadlet.networks.<name>.networkConfig.name

Network name as in podman network create foo

Maps to quadlet option NetworkName.

Type: null or string

Default: null

Example: "foo"

virtualisation.quadlet.networks.<name>.networkConfig.networkDeleteOnStop

When set to true the network is deleted when the service is stopped

Maps to quadlet option NetworkDeleteOnStop.

Type: null or boolean

Default: null

virtualisation.quadlet.networks.<name>.networkConfig.options

Maps to quadlet option Optionsand command line argument --opt.

Type: null or string

Default: null

Example: "isolate"

virtualisation.quadlet.networks.<name>.networkConfig.podmanArgs

Additional command line arguments to insert after podman network create

Maps to quadlet option PodmanArgs.

Type: list of string

Default: [ ]

Example:

[
  "--dns=192.168.55.1"
]

virtualisation.quadlet.networks.<name>.networkConfig.subnets

Maps to quadlet option Subnetand command line argument --subnet.

Type: list of string

Default: [ ]

Example:

[
  "192.5.0.0/16"
]

virtualisation.quadlet.networks.<name>.quadletConfig.defaultDependencies

Add Quadlet’s default network dependencies to the unit

Maps to quadlet option DefaultDependencies.

Type: null or boolean

Default: null

virtualisation.quadlet.networks.<name>.rawConfig

Raw quadlet config text. Using this will cause all other options contributing to quadlet files to be ignored. autoStart is not affected.

Type: null or string

Default: null

virtualisation.quadlet.networks.<name>.ref

Reference to this network from other quadlets.

Quadlet resolves this to object (e.g. container) names and sets up appropriate systemd dependencies.

This is recognized for most quadlet native options, but not by Podman command line. Using this inside podmanArgs will therefore unlikely to work.

Type: unspecified value (read only)

virtualisation.quadlet.networks.<name>.serviceConfig

systemd service config passed through to [Service] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.networks.<name>.unitConfig

systemd unit config passed through to [Unit] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.pods

Pods

Type: attribute set of (submodule)

Default: { }

virtualisation.quadlet.pods.<name>.autoStart

When enabled, this pod is automatically started on boot.

Type: boolean

Default: true

virtualisation.quadlet.pods.<name>.podConfig.addHosts

Maps to quadlet option AddHostand command line argument --add-host.

Type: list of string

Default: [ ]

Example:

[
  "hostname:192.168.10.11"
]

virtualisation.quadlet.pods.<name>.podConfig.dns

Maps to quadlet option DNSand command line argument --dns.

Type: list of string

Default: [ ]

Example:

[
  "192.168.55.1"
]

virtualisation.quadlet.pods.<name>.podConfig.dnsOptions

Maps to quadlet option DNSOptionand command line argument --dns-option.

Type: list of string

Default: [ ]

Example:

[
  "ndots:1"
]

virtualisation.quadlet.pods.<name>.podConfig.dnsSearches

Maps to quadlet option DNSSearchand command line argument --dns-search.

Type: list of string

Default: [ ]

Example:

[
  "foo.com"
]

virtualisation.quadlet.pods.<name>.podConfig.gidMaps

Maps to quadlet option GIDMapand command line argument --gidmap.

Type: list of string

Default: [ ]

Example:

[
  "0:10000:10"
]

virtualisation.quadlet.pods.<name>.podConfig.globalArgs

Additional command line arguments to insert between podman and pod create

Maps to quadlet option GlobalArgs.

Type: list of string

Default: [ ]

Example:

[
  "--log-level=debug"
]

virtualisation.quadlet.pods.<name>.podConfig.hostname

Maps to quadlet option HostNameand command line argument --hostname.

Type: null or string

Default: null

Example: "new-host-name"

virtualisation.quadlet.pods.<name>.podConfig.ip

Maps to quadlet option IPand command line argument --ip.

Type: null or string

Default: null

Example: "192.5.0.1"

virtualisation.quadlet.pods.<name>.podConfig.ip6

Maps to quadlet option IP6and command line argument --ip6.

Type: null or string

Default: null

Example: "2001:db8::1"

virtualisation.quadlet.pods.<name>.podConfig.labels

Maps to quadlet option Labeland command line argument --label.

Type: list of string

Default: [ ]

Example:

[
  "XYZ"
]

virtualisation.quadlet.pods.<name>.podConfig.modules

Maps to quadlet option ContainersConfModuleand command line argument --module.

Type: list of string

Default: [ ]

Example:

[
  "/etc/nvd.conf"
]

virtualisation.quadlet.pods.<name>.podConfig.name

Maps to quadlet option PodNameand command line argument --name.

Type: null or string

Default: null

Example: "name"

virtualisation.quadlet.pods.<name>.podConfig.networkAliases

Maps to quadlet option NetworkAliasand command line argument --network-alias.

Type: list of string

Default: [ ]

Example:

[
  "name"
]

virtualisation.quadlet.pods.<name>.podConfig.networks

Maps to quadlet option Networkand command line argument --network.

Type: list of string

Default: [ ]

Example:

[
  "host"
]

virtualisation.quadlet.pods.<name>.podConfig.podmanArgs

Additional command line arguments to insert after podman pod create

Maps to quadlet option PodmanArgs.

Type: list of string

Default: [ ]

Example:

[
  "--cpus=2"
]

virtualisation.quadlet.pods.<name>.podConfig.publishPorts

Maps to quadlet option PublishPortand command line argument --publish.

Type: list of string

Default: [ ]

Example:

[
  "50-59"
]

virtualisation.quadlet.pods.<name>.podConfig.shmSize

Maps to quadlet option ShmSizeand command line argument --shm-size.

Type: null or string

Default: null

Example: "100m"

virtualisation.quadlet.pods.<name>.podConfig.subGIDMap

Maps to quadlet option SubGIDMapand command line argument --subgidname.

Type: null or string

Default: null

Example: "gtest"

virtualisation.quadlet.pods.<name>.podConfig.subUIDMap

Maps to quadlet option SubUIDMapand command line argument --subuidname.

Type: null or string

Default: null

Example: "utest"

virtualisation.quadlet.pods.<name>.podConfig.uidMaps

Maps to quadlet option UIDMapand command line argument --uidmap.

Type: list of string

Default: [ ]

Example:

[
  "0:10000:10"
]

virtualisation.quadlet.pods.<name>.podConfig.userns

Maps to quadlet option UserNSand command line argument --userns.

Type: null or string

Default: null

Example: "keep-id:uid=200,gid=210"

virtualisation.quadlet.pods.<name>.podConfig.volumes

Maps to quadlet option Volumeand command line argument --volume.

Type: list of string

Default: [ ]

Example:

[
  "/source:/dest"
]

virtualisation.quadlet.pods.<name>.quadletConfig.defaultDependencies

Add Quadlet’s default network dependencies to the unit

Maps to quadlet option DefaultDependencies.

Type: null or boolean

Default: null

virtualisation.quadlet.pods.<name>.rawConfig

Raw quadlet config text. Using this will cause all other options contributing to quadlet files to be ignored. autoStart is not affected.

Type: null or string

Default: null

virtualisation.quadlet.pods.<name>.ref

Reference to this pod from other quadlets.

Quadlet resolves this to object (e.g. container) names and sets up appropriate systemd dependencies.

This is recognized for most quadlet native options, but not by Podman command line. Using this inside podmanArgs will therefore unlikely to work.

Type: unspecified value (read only)

virtualisation.quadlet.pods.<name>.serviceConfig

systemd service config passed through to [Service] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.pods.<name>.unitConfig

systemd unit config passed through to [Unit] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.volumes

Volumes

Type: attribute set of (submodule)

Default: { }

virtualisation.quadlet.volumes.<name>.autoStart

When enabled, this volume is automatically started on boot.

Type: boolean

Default: true

virtualisation.quadlet.volumes.<name>.quadletConfig.defaultDependencies

Add Quadlet’s default network dependencies to the unit

Maps to quadlet option DefaultDependencies.

Type: null or boolean

Default: null

virtualisation.quadlet.volumes.<name>.rawConfig

Raw quadlet config text. Using this will cause all other options contributing to quadlet files to be ignored. autoStart is not affected.

Type: null or string

Default: null

virtualisation.quadlet.volumes.<name>.ref

Reference to this volume from other quadlets.

Quadlet resolves this to object (e.g. container) names and sets up appropriate systemd dependencies.

This is recognized for most quadlet native options, but not by Podman command line. Using this inside podmanArgs will therefore unlikely to work.

Type: unspecified value (read only)

virtualisation.quadlet.volumes.<name>.serviceConfig

systemd service config passed through to [Service] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.volumes.<name>.unitConfig

systemd unit config passed through to [Unit] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.volumes.<name>.volumeConfig.copy

Maps to quadlet option Copyand command line argument --opt copy.

Type: null or boolean

Default: null

virtualisation.quadlet.volumes.<name>.volumeConfig.device

Maps to quadlet option Deviceand command line argument --opt device=....

Type: null or string

Default: null

Example: "tmpfs"

virtualisation.quadlet.volumes.<name>.volumeConfig.driver

Maps to quadlet option Driverand command line argument --driver.

Type: null or string

Default: null

Example: "image"

virtualisation.quadlet.volumes.<name>.volumeConfig.globalArgs

Additional command line arguments to insert between podman and volume create

Maps to quadlet option GlobalArgs.

Type: list of string

Default: [ ]

Example:

[
  "--log-level=debug"
]

virtualisation.quadlet.volumes.<name>.volumeConfig.group

Maps to quadlet option Groupand command line argument --opt group=....

Type: null or signed integer or string

Default: null

Example: 192

virtualisation.quadlet.volumes.<name>.volumeConfig.image

Maps to quadlet option Imageand command line argument --opt image=....

Type: null or string

Default: null

Example: "quay.io/centos/centos:latest"

virtualisation.quadlet.volumes.<name>.volumeConfig.labels

Maps to quadlet option Labeland command line argument --label.

Type: list of string

Default: [ ]

Example:

[
  "foo=bar"
]

virtualisation.quadlet.volumes.<name>.volumeConfig.modules

Maps to quadlet option ContainersConfModuleand command line argument --module.

Type: list of string

Default: [ ]

Example:

[
  "/etc/nvd.conf"
]

virtualisation.quadlet.volumes.<name>.volumeConfig.name

Volume name as in podman volume create foo

Maps to quadlet option VolumeName.

Type: null or string

Default: null

Example: "foo"

virtualisation.quadlet.volumes.<name>.volumeConfig.options

Maps to quadlet option Optionsand command line argument --opt o=....

Type: null or string

Default: null

virtualisation.quadlet.volumes.<name>.volumeConfig.podmanArgs

Additional command line arguments to insert after podman volume create

Maps to quadlet option PodmanArgs.

Type: list of string

Default: [ ]

Example:

[
  "--driver=image"
]

virtualisation.quadlet.volumes.<name>.volumeConfig.type

Filesystem type of device

Maps to quadlet option Typeand command line argument --opt type=....

Type: null or string

Default: null

virtualisation.quadlet.volumes.<name>.volumeConfig.user

Maps to quadlet option Userand command line argument --opt uid=....

Type: null or signed integer or string

Default: null

Example: 123

virtualisation.quadlet.autoEscape

Enables appropriate quoting / escaping.

Not enabled by default to avoid breaking existing configurations. In the future this will be required.

Type: boolean

Default: false

virtualisation.quadlet.autoUpdate.enable

Enables podman auto update.

Type: boolean

Default: false

virtualisation.quadlet.autoUpdate.calendar

Schedule for podman auto update. See systemd.time(7) for details.

Type: string

Default: "*-*-* 00:00:00"

virtualisation.quadlet.builds

Image builds

Type: attribute set of (submodule)

Default: { }

virtualisation.quadlet.builds.<name>.autoStart

When enabled, this container is automatically started on boot.

Type: boolean

Default: true

virtualisation.quadlet.builds.<name>.buildConfig.addGroups

Maps to quadlet option GroupAddand command line argument --group-add.

Type: list of string

Default: [ ]

Example:

[
  "keep-groups"
]

virtualisation.quadlet.builds.<name>.buildConfig.annotations

Maps to quadlet option Annotationand command line argument --annotation.

Type: list of string

Default: [ ]

Example:

[
  "XYZ"
]

virtualisation.quadlet.builds.<name>.buildConfig.arch

Maps to quadlet option Archand command line argument --arch.

Type: null or string

Default: null

Example: "aarch64"

virtualisation.quadlet.builds.<name>.buildConfig.authFile

Maps to quadlet option AuthFileand command line argument --authfile.

Type: null or string

Default: null

Example: "/etc/registry/auth.json"

virtualisation.quadlet.builds.<name>.buildConfig.dns

Maps to quadlet option DNSand command line argument --dns.

Type: list of string

Default: [ ]

Example:

[
  "192.168.55.1"
]

virtualisation.quadlet.builds.<name>.buildConfig.dnsOption

Maps to quadlet option DNSOptionand command line argument --dns-option.

Type: list of string

Default: [ ]

Example:

[
  "ndots:1"
]

virtualisation.quadlet.builds.<name>.buildConfig.dnsSearch

Maps to quadlet option DNSSearchand command line argument --dns-search.

Type: list of string

Default: [ ]

Example:

[
  "foo.com"
]

virtualisation.quadlet.builds.<name>.buildConfig.environments

Maps to quadlet option Environmentand command line argument --env.

Type: attribute set of string

Default: { }

Example:

{
  foo = "bar";
}

virtualisation.quadlet.builds.<name>.buildConfig.file

Maps to quadlet option Fileand command line argument --file.

Type: null or string

Default: null

Example: "/path/to/Containerfile"

virtualisation.quadlet.builds.<name>.buildConfig.forceRm

Maps to quadlet option ForceRMand command line argument --force-rm.

Type: null or boolean

Default: null

virtualisation.quadlet.builds.<name>.buildConfig.globalArgs

Additional command line arguments to insert between podman and build

Maps to quadlet option GlobalArgs.

Type: list of string

Default: [ ]

Example:

[
  "--log-level=debug"
]

virtualisation.quadlet.builds.<name>.buildConfig.labels

Maps to quadlet option Labeland command line argument --label.

Type: list of string

Default: [ ]

Example:

[
  "XYZ"
]

virtualisation.quadlet.builds.<name>.buildConfig.modules

Maps to quadlet option ContainersConfModuleand command line argument --module.

Type: list of string

Default: [ ]

Example:

[
  "/etc/nvd.conf"
]

virtualisation.quadlet.builds.<name>.buildConfig.networks

Maps to quadlet option Networkand command line argument --net.

Type: list of string

Default: [ ]

Example:

[
  "host"
]

virtualisation.quadlet.builds.<name>.buildConfig.podmanArgs

Additional command line arguments to insert after podman build

Maps to quadlet option PodmanArgs.

Type: list of string

Default: [ ]

Example:

[
  "--add-host foobar"
]

virtualisation.quadlet.builds.<name>.buildConfig.pull

Maps to quadlet option Pulland command line argument --pull.

Type: null or string

Default: null

Example: "never"

virtualisation.quadlet.builds.<name>.buildConfig.retry

Maps to quadlet option Retryand command line argument --retry.

Type: null or signed integer

Default: null

Example: 5

virtualisation.quadlet.builds.<name>.buildConfig.retryDelay

Maps to quadlet option RetryDelayand command line argument --retry-delay.

Type: null or string

Default: null

Example: "5s"

virtualisation.quadlet.builds.<name>.buildConfig.secrets

Maps to quadlet option Secretand command line argument --secret.

Type: list of string

Default: [ ]

Example:

[
  "secret[,opt=opt …]"
]

virtualisation.quadlet.builds.<name>.buildConfig.tag

Maps to quadlet option ImageTagand command line argument --tag.

Type: null or string

Default: null

Example: "localhost/imagename"

virtualisation.quadlet.builds.<name>.buildConfig.target

Maps to quadlet option Targetand command line argument --target.

Type: null or string

Default: null

Example: "my-app"

virtualisation.quadlet.builds.<name>.buildConfig.tlsVerify

Maps to quadlet option TLSVerifyand command line argument --tls-verify.

Type: null or boolean

Default: null

virtualisation.quadlet.builds.<name>.buildConfig.variant

Maps to quadlet option Variantand command line argument --variant.

Type: null or string

Default: null

Example: "arm/v7"

virtualisation.quadlet.builds.<name>.buildConfig.volumes

Maps to quadlet option Volumeand command line argument --volume.

Type: list of string

Default: [ ]

Example:

[
  "/source:/dest"
]

virtualisation.quadlet.builds.<name>.buildConfig.workdir

Sets WorkingDirectory of systemd unit file

Maps to quadlet option SetWorkingDirectory.

Type: null or string

Default: null

Example: "file"

virtualisation.quadlet.builds.<name>.quadletConfig.defaultDependencies

Add Quadlet’s default network dependencies to the unit

Maps to quadlet option DefaultDependencies.

Type: null or boolean

Default: null

virtualisation.quadlet.builds.<name>.rawConfig

Raw quadlet config text. Using this will cause all other options contributing to quadlet files to be ignored. autoStart is not affected.

Type: null or string

Default: null

virtualisation.quadlet.builds.<name>.ref

Reference to this container from other quadlets.

Quadlet resolves this to object (e.g. container) names and sets up appropriate systemd dependencies.

This is recognized for most quadlet native options, but not by Podman command line. Using this inside podmanArgs will therefore unlikely to work.

Type: unspecified value (read only)

virtualisation.quadlet.builds.<name>.serviceConfig

systemd service config passed through to [Service] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.builds.<name>.unitConfig

systemd unit config passed through to [Unit] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.containers

Containers

Type: attribute set of (submodule)

Default: { }

virtualisation.quadlet.containers.<name>.autoStart

When enabled, this container is automatically started on boot.

Type: boolean

Default: true

virtualisation.quadlet.containers.<name>.containerConfig.addCapabilities

Maps to quadlet option AddCapabilityand command line argument --cap-add.

Type: list of string

Default: [ ]

Example:

[
  "NET_ADMIN"
]

virtualisation.quadlet.containers.<name>.containerConfig.addGroups

Maps to quadlet option GroupAddand command line argument --group-add.

Type: list of string

Default: [ ]

Example:

[
  "keep-groups"
]

virtualisation.quadlet.containers.<name>.containerConfig.addHosts

Maps to quadlet option AddHostand command line argument --add-host.

Type: list of string

Default: [ ]

Example:

[
  "hostname:192.168.10.11"
]

virtualisation.quadlet.containers.<name>.containerConfig.annotations

Maps to quadlet option Annotationand command line argument --annotation.

Type: list of string

Default: [ ]

Example:

[
  "XYZ"
]

virtualisation.quadlet.containers.<name>.containerConfig.autoUpdate

Maps to quadlet option AutoUpdateand command line argument --label "io.containers.autoupdate=...".

Type: null or one of “registry”, “local”

Default: null

Example: "registry"

virtualisation.quadlet.containers.<name>.containerConfig.cgroupsMode

Maps to quadlet option CgroupsModeand command line argument --cgroups.

Type: null or string

Default: null

Example: "no-conmon"

virtualisation.quadlet.containers.<name>.containerConfig.devices

Maps to quadlet option AddDeviceand command line argument --device.

Type: list of string

Default: [ ]

Example:

[
  "/dev/foo"
]

virtualisation.quadlet.containers.<name>.containerConfig.dns

Maps to quadlet option DNSand command line argument --dns.

Type: list of string

Default: [ ]

Example:

[
  "192.168.55.1"
]

virtualisation.quadlet.containers.<name>.containerConfig.dnsOption

Maps to quadlet option DNSOptionand command line argument --dns-option.

Type: list of string

Default: [ ]

Example:

[
  "ndots:1"
]

virtualisation.quadlet.containers.<name>.containerConfig.dnsSearch

Maps to quadlet option DNSSearchand command line argument --dns-search.

Type: list of string

Default: [ ]

Example:

[
  "foo.com"
]

virtualisation.quadlet.containers.<name>.containerConfig.dropCapabilities

Maps to quadlet option DropCapabilityand command line argument --cap-drop.

Type: list of string

Default: [ ]

Example:

[
  "NET_ADMIN"
]

virtualisation.quadlet.containers.<name>.containerConfig.entrypoint

Maps to quadlet option Entrypointand command line argument --entrypoint.

Type: null or string

Default: null

Example: "/foo.sh"

virtualisation.quadlet.containers.<name>.containerConfig.environmentFiles

Maps to quadlet option EnvironmentFileand command line argument --env-file.

Type: list of string

Default: [ ]

Example:

[
  "/tmp/env"
]

virtualisation.quadlet.containers.<name>.containerConfig.environmentHost

Maps to quadlet option EnvironmentHostand command line argument --env-host.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.environments

Maps to quadlet option Environmentand command line argument --env.

Type: attribute set of string

Default: { }

Example:

{
  foo = "bar";
}

virtualisation.quadlet.containers.<name>.containerConfig.exec

Command after image specification

Maps to quadlet option Exec.

Type: null or string or list of string

Default: null

Example: "/usr/bin/command"

virtualisation.quadlet.containers.<name>.containerConfig.exposePorts

Maps to quadlet option ExposeHostPortand command line argument --expose.

Type: list of string

Default: [ ]

Example:

[
  "50-59"
]

virtualisation.quadlet.containers.<name>.containerConfig.gidMaps

Maps to quadlet option GIDMapand command line argument --gidmap.

Type: list of string

Default: [ ]

Example:

[
  "0:10000:10"
]

virtualisation.quadlet.containers.<name>.containerConfig.globalArgs

Additional command line arguments to insert between podman and run

Maps to quadlet option GlobalArgs.

Type: list of string

Default: [ ]

Example:

[
  "--log-level=debug"
]

virtualisation.quadlet.containers.<name>.containerConfig.group

Maps to quadlet option Groupand command line argument --user UID:....

Type: null or string

Default: null

Example: "1234"

virtualisation.quadlet.containers.<name>.containerConfig.healthCmd

Maps to quadlet option HealthCmdand command line argument --health-cmd.

Type: null or string

Default: null

Example: "/usr/bin/command"

virtualisation.quadlet.containers.<name>.containerConfig.healthInterval

Maps to quadlet option HealthIntervaland command line argument --health-interval.

Type: null or string

Default: null

Example: "2m"

virtualisation.quadlet.containers.<name>.containerConfig.healthLogDestination

Maps to quadlet option HealthLogDestinationand command line argument --health-log-destination.

Type: null or string

Default: null

Example: "/foo/log"

virtualisation.quadlet.containers.<name>.containerConfig.healthMaxLogCount

Maps to quadlet option HealthMaxLogCountand command line argument --health-max-log-count.

Type: null or signed integer

Default: null

Example: 5

virtualisation.quadlet.containers.<name>.containerConfig.healthMaxLogSize

Maps to quadlet option HealthMaxLogSizeand command line argument --health-max-log-size.

Type: null or signed integer

Default: null

Example: 500

virtualisation.quadlet.containers.<name>.containerConfig.healthOnFailure

Maps to quadlet option HealthOnFailureand command line argument --health-on-failure.

Type: null or string

Default: null

Example: "kill"

virtualisation.quadlet.containers.<name>.containerConfig.healthRetries

Maps to quadlet option HealthRetriesand command line argument --health-retries.

Type: null or signed integer

Default: null

Example: 5

virtualisation.quadlet.containers.<name>.containerConfig.healthStartPeriod

Maps to quadlet option HealthStartPeriodand command line argument --health-start-period.

Type: null or string

Default: null

Example: "1m"

virtualisation.quadlet.containers.<name>.containerConfig.healthStartupCmd

Maps to quadlet option HealthStartupCmdand command line argument --health-startup-cmd.

Type: null or string

Default: null

Example: "/usr/bin/command"

virtualisation.quadlet.containers.<name>.containerConfig.healthStartupInterval

Maps to quadlet option HealthStartupIntervaland command line argument --health-startup-interval.

Type: null or string

Default: null

Example: "1m"

virtualisation.quadlet.containers.<name>.containerConfig.healthStartupRetries

Maps to quadlet option HealthStartupRetriesand command line argument --health-startup-retries.

Type: null or signed integer

Default: null

Example: 8

virtualisation.quadlet.containers.<name>.containerConfig.healthStartupSuccess

Maps to quadlet option HealthStartupSuccessand command line argument --health-startup-success.

Type: null or signed integer

Default: null

Example: 2

virtualisation.quadlet.containers.<name>.containerConfig.healthStartupTimeout

Maps to quadlet option HealthStartupTimeoutand command line argument --health-startup-timeout.

Type: null or string

Default: null

Example: "1m33s"

virtualisation.quadlet.containers.<name>.containerConfig.healthTimeout

Maps to quadlet option HealthTimeoutand command line argument --health-timeout.

Type: null or string

Default: null

Example: "20s"

virtualisation.quadlet.containers.<name>.containerConfig.hostname

Maps to quadlet option HostNameand command line argument --hostname.

Type: null or string

Default: null

Example: "new-host-name"

virtualisation.quadlet.containers.<name>.containerConfig.image

Image specification

Maps to quadlet option Image.

Type: null or string

Default: null

Example: "docker.io/library/nginx:latest"

virtualisation.quadlet.containers.<name>.containerConfig.ip

Maps to quadlet option IPand command line argument --ip.

Type: null or string

Default: null

Example: "192.5.0.1"

virtualisation.quadlet.containers.<name>.containerConfig.ip6

Maps to quadlet option IP6and command line argument --ip6.

Type: null or string

Default: null

Example: "fd46:db93:aa76:ac37::10"

virtualisation.quadlet.containers.<name>.containerConfig.labels

Maps to quadlet option Labeland command line argument --label.

Type: list of string

Default: [ ]

Example:

[
  "XYZ"
]

virtualisation.quadlet.containers.<name>.containerConfig.logDriver

Maps to quadlet option LogDriverand command line argument --log-driver.

Type: null or string

Default: null

Example: "journald"

virtualisation.quadlet.containers.<name>.containerConfig.logOptions

Maps to quadlet option LogOptand command line argument --log-opt.

Type: list of string

Default: [ ]

Example:

[
  "path=/var/log/mykube.json"
]

virtualisation.quadlet.containers.<name>.containerConfig.mask

Maps to quadlet option Maskand command line argument --security-opt mask=....

Type: null or string

Default: null

Example: "/proc/sys/foo:/proc/sys/bar"

virtualisation.quadlet.containers.<name>.containerConfig.memory

Maps to quadlet option Memoryand command line argument --memory.

Type: null or string

Default: null

Example: "20g"

virtualisation.quadlet.containers.<name>.containerConfig.modules

Maps to quadlet option ContainersConfModuleand command line argument --module.

Type: list of string

Default: [ ]

Example:

[
  "/etc/nvd.conf"
]

virtualisation.quadlet.containers.<name>.containerConfig.mounts

Maps to quadlet option Mountand command line argument --mount.

Type: list of string

Default: [ ]

Example:

[
  "type=..."
]

virtualisation.quadlet.containers.<name>.containerConfig.name

Maps to quadlet option ContainerNameand command line argument --name.

Type: null or string

Default: null

Example: "name"

virtualisation.quadlet.containers.<name>.containerConfig.networkAliases

Maps to quadlet option NetworkAliasand command line argument --network-alias.

Type: list of string

Default: [ ]

Example:

[
  "name"
]

virtualisation.quadlet.containers.<name>.containerConfig.networks

Maps to quadlet option Networkand command line argument --net.

Type: list of string

Default: [ ]

Example:

[
  "host"
]

virtualisation.quadlet.containers.<name>.containerConfig.noNewPrivileges

Maps to quadlet option NoNewPrivilegesand command line argument --security-opt no-new-privileges.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.notify

Maps to quadlet option Notifyand command line argument --sdnotify container.

Type: one of <null>, true, false, “healthy”

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.pidsLimit

Maps to quadlet option PidsLimitand command line argument --pids-limit.

Type: null or signed integer

Default: null

Example: 10000

virtualisation.quadlet.containers.<name>.containerConfig.pod

Maps to quadlet option Podand command line argument --pod.

Type: null or string

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.podmanArgs

Additional command line arguments to insert after podman run

Maps to quadlet option PodmanArgs.

Type: list of string

Default: [ ]

Example:

[
  "--add-host foobar"
]

virtualisation.quadlet.containers.<name>.containerConfig.publishPorts

Maps to quadlet option PublishPortand command line argument --publish.

Type: list of string

Default: [ ]

Example:

[
  "50-59"
]

virtualisation.quadlet.containers.<name>.containerConfig.pull

Maps to quadlet option Pulland command line argument --pull.

Type: null or string

Default: null

Example: "never"

virtualisation.quadlet.containers.<name>.containerConfig.readOnly

Maps to quadlet option ReadOnlyand command line argument --read-only.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.readOnlyTmpfs

Maps to quadlet option ReadOnlyTmpfsand command line argument --read-only-tmpfs.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.reloadCmd

Adds ExecReload and run exec with the value

Maps to quadlet option ReloadCmd.

Type: null or string or list of string

Default: null

Example: "/usr/bin/command"

virtualisation.quadlet.containers.<name>.containerConfig.reloadSignal

Add ExecReload and run kill with the signal

Maps to quadlet option ReloadSignal.

Type: null or string

Default: null

Example: "SIGHUP"

virtualisation.quadlet.containers.<name>.containerConfig.retry

Maps to quadlet option Retryand command line argument --retry.

Type: null or signed integer

Default: null

Example: 5

virtualisation.quadlet.containers.<name>.containerConfig.retryDelay

Maps to quadlet option RetryDelayand command line argument --retry-delay.

Type: null or string

Default: null

Example: "5s"

virtualisation.quadlet.containers.<name>.containerConfig.rootfs

Maps to quadlet option Rootfsand command line argument --rootfs.

Type: null or string

Default: null

Example: "/var/lib/rootfs"

virtualisation.quadlet.containers.<name>.containerConfig.runInit

Maps to quadlet option RunInitand command line argument --init.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.seccompProfile

Maps to quadlet option SeccompProfileand command line argument --security-opt seccomp=....

Type: null or string

Default: null

Example: "/tmp/s.json"

virtualisation.quadlet.containers.<name>.containerConfig.secrets

Maps to quadlet option Secretand command line argument --secret.

Type: list of string

Default: [ ]

Example:

[
  "secret[,opt=opt …]"
]

virtualisation.quadlet.containers.<name>.containerConfig.securityLabelDisable

Maps to quadlet option SecurityLabelDisableand command line argument --security-opt label=disable.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.securityLabelFileType

Maps to quadlet option SecurityLabelFileTypeand command line argument --security-opt label=filetype:....

Type: null or string

Default: null

Example: "usr_t"

virtualisation.quadlet.containers.<name>.containerConfig.securityLabelLevel

Maps to quadlet option SecurityLabelLeveland command line argument --security-opt label=level:s0:c1,c2.

Type: null or string

Default: null

Example: "s0:c1,c2"

virtualisation.quadlet.containers.<name>.containerConfig.securityLabelNested

Maps to quadlet option SecurityLabelNestedand command line argument --security-opt label=nested.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.securityLabelType

Maps to quadlet option SecurityLabelTypeand command line argument --security-opt label=type:....

Type: null or string

Default: null

Example: "spc_t"

virtualisation.quadlet.containers.<name>.containerConfig.shmSize

Maps to quadlet option ShmSizeand command line argument --shm-size.

Type: null or string

Default: null

Example: "100m"

virtualisation.quadlet.containers.<name>.containerConfig.startWithPod

If pod is defined, container is started by pod

Maps to quadlet option StartWithPod.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.containerConfig.stopSignal

Maps to quadlet option StopSignaland command line argument --stop-signal.

Type: null or string

Default: null

Example: "SIGINT"

virtualisation.quadlet.containers.<name>.containerConfig.stopTimeout

Maps to quadlet option StopTimeoutand command line argument --stop-timeout.

Type: null or signed integer

Default: null

Example: 20

virtualisation.quadlet.containers.<name>.containerConfig.subGIDMap

Maps to quadlet option SubGIDMapand command line argument --subgidname.

Type: null or string

Default: null

Example: "gtest"

virtualisation.quadlet.containers.<name>.containerConfig.subUIDMap

Maps to quadlet option SubUIDMapand command line argument --subuidname.

Type: null or string

Default: null

Example: "utest"

virtualisation.quadlet.containers.<name>.containerConfig.sysctl

Maps to quadlet option Sysctland command line argument --sysctl.

Type: attribute set of string

Default: { }

Example:

{
  name = "value";
}

virtualisation.quadlet.containers.<name>.containerConfig.timezone

Maps to quadlet option Timezoneand command line argument --tz.

Type: null or string

Default: null

Example: "local"

virtualisation.quadlet.containers.<name>.containerConfig.tmpfses

Maps to quadlet option Tmpfsand command line argument --tmpfs.

Type: list of string

Default: [ ]

Example:

[
  "/work"
]

virtualisation.quadlet.containers.<name>.containerConfig.uidMaps

Maps to quadlet option UIDMapand command line argument --uidmap.

Type: list of string

Default: [ ]

Example:

[
  "0:10000:10"
]

virtualisation.quadlet.containers.<name>.containerConfig.ulimits

Maps to quadlet option Ulimitand command line argument --ulimit.

Type: list of string

Default: [ ]

Example:

[
  "nofile=1000:10000"
]

virtualisation.quadlet.containers.<name>.containerConfig.unmask

Maps to quadlet option Unmaskand command line argument --security-opt unmask=....

Type: null or string

Default: null

Example: "ALL"

virtualisation.quadlet.containers.<name>.containerConfig.user

Maps to quadlet option Userand command line argument --user.

Type: null or string

Default: null

Example: "bin"

virtualisation.quadlet.containers.<name>.containerConfig.userns

Maps to quadlet option UserNSand command line argument --userns.

Type: null or string

Default: null

Example: "keep-id:uid=200,gid=210"

virtualisation.quadlet.containers.<name>.containerConfig.volumes

Maps to quadlet option Volumeand command line argument --volume.

Type: list of string

Default: [ ]

Example:

[
  "/source:/dest"
]

virtualisation.quadlet.containers.<name>.containerConfig.workdir

Maps to quadlet option WorkingDirand command line argument --workdir.

Type: null or string

Default: null

Example: "$HOME"

virtualisation.quadlet.containers.<name>.quadletConfig.defaultDependencies

Add Quadlet’s default network dependencies to the unit

Maps to quadlet option DefaultDependencies.

Type: null or boolean

Default: null

virtualisation.quadlet.containers.<name>.rawConfig

Raw quadlet config text. Using this will cause all other options contributing to quadlet files to be ignored. autoStart is not affected.

Type: null or string

Default: null

virtualisation.quadlet.containers.<name>.ref

Reference to this container from other quadlets.

Quadlet resolves this to object (e.g. container) names and sets up appropriate systemd dependencies.

This is recognized for most quadlet native options, but not by Podman command line. Using this inside podmanArgs will therefore unlikely to work.

Type: unspecified value (read only)

virtualisation.quadlet.containers.<name>.serviceConfig

systemd service config passed through to [Service] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.containers.<name>.unitConfig

systemd unit config passed through to [Unit] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.networks

Networks

Type: attribute set of (submodule)

Default: { }

virtualisation.quadlet.networks.<name>.autoStart

When enabled, this network is automatically started on boot.

Type: boolean

Default: true

virtualisation.quadlet.networks.<name>.networkConfig.disableDns

Maps to quadlet option DisableDNSand command line argument --disable-dns.

Type: null or boolean

Default: null

virtualisation.quadlet.networks.<name>.networkConfig.dns

Maps to quadlet option DNSand command line argument --dns.

Type: list of string

Default: [ ]

Example:

[
  "192.168.55.1"
]

virtualisation.quadlet.networks.<name>.networkConfig.driver

Maps to quadlet option Driverand command line argument --driver.

Type: null or one of “bridge”, “macvlan”, “ipvlan”

Default: null

Example: "bridge"

virtualisation.quadlet.networks.<name>.networkConfig.gateways

Maps to quadlet option Gatewayand command line argument --gateway.

Type: list of string

Default: [ ]

Example:

[
  "192.168.55.3"
]

virtualisation.quadlet.networks.<name>.networkConfig.globalArgs

Additional command line arguments to insert between podman and network create

Maps to quadlet option GlobalArgs.

Type: list of string

Default: [ ]

Example:

[
  "--log-level=debug"
]

virtualisation.quadlet.networks.<name>.networkConfig.internal

Maps to quadlet option Internaland command line argument --internal.

Type: null or boolean

Default: null

virtualisation.quadlet.networks.<name>.networkConfig.ipRanges

Maps to quadlet option IPRangeand command line argument --ip-range.

Type: list of string

Default: [ ]

Example:

[
  "192.168.55.128/25"
]

virtualisation.quadlet.networks.<name>.networkConfig.ipamDriver

Maps to quadlet option IPAMDriverand command line argument --ipam-driver.

Type: null or one of “host-local”, “dhcp”, “none”

Default: null

Example: "dhcp"

virtualisation.quadlet.networks.<name>.networkConfig.ipv6

Maps to quadlet option IPv6and command line argument --ipv6.

Type: null or boolean

Default: null

virtualisation.quadlet.networks.<name>.networkConfig.labels

Maps to quadlet option Labeland command line argument --label.

Type: list of string

Default: [ ]

Example:

[
  "XYZ"
]

virtualisation.quadlet.networks.<name>.networkConfig.modules

Maps to quadlet option ContainersConfModuleand command line argument --module.

Type: list of string

Default: [ ]

Example:

[
  "/etc/nvd.conf"
]

virtualisation.quadlet.networks.<name>.networkConfig.name

Network name as in podman network create foo

Maps to quadlet option NetworkName.

Type: null or string

Default: null

Example: "foo"

virtualisation.quadlet.networks.<name>.networkConfig.networkDeleteOnStop

When set to true the network is deleted when the service is stopped

Maps to quadlet option NetworkDeleteOnStop.

Type: null or boolean

Default: null

virtualisation.quadlet.networks.<name>.networkConfig.options

Maps to quadlet option Optionsand command line argument --opt.

Type: null or string

Default: null

Example: "isolate"

virtualisation.quadlet.networks.<name>.networkConfig.podmanArgs

Additional command line arguments to insert after podman network create

Maps to quadlet option PodmanArgs.

Type: list of string

Default: [ ]

Example:

[
  "--dns=192.168.55.1"
]

virtualisation.quadlet.networks.<name>.networkConfig.subnets

Maps to quadlet option Subnetand command line argument --subnet.

Type: list of string

Default: [ ]

Example:

[
  "192.5.0.0/16"
]

virtualisation.quadlet.networks.<name>.quadletConfig.defaultDependencies

Add Quadlet’s default network dependencies to the unit

Maps to quadlet option DefaultDependencies.

Type: null or boolean

Default: null

virtualisation.quadlet.networks.<name>.rawConfig

Raw quadlet config text. Using this will cause all other options contributing to quadlet files to be ignored. autoStart is not affected.

Type: null or string

Default: null

virtualisation.quadlet.networks.<name>.ref

Reference to this network from other quadlets.

Quadlet resolves this to object (e.g. container) names and sets up appropriate systemd dependencies.

This is recognized for most quadlet native options, but not by Podman command line. Using this inside podmanArgs will therefore unlikely to work.

Type: unspecified value (read only)

virtualisation.quadlet.networks.<name>.serviceConfig

systemd service config passed through to [Service] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.networks.<name>.unitConfig

systemd unit config passed through to [Unit] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.pods

Pods

Type: attribute set of (submodule)

Default: { }

virtualisation.quadlet.pods.<name>.autoStart

When enabled, this pod is automatically started on boot.

Type: boolean

Default: true

virtualisation.quadlet.pods.<name>.podConfig.addHosts

Maps to quadlet option AddHostand command line argument --add-host.

Type: list of string

Default: [ ]

Example:

[
  "hostname:192.168.10.11"
]

virtualisation.quadlet.pods.<name>.podConfig.dns

Maps to quadlet option DNSand command line argument --dns.

Type: list of string

Default: [ ]

Example:

[
  "192.168.55.1"
]

virtualisation.quadlet.pods.<name>.podConfig.dnsOptions

Maps to quadlet option DNSOptionand command line argument --dns-option.

Type: list of string

Default: [ ]

Example:

[
  "ndots:1"
]

virtualisation.quadlet.pods.<name>.podConfig.dnsSearches

Maps to quadlet option DNSSearchand command line argument --dns-search.

Type: list of string

Default: [ ]

Example:

[
  "foo.com"
]

virtualisation.quadlet.pods.<name>.podConfig.gidMaps

Maps to quadlet option GIDMapand command line argument --gidmap.

Type: list of string

Default: [ ]

Example:

[
  "0:10000:10"
]

virtualisation.quadlet.pods.<name>.podConfig.globalArgs

Additional command line arguments to insert between podman and pod create

Maps to quadlet option GlobalArgs.

Type: list of string

Default: [ ]

Example:

[
  "--log-level=debug"
]

virtualisation.quadlet.pods.<name>.podConfig.hostname

Maps to quadlet option HostNameand command line argument --hostname.

Type: null or string

Default: null

Example: "new-host-name"

virtualisation.quadlet.pods.<name>.podConfig.ip

Maps to quadlet option IPand command line argument --ip.

Type: null or string

Default: null

Example: "192.5.0.1"

virtualisation.quadlet.pods.<name>.podConfig.ip6

Maps to quadlet option IP6and command line argument --ip6.

Type: null or string

Default: null

Example: "2001:db8::1"

virtualisation.quadlet.pods.<name>.podConfig.labels

Maps to quadlet option Labeland command line argument --label.

Type: list of string

Default: [ ]

Example:

[
  "XYZ"
]

virtualisation.quadlet.pods.<name>.podConfig.modules

Maps to quadlet option ContainersConfModuleand command line argument --module.

Type: list of string

Default: [ ]

Example:

[
  "/etc/nvd.conf"
]

virtualisation.quadlet.pods.<name>.podConfig.name

Maps to quadlet option PodNameand command line argument --name.

Type: null or string

Default: null

Example: "name"

virtualisation.quadlet.pods.<name>.podConfig.networkAliases

Maps to quadlet option NetworkAliasand command line argument --network-alias.

Type: list of string

Default: [ ]

Example:

[
  "name"
]

virtualisation.quadlet.pods.<name>.podConfig.networks

Maps to quadlet option Networkand command line argument --network.

Type: list of string

Default: [ ]

Example:

[
  "host"
]

virtualisation.quadlet.pods.<name>.podConfig.podmanArgs

Additional command line arguments to insert after podman pod create

Maps to quadlet option PodmanArgs.

Type: list of string

Default: [ ]

Example:

[
  "--cpus=2"
]

virtualisation.quadlet.pods.<name>.podConfig.publishPorts

Maps to quadlet option PublishPortand command line argument --publish.

Type: list of string

Default: [ ]

Example:

[
  "50-59"
]

virtualisation.quadlet.pods.<name>.podConfig.shmSize

Maps to quadlet option ShmSizeand command line argument --shm-size.

Type: null or string

Default: null

Example: "100m"

virtualisation.quadlet.pods.<name>.podConfig.subGIDMap

Maps to quadlet option SubGIDMapand command line argument --subgidname.

Type: null or string

Default: null

Example: "gtest"

virtualisation.quadlet.pods.<name>.podConfig.subUIDMap

Maps to quadlet option SubUIDMapand command line argument --subuidname.

Type: null or string

Default: null

Example: "utest"

virtualisation.quadlet.pods.<name>.podConfig.uidMaps

Maps to quadlet option UIDMapand command line argument --uidmap.

Type: list of string

Default: [ ]

Example:

[
  "0:10000:10"
]

virtualisation.quadlet.pods.<name>.podConfig.userns

Maps to quadlet option UserNSand command line argument --userns.

Type: null or string

Default: null

Example: "keep-id:uid=200,gid=210"

virtualisation.quadlet.pods.<name>.podConfig.volumes

Maps to quadlet option Volumeand command line argument --volume.

Type: list of string

Default: [ ]

Example:

[
  "/source:/dest"
]

virtualisation.quadlet.pods.<name>.quadletConfig.defaultDependencies

Add Quadlet’s default network dependencies to the unit

Maps to quadlet option DefaultDependencies.

Type: null or boolean

Default: null

virtualisation.quadlet.pods.<name>.rawConfig

Raw quadlet config text. Using this will cause all other options contributing to quadlet files to be ignored. autoStart is not affected.

Type: null or string

Default: null

virtualisation.quadlet.pods.<name>.ref

Reference to this pod from other quadlets.

Quadlet resolves this to object (e.g. container) names and sets up appropriate systemd dependencies.

This is recognized for most quadlet native options, but not by Podman command line. Using this inside podmanArgs will therefore unlikely to work.

Type: unspecified value (read only)

virtualisation.quadlet.pods.<name>.serviceConfig

systemd service config passed through to [Service] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.pods.<name>.unitConfig

systemd unit config passed through to [Unit] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.volumes

Volumes

Type: attribute set of (submodule)

Default: { }

virtualisation.quadlet.volumes.<name>.autoStart

When enabled, this volume is automatically started on boot.

Type: boolean

Default: true

virtualisation.quadlet.volumes.<name>.quadletConfig.defaultDependencies

Add Quadlet’s default network dependencies to the unit

Maps to quadlet option DefaultDependencies.

Type: null or boolean

Default: null

virtualisation.quadlet.volumes.<name>.rawConfig

Raw quadlet config text. Using this will cause all other options contributing to quadlet files to be ignored. autoStart is not affected.

Type: null or string

Default: null

virtualisation.quadlet.volumes.<name>.ref

Reference to this volume from other quadlets.

Quadlet resolves this to object (e.g. container) names and sets up appropriate systemd dependencies.

This is recognized for most quadlet native options, but not by Podman command line. Using this inside podmanArgs will therefore unlikely to work.

Type: unspecified value (read only)

virtualisation.quadlet.volumes.<name>.serviceConfig

systemd service config passed through to [Service] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.volumes.<name>.unitConfig

systemd unit config passed through to [Unit] section.

Type: attribute set of (systemd option)

Default: { }

virtualisation.quadlet.volumes.<name>.volumeConfig.copy

Maps to quadlet option Copyand command line argument --opt copy.

Type: null or boolean

Default: null

virtualisation.quadlet.volumes.<name>.volumeConfig.device

Maps to quadlet option Deviceand command line argument --opt device=....

Type: null or string

Default: null

Example: "tmpfs"

virtualisation.quadlet.volumes.<name>.volumeConfig.driver

Maps to quadlet option Driverand command line argument --driver.

Type: null or string

Default: null

Example: "image"

virtualisation.quadlet.volumes.<name>.volumeConfig.globalArgs

Additional command line arguments to insert between podman and volume create

Maps to quadlet option GlobalArgs.

Type: list of string

Default: [ ]

Example:

[
  "--log-level=debug"
]

virtualisation.quadlet.volumes.<name>.volumeConfig.group

Maps to quadlet option Groupand command line argument --opt group=....

Type: null or signed integer or string

Default: null

Example: 192

virtualisation.quadlet.volumes.<name>.volumeConfig.image

Maps to quadlet option Imageand command line argument --opt image=....

Type: null or string

Default: null

Example: "quay.io/centos/centos:latest"

virtualisation.quadlet.volumes.<name>.volumeConfig.labels

Maps to quadlet option Labeland command line argument --label.

Type: list of string

Default: [ ]

Example:

[
  "foo=bar"
]

virtualisation.quadlet.volumes.<name>.volumeConfig.modules

Maps to quadlet option ContainersConfModuleand command line argument --module.

Type: list of string

Default: [ ]

Example:

[
  "/etc/nvd.conf"
]

virtualisation.quadlet.volumes.<name>.volumeConfig.name

Volume name as in podman volume create foo

Maps to quadlet option VolumeName.

Type: null or string

Default: null

Example: "foo"

virtualisation.quadlet.volumes.<name>.volumeConfig.options

Maps to quadlet option Optionsand command line argument --opt o=....

Type: null or string

Default: null

virtualisation.quadlet.volumes.<name>.volumeConfig.podmanArgs

Additional command line arguments to insert after podman volume create

Maps to quadlet option PodmanArgs.

Type: list of string

Default: [ ]

Example:

[
  "--driver=image"
]

virtualisation.quadlet.volumes.<name>.volumeConfig.type

Filesystem type of device

Maps to quadlet option Typeand command line argument --opt type=....

Type: null or string

Default: null

virtualisation.quadlet.volumes.<name>.volumeConfig.user

Maps to quadlet option Userand command line argument --opt uid=....

Type: null or signed integer or string

Default: null

Example: 123