diff --git a/containers.conf b/containers.conf index a9b4ca3..872d7ec 100644 --- a/containers.conf +++ b/containers.conf @@ -420,7 +420,7 @@ log_driver = "journald" # The compression format to use when pushing an image. # Valid options are: `gzip`, `zstd` and `zstd:chunked`. # -#compression_format = "gzip" +compression_format = "zstd:chunked" # The compression level to use when pushing an image. # Valid options depend on the compression format used. diff --git a/containers.conf.5.md b/containers.conf.5.md index dfbc27a..a96ebb5 100644 --- a/containers.conf.5.md +++ b/containers.conf.5.md @@ -50,6 +50,20 @@ Files in those locations are not loaded by default but only on-demand. They are Modules are currently supported by podman(1). The `podman --module` flag allows for loading a module and can be specified multiple times. If the specified value is an absolute path, the config file will be loaded directly. Relative paths are resolved relative to the three module directories mentioned above and in the specified order such that modules in `$HOME` allow for overriding those in `/etc` and `/usr/share`. Modules in `$HOME` (or `$XDG_CONFIG_HOME` if specified) are only used for rootless users. +## APPENDING TO STRING ARRAYS + +The default behavior during the loading sequence of multiple containers.conf files is to override previous data. To change the behavior from overriding to appending, you can set the `append` attribute as follows: `array=["item-1", "item=2", ..., {append=true}]`. Setting the append attribute instructs to append to this specific string array for the current and also subsequent loading steps. To change back to overriding, set `{append=false}`. + +Consider the following example: +``` +modules1.conf: env=["1=true"] +modules2.conf: env=["2=true"] +modules3.conf: env=["3=true", {append=true}] +modules3.conf: env=["4=true"] +``` + +After loading the files in the given order, the final contents are `env=["2=true", "3=true", "4=true"]`. If modules4.conf would set `{append=false}`, the final contents would be `env=["4=true"]`. + # FORMAT The [TOML format][toml] is used as the encoding of the configuration file. Every option is nested under its table. No bare options are used. The format of diff --git a/storage.conf b/storage.conf index 72c50a4..5d3548e 100644 --- a/storage.conf +++ b/storage.conf @@ -70,7 +70,7 @@ additionalimagestores = [ # Tells containers/storage where an ostree repository exists that might have # previously pulled content which can be used when attempting to avoid # pulling content from the container registry -pull_options = {enable_partial_images = "false", use_hard_links = "false", ostree_repos=""} +pull_options = {enable_partial_images = "true", use_hard_links = "false", ostree_repos=""} # Remap-UIDs/GIDs is the mapping from UIDs/GIDs as they should appear inside of # a container, to the UIDs/GIDs as they should appear outside of the container, diff --git a/update.sh b/update.sh index 30aa3e9..6be4a60 100755 --- a/update.sh +++ b/update.sh @@ -3,7 +3,7 @@ spectool -fg containers-common.spec echo "Changing storage.conf..." -sed -i -e 's/^driver.*=.*/driver = "overlay"/' -e 's/^mountopt.*=.*/mountopt = "nodev,metacopy=on"/' \ +sed -i -e 's/^driver.*=.*/driver = "overlay"/' -e 's/^mountopt.*=.*/mountopt = "nodev,metacopy=on"/' -e 's/^pull_options.*=.*/pull_options = {enable_partial_images = \"true\", use_hard_links = \"false\", ostree_repos=""}/' \ storage.conf echo "Changing seccomp.json..." @@ -22,6 +22,8 @@ if [[ $? == 1 ]]; then fi echo "Changing containers.conf..." -sed -i -e 's/^#.*log_driver.*=.*/log_driver = "journald"/' containers.conf +sed -i -e 's/^#.*log_driver.*=.*/log_driver = "journald"/' \ + -e 's/^#.*compression_format.*=.*/compression_format = "zstd:chunked"/' \ + containers.conf git checkout origin default-policy.json