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
{
# ...
# to enable podman & podman systemd generator
virtualisation.quadlet.enable = true;
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 ];
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";
};
};
};
};
}
Volumes
{ config, ... }: {
# ...
virtualisation.quadlet = let
inherit (config.virtualisation.quadlet) volumes;
in {
containers.nginx.containerConfig.image = "docker.io/library/nginx:latest";
containers.nginx.containerConfig.volumes = [
"${volumes.nginx-config.ref}:/etc/nginx"
];
volumes.nginx-config.volumeConfig = {
type = "bind";
device = "/path/to/host/directory";
};
};
}
Build (inlined Containerfile)
{ pkgs, config, ... }: {
# ...
virtualisation.quadlet = let
inherit (config.virtualisation.quadlet) builds;
containerfile = pkgs.writeText "Containerfile" ''
FROM docker.io/library/nginx:latest
# ...
'';
in {
containers.nginx.containerConfig.image = builds.nginx.ref;
builds.nginx.buildConfig.file = containerfile.outPath;
};
}
Build (git repository)
{ config, ... }: {
# ...
virtualisation.quadlet = let
inherit (config.virtualisation.quadlet) builds;
src = builtins.fetchGit {
url = "https://github.com/alpinelinux/docker-alpine.git";
rev = "4dc13cbc7caffe03c98aa99f28e27c2fb6f7e74d";
};
in {
containers.example.containerConfig = {
image = builds.alpine.ref;
entrypoint = "/bin/sh";
exec = "-c 'echo 123'";
};
containers.example.serviceConfig.RemainAfterExit = true;
builds.alpine.buildConfig = {
tag = "alpine:3.22";
workdir = "${src}/x86_64";
};
};
}
Alternatively, git integration of Podman can be used through workdir = "https://github.com/nginx/docker-nginx.git". However, it will be users' responsibility to make binaries such as git available to the build service via PATH.
Image
{ config, ... }: {
# ...
virtualisation.quadlet = let
inherit (config.virtualisation.quadlet) images;
in {
containers.nginx.containerConfig.image = images.nginx.ref;
images.nginx.imageConfig.image = "docker-archive:/path/to/local/image";
images.nginx.imageConfig.tag = "docker.com/library/nginx:latest";
};
}
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
Dependencies
Obvious dependencies such as those between containers and their networks are automatically set up by Quadlet, and thus no additional configuration is needed.
Extra dependencies can be set up in systemd unit config. Note that .ref syntax is only valid in quadlet and does not work from regular systemd units.
{ config, ... }: {
# ...
virtualisation.quadlet = let
inherit (config.virtualisation.quadlet) containers;
in {
containers = {
database = {
# ...
};
server = {
# ...
unitConfig.Requires = [ containers.database.ref "network-online.target" ];
unitConfig.After = [ containers.database.ref "network-online.target" ];
};
};
};
}
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.enable
Enables quadlet-nix
Type: null or boolean
Default:
null
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 build 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) or attribute set of string
Default:
{ }
Example:
{
annotation = "value";
}
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) or attribute set of string
Default:
{ }
Example:
{
foo = "bar";
}
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 build 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) or attribute set of string
Default:
{ }
Example:
{
annotation = "value";
}
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 or list of 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) or attribute set of string
Default:
{ }
Example:
{
foo = "bar";
}
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.images
Image pulls
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.images.<name>.autoStart
When enabled, this image is automatically started on boot.
Type: boolean
Default:
true
virtualisation.quadlet.images.<name>.imageConfig.allTags
Maps to quadlet option AllTagsand command line argument --all-tags.
Type: null or boolean
Default:
null
virtualisation.quadlet.images.<name>.imageConfig.arch
Maps to quadlet option Archand command line argument --arch.
Type: null or string
Default:
null
Example:
"aarch64"
virtualisation.quadlet.images.<name>.imageConfig.authFile
Maps to quadlet option AuthFileand command line argument --authfile.
Type: null or string
Default:
null
Example:
"/etc/registry/auth.json"
virtualisation.quadlet.images.<name>.imageConfig.certDir
Maps to quadlet option CertDirand command line argument --cert-dir.
Type: null or string
Default:
null
Example:
"/etc/registry/certs"
virtualisation.quadlet.images.<name>.imageConfig.creds
Maps to quadlet option Credsand command line argument --creds.
Type: null or string
Default:
null
Example:
"myname:mypassword"
virtualisation.quadlet.images.<name>.imageConfig.decryptionKey
Maps to quadlet option DecryptionKeyand command line argument --decryption-key.
Type: null or string
Default:
null
Example:
"/etc/registry.key"
virtualisation.quadlet.images.<name>.imageConfig.globalArgs
Additional command line arguments to insert between podman and pull
Maps to quadlet option GlobalArgs.
Type: list of string
Default:
[ ]
Example:
[
"--log-level=debug"
]
virtualisation.quadlet.images.<name>.imageConfig.image
Image specification
Maps to quadlet option Image.
Type: null or string
Default:
null
Example:
"docker.io/library/nginx:latest"
virtualisation.quadlet.images.<name>.imageConfig.modules
Maps to quadlet option ContainersConfModuleand command line argument --module.
Type: list of string
Default:
[ ]
Example:
[
"/etc/nvd.conf"
]
virtualisation.quadlet.images.<name>.imageConfig.os
Maps to quadlet option OSand command line argument --os.
Type: null or string
Default:
null
Example:
"windows"
virtualisation.quadlet.images.<name>.imageConfig.podmanArgs
Additional command line arguments to insert after podman pull
Maps to quadlet option PodmanArgs.
Type: list of string
Default:
[ ]
Example:
[
"--add-host foobar"
]
virtualisation.quadlet.images.<name>.imageConfig.policy
Maps to quadlet option Policyand command line argument --policy.
Type: null or string
Default:
null
Example:
"always"
virtualisation.quadlet.images.<name>.imageConfig.retry
Maps to quadlet option Retryand command line argument --retry.
Type: null or signed integer
Default:
null
Example:
5
virtualisation.quadlet.images.<name>.imageConfig.retryDelay
Maps to quadlet option RetryDelayand command line argument --retry-delay.
Type: null or string
Default:
null
Example:
"5s"
virtualisation.quadlet.images.<name>.imageConfig.tag
FQIN of the referenced Image. Only meaningful when source is a file or directory archive. Used when resolving .image references.
Maps to quadlet option ImageTag.
Type: null or string
Default:
null
Example:
"localhost/imagename"
virtualisation.quadlet.images.<name>.imageConfig.tlsVerify
Maps to quadlet option TLSVerifyand command line argument --tls-verify.
Type: null or boolean
Default:
null
virtualisation.quadlet.images.<name>.imageConfig.variant
Maps to quadlet option Variantand command line argument --variant.
Type: null or string
Default:
null
Example:
"arm/v7"
virtualisation.quadlet.images.<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.images.<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.images.<name>.ref
Reference to this image 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.images.<name>.serviceConfig
systemd service config passed through to [Service] section.
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.images.<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) or attribute set of string
Default:
{ }
Example:
{
foo = "bar";
}
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: string or list of string or attribute set of string
Default:
{ }
Example:
{
isolate = "true";
}
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) or attribute set of string
Default:
{ }
Example:
{
foo = "bar";
}
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) or attribute set 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.enable
Enables quadlet-nix
Type: null or boolean
Default:
null
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 build 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) or attribute set of string
Default:
{ }
Example:
{
annotation = "value";
}
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) or attribute set of string
Default:
{ }
Example:
{
foo = "bar";
}
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 build 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) or attribute set of string
Default:
{ }
Example:
{
annotation = "value";
}
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 or list of 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) or attribute set of string
Default:
{ }
Example:
{
foo = "bar";
}
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.images
Image pulls
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.images.<name>.autoStart
When enabled, this image is automatically started on boot.
Type: boolean
Default:
true
virtualisation.quadlet.images.<name>.imageConfig.allTags
Maps to quadlet option AllTagsand command line argument --all-tags.
Type: null or boolean
Default:
null
virtualisation.quadlet.images.<name>.imageConfig.arch
Maps to quadlet option Archand command line argument --arch.
Type: null or string
Default:
null
Example:
"aarch64"
virtualisation.quadlet.images.<name>.imageConfig.authFile
Maps to quadlet option AuthFileand command line argument --authfile.
Type: null or string
Default:
null
Example:
"/etc/registry/auth.json"
virtualisation.quadlet.images.<name>.imageConfig.certDir
Maps to quadlet option CertDirand command line argument --cert-dir.
Type: null or string
Default:
null
Example:
"/etc/registry/certs"
virtualisation.quadlet.images.<name>.imageConfig.creds
Maps to quadlet option Credsand command line argument --creds.
Type: null or string
Default:
null
Example:
"myname:mypassword"
virtualisation.quadlet.images.<name>.imageConfig.decryptionKey
Maps to quadlet option DecryptionKeyand command line argument --decryption-key.
Type: null or string
Default:
null
Example:
"/etc/registry.key"
virtualisation.quadlet.images.<name>.imageConfig.globalArgs
Additional command line arguments to insert between podman and pull
Maps to quadlet option GlobalArgs.
Type: list of string
Default:
[ ]
Example:
[
"--log-level=debug"
]
virtualisation.quadlet.images.<name>.imageConfig.image
Image specification
Maps to quadlet option Image.
Type: null or string
Default:
null
Example:
"docker.io/library/nginx:latest"
virtualisation.quadlet.images.<name>.imageConfig.modules
Maps to quadlet option ContainersConfModuleand command line argument --module.
Type: list of string
Default:
[ ]
Example:
[
"/etc/nvd.conf"
]
virtualisation.quadlet.images.<name>.imageConfig.os
Maps to quadlet option OSand command line argument --os.
Type: null or string
Default:
null
Example:
"windows"
virtualisation.quadlet.images.<name>.imageConfig.podmanArgs
Additional command line arguments to insert after podman pull
Maps to quadlet option PodmanArgs.
Type: list of string
Default:
[ ]
Example:
[
"--add-host foobar"
]
virtualisation.quadlet.images.<name>.imageConfig.policy
Maps to quadlet option Policyand command line argument --policy.
Type: null or string
Default:
null
Example:
"always"
virtualisation.quadlet.images.<name>.imageConfig.retry
Maps to quadlet option Retryand command line argument --retry.
Type: null or signed integer
Default:
null
Example:
5
virtualisation.quadlet.images.<name>.imageConfig.retryDelay
Maps to quadlet option RetryDelayand command line argument --retry-delay.
Type: null or string
Default:
null
Example:
"5s"
virtualisation.quadlet.images.<name>.imageConfig.tag
FQIN of the referenced Image. Only meaningful when source is a file or directory archive. Used when resolving .image references.
Maps to quadlet option ImageTag.
Type: null or string
Default:
null
Example:
"localhost/imagename"
virtualisation.quadlet.images.<name>.imageConfig.tlsVerify
Maps to quadlet option TLSVerifyand command line argument --tls-verify.
Type: null or boolean
Default:
null
virtualisation.quadlet.images.<name>.imageConfig.variant
Maps to quadlet option Variantand command line argument --variant.
Type: null or string
Default:
null
Example:
"arm/v7"
virtualisation.quadlet.images.<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.images.<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.images.<name>.ref
Reference to this image 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.images.<name>.serviceConfig
systemd service config passed through to [Service] section.
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.images.<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) or attribute set of string
Default:
{ }
Example:
{
foo = "bar";
}
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: string or list of string or attribute set of string
Default:
{ }
Example:
{
isolate = "true";
}
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) or attribute set of string
Default:
{ }
Example:
{
foo = "bar";
}
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) or attribute set 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