# The containers configuration file specifies all of the available configuration
# options and command-line flags for container runtime tools like podman & buildah
# but in a TOML format that can be easily modified and versioned.
#
# Please refer to containers.conf(5) for details of all configuration options.

[containers]

# A list of ulimits to be set in containers by default, specified as
# "<ulimit name>=<soft limit>:<hard limit>", for example:
# "nofile=1024:2048"
# See setrlimit(2) for a list of resource names.
# Any limit not specified here will be inherited from the process launching the container engine
# default_ulimits = [
# ]

# Environment variable list for the conmon process, used for passing necessary
# environment variables to conmon or the runtime.
# env = [
#     "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
# ]

# proxy environment variables are passed into the container
# http_proxy = [
# ]

# If true, SELinux will be used for pod separation on the host.
# selinux = true

# Path to the seccomp.json profile which is used as the default seccomp profile
# for the runtime.
# seccomp_profile = "/tmp/seccomp.json"

# Used to change the name of the default AppArmor profile of container engines. The default
# profile name is "container-default".
# apparmor_profile = "container-default"

# List of default capabilities for containers. If it is empty or commented out,
# only the capabilities defined in the containers json file by the user/kube
# will be added.
# default_capabilities = [
#     "AUDIT_WRITE",
#     "CHOWN",
#     "DAC_OVERRIDE",
#     "FOWNER",
#     "FSETID",
#     "KILL",
#     "MKNOD",
#     "NET_BIND_SERVICE",
#     "NET_RAW",
#     "SETGID",
#     "SETPCAP",
#     "SETUID",
#     "SYS_CHROOT",
# ]

# List of default sysctls. If it is empty or commented out, only the sysctls
# defined in the container json file by the user/kube will be added.
# default_sysctls = [
# ]

# Maximum number of processes allowed in a container.
# pids_limit = 1024

# List of devices. Specified as
# "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
#If it is empty or commented out, only the devices
# defined in the container json file by the user/kube will be added.
# devices = [
# ]

# Maximum size allowed for the container log file. Negative numbers indicate
# that no size limit is imposed. If it is positive, it must be >= 8192 to
# match/exceed conmon's read buffer. The file is truncated and re-opened so the
# limit is never exceeded.
# log_size_max = -1

# Path to OCI hooks directories for automatically executed hooks.
# hooks_dir = [
# ]

# Directories to scan for CDI Spec files.
#
#cdi_spec_dirs = [
#  "/etc/cdi",
#  "/var/run/cdi",
#]

# Size of /dev/shm. Specified as <number><unit>.
# Unit is optional and can be b (bytes), k (kilobytes), m (megabytes), or g (gigabytes). If the unit is omitted, the system uses bytes.
# shm_size = "64m"

# Run an init inside the container that forwards signals and reaps processes.
# init = false

# Pattern of interface name inside container.
# interface_name = ""


# The network table containers settings pertaining to the management of
# CNI plugins.
[network]

# Path to the directory where CNI configuration files are located.
# network_config_dir = "/etc/cni/net.d/"

# Path to directory where CNI plugin binaries are located.
# cni_plugin_dirs = "/usr/libexec/cni"


[engine]

# Cgroup management implementation used for the runtime.
# cgroup_manager = "systemd"

# Default transport method for pulling and pushing for images
# image_default_transport = "docker://"

# Environment variables to pass into conmon
# conmon_env_vars = [
# 		"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# ]

# Paths to look for the Conmon container manager binary
# conmon_path = [
# 	    "/usr/libexec/podman/conmon",
# 	    "/usr/local/libexec/podman/conmon",
# 	    "/usr/local/lib/podman/conmon",
# 	    "/usr/bin/conmon",
# 	    "/usr/sbin/conmon",
# 	    "/usr/local/bin/conmon",
# 	    "/usr/local/sbin/conmon"
# ]

# Container init binary
#init_path = "/usr/libexec/podman/catatonit"

# Directory for persistent libpod files (database, etc)
# By default, this will be configured relative to where containers/storage
# stores containers
# Uncomment to change location from this default
#static_dir = "/var/lib/containers/storage/libpod"

# Directory for temporary files. Must be tmpfs (wiped after reboot)
# tmp_dir = "/run/libpod"


# Whether to use chroot instead of pivot_root in the runtime
# no_pivot_root = false

# Default engine namespace
# If engine is joined to a namespace, it will see only containers and pods
# that were created in the same namespace, and will create new containers and
# pods in that namespace.
# The default namespace is "", which corresponds to no namespace. When no
# namespace is set, all containers and pods are visible.
#namespace = ""

# Default infra (pause) image name for pod infra containers
# infra_image = ""

# Default command to run the infra container
# infra_command = "/pause"

# Determines whether engine will reserve ports on the host when they are
# forwarded to containers. When enabled, when ports are forwarded to containers,
# they are held open by conmon as long as the container is running, ensuring that
# they cannot be reused by other programs on the host. However, this can cause
# significant memory usage if a container has many ports forwarded to it.
# Disabling this can save memory.
#enable_port_reservation = true

# Default engine support for container labeling
# label=true

# Number of locks available for containers and pods.
# If this is changed, a lock renumber must be performed (e.g. with the
# 'podman system renumber' command).
# num_locks = 2048

# Directory for engine named volumes.
# By default, this will be configured relative to where containers/storage
# stores containers.
# Uncomment to change location from this default.
#volume_path = "/var/lib/containers/storage/volumes"

# Selects which logging mechanism to use for Podman events.  Valid values
# are `journald` or `file`.
# events_logger = "journald"

# Specify the keys sequence used to detach a container.
# Format is a single character [a-Z] or a comma separated sequence of
# `ctrl-<value>`, where `<value>` is one of:
# `a-z`, `@`, `^`, `[`, `\`, `]`, `^` or `_`
#
# detach_keys = "ctrl-p,ctrl-q"

# Default OCI runtime
# runtime = "runc"

# List of the OCI runtimes that support --format=json.  When json is supported
# engine will use it for reporting nicer errors.
# runtime_supports_json = ["runc"]

# Paths to look for a valid OCI runtime (runc, runv, etc)
[engine.runtimes]
# runc = [
# 	   	"/usr/bin/runc",
# 		"/usr/sbin/runc",
# 		"/usr/local/bin/runc",
# 		"/usr/local/sbin/runc",
# 		"/sbin/runc",
# 		"/bin/runc",
# 		"/usr/lib/cri-o-runc/sbin/runc",
# ]

# crun = [
# 	    "/usr/bin/crun",
# 	    "/usr/local/bin/crun",
# ]

# The [engine.runtimes] table MUST be the last thing in this file.
# (Unless another table is added)
# TOML does not provide a way to end a table other than a further table being
# defined, so every key hereafter will be part of [runtimes] and not the main
# config.
