7c8484c
# This file is is the configuration file for all tools
7c8484c
# that use the containers/storage library.
4ff6a6a
# See man 5 containers-storage.conf for more information
c38bfdc
# The "container storage" table contains all of the server options.
c38bfdc
[storage]
c38bfdc
c38bfdc
# Default Storage Driver
284f902
driver = "overlay"
c38bfdc
c38bfdc
# Temporary storage location
c38bfdc
runroot = "/var/run/containers/storage"
c38bfdc
c38bfdc
# Primary Read/Write location of container storage
c38bfdc
graphroot = "/var/lib/containers/storage"
c38bfdc
bddf1e4
# Storage path for rootless users
bddf1e4
#
bddf1e4
# rootless_storage_path = "$HOME/.local/share/containers/storage"
bddf1e4
c38bfdc
[storage.options]
70e21bf
# Storage options to be passed to underlying storage drivers
70e21bf
c38bfdc
# AdditionalImageStores is used to pass paths to additional Read/Only image stores
c38bfdc
# Must be comma separated list.
c38bfdc
additionalimagestores = [
c38bfdc
]
a3d3451
70e21bf
# Remap-UIDs/GIDs is the mapping from UIDs/GIDs as they should appear inside of
3639c7d
# a container, to the UIDs/GIDs as they should appear outside of the container,
3639c7d
# and the length of the range of UIDs/GIDs.  Additional mapped sets can be
3639c7d
# listed and will be heeded by libraries, but there are limits to the number of
70e21bf
# mappings which the kernel will allow when you later attempt to run a
70e21bf
# container.
70e21bf
#
70e21bf
# remap-uids = 0:1668442479:65536
70e21bf
# remap-gids = 0:1668442479:65536
70e21bf
3639c7d
# Remap-User/Group is a user name which can be used to look up one or more UID/GID
70e21bf
# ranges in the /etc/subuid or /etc/subgid file.  Mappings are set up starting
3639c7d
# with an in-container ID of 0 and then a host-level ID taken from the lowest
70e21bf
# range that matches the specified name, and using the length of that range.
70e21bf
# Additional ranges are then assigned, using the ranges which specify the
3639c7d
# lowest host-level IDs first, to the lowest not-yet-mapped in-container ID,
70e21bf
# until all of the entries have been used for maps.
70e21bf
#
bddf1e4
# remap-user = "containers"
bddf1e4
# remap-group = "containers"
bddf1e4
bddf1e4
# Root-auto-userns-user is a user name which can be used to look up one or more UID/GID
116ab73
# ranges in the /etc/subuid and /etc/subgid file.  These ranges will be partitioned
bddf1e4
# to containers configured to create automatically a user namespace.  Containers
bddf1e4
# configured to automatically create a user namespace can still overlap with containers
bddf1e4
# having an explicit mapping set.
bddf1e4
# This setting is ignored when running as rootless.
bddf1e4
# root-auto-userns-user = "storage"
bddf1e4
#
bddf1e4
# Auto-userns-min-size is the minimum size for a user namespace created automatically.
bddf1e4
# auto-userns-min-size=1024
bddf1e4
#
bddf1e4
# Auto-userns-max-size is the minimum size for a user namespace created automatically.
bddf1e4
# auto-userns-max-size=65536
70e21bf
3639c7d
[storage.options.overlay]
3639c7d
# ignore_chown_errors can be set to allow a non privileged user running with
3639c7d
# a single UID within a user namespace to run containers. The user can pull
3639c7d
# and use any image even those with multiple uids.  Note multiple UIDs will be
3639c7d
# squashed down to the default uid in the container.  These images will have no
3639c7d
# separation between the users in the container. Only supported for the overlay
3639c7d
# and vfs drivers.
b115503
#ignore_chown_errors = "false"
3639c7d
3639c7d
# Path to an helper program to use for mounting the file system instead of mounting it
3639c7d
# directly.
3639c7d
#mount_program = "/usr/bin/fuse-overlayfs"
3639c7d
3639c7d
# mountopt specifies comma separated list of extra mount options
3639c7d
mountopt = "nodev,metacopy=on"
3639c7d
b115503
# Set to skip a PRIVATE bind mount on the storage home directory.
b115503
# skip_mount_home = "false"
b115503
3639c7d
# Size is used to set a maximum size of the container image.
3639c7d
# size = ""
3639c7d
70e21bf
[storage.options.thinpool]
70e21bf
# Storage Options for thinpool
70e21bf
70e21bf
# autoextend_percent determines the amount by which pool needs to be
70e21bf
# grown. This is specified in terms of % of pool size. So a value of 20 means
70e21bf
# that when threshold is hit, pool will be grown by 20% of existing
70e21bf
# pool size.
70e21bf
# autoextend_percent = "20"
70e21bf
70e21bf
# autoextend_threshold determines the pool extension threshold in terms
70e21bf
# of percentage of pool size. For example, if threshold is 60, that means when
70e21bf
# pool is 60% full, threshold has been hit.
70e21bf
# autoextend_threshold = "80"
70e21bf
70e21bf
# basesize specifies the size to use when creating the base device, which
70e21bf
# limits the size of images and containers.
70e21bf
# basesize = "10G"
70e21bf
70e21bf
# blocksize specifies a custom blocksize to use for the thin pool.
70e21bf
# blocksize="64k"
70e21bf
70e21bf
# directlvm_device specifies a custom block storage device to use for the
7c8484c
# thin pool. Required if you setup devicemapper.
70e21bf
# directlvm_device = ""
70e21bf
7c8484c
# directlvm_device_force wipes device even if device already has a filesystem.
70e21bf
# directlvm_device_force = "True"
70e21bf
70e21bf
# fs specifies the filesystem type to use for the base device.
70e21bf
# fs="xfs"
70e21bf
70e21bf
# log_level sets the log level of devicemapper.
70e21bf
# 0: LogLevelSuppress 0 (Default)
70e21bf
# 2: LogLevelFatal
70e21bf
# 3: LogLevelErr
70e21bf
# 4: LogLevelWarn
70e21bf
# 5: LogLevelNotice
70e21bf
# 6: LogLevelInfo
70e21bf
# 7: LogLevelDebug
70e21bf
# log_level = "7"
70e21bf
70e21bf
# min_free_space specifies the min free space percent in a thin pool require for
70e21bf
# new device creation to succeed. Valid values are from 0% - 99%.
70e21bf
# Value 0% disables
70e21bf
# min_free_space = "10%"
70e21bf
bddf1e4
# mkfsarg specifies extra mkfs arguments to be used when creating the base
70e21bf
# device.
70e21bf
# mkfsarg = ""
70e21bf
116ab73
# metadata_size is used to set the `pvcreate --metadatasize` options when
116ab73
# creating thin devices. Default is 128k
116ab73
# metadata_size = ""
116ab73
3639c7d
# Size is used to set a maximum size of the container image.
3639c7d
# size = ""
3639c7d
7c8484c
# use_deferred_removal marks devicemapper block device for deferred removal.
bddf1e4
# If the thinpool is in use when the driver attempts to remove it, the driver
7c8484c
# tells the kernel to remove it as soon as possible. Note this does not free
7c8484c
# up the disk space, use deferred deletion to fully remove the thinpool.
70e21bf
# use_deferred_removal = "True"
70e21bf
7c8484c
# use_deferred_deletion marks thinpool device for deferred deletion.
7c8484c
# If the device is busy when the driver attempts to delete it, the driver
7c8484c
# will attempt to delete device every 30 seconds until successful.
7c8484c
# If the program using the driver exits, the driver will continue attempting
7c8484c
# to cleanup the next time the driver is used. Deferred deletion permanently
7c8484c
# deletes the device and all data stored in device will be lost.
70e21bf
# use_deferred_deletion = "True"
70e21bf
70e21bf
# xfs_nospace_max_retries specifies the maximum number of retries XFS should
70e21bf
# attempt to complete IO when ENOSPC (no space) error is returned by
70e21bf
# underlying storage device.
70e21bf
# xfs_nospace_max_retries = "0"