Module podstorage

Module podstorage 

Source
Expand description

Β§bootc-managed instance of containers-storage:

The backend for podman and other tools is known as container-storage:, with a canonical instance that lives in /var/lib/containers.

This is a containers-storage: instancewhich is owned by bootc and is stored at/sysroot/ostree/bootc`.

At the current time, this is only used for Logically Bound Images.

StructsΒ§

CStorage πŸ”’
A bootc-owned instance of containers-storage:.

EnumsΒ§

PullMode πŸ”’

ConstantsΒ§

LABELED πŸ”’
RUNROOT πŸ”’
The path to the β€œrunroot” with transient runtime state; this is relative to the /run directory
STORAGE_ALIAS_DIR πŸ”’
Global directory path which we use for podman to point it at our storage. Unfortunately we can’t yet use the /proc/self/fd/N trick because it currently breaks due to how the untar process is forked in the child.
STORAGE_RUN_FD πŸ”’
We pass this via /proc/self/fd to the child process.
SUBCMD_ARGV_CHUNKING πŸ”’
SUBPATH πŸ”’
The path to the image storage, relative to the bootc root directory.

FunctionsΒ§

bind_storage_roots πŸ”’
ensure_floating_c_storage_initialized πŸ”’
Ensure that β€œpodman” is the first thing to touch the global storage instance. This is a workaround for https://github.com/bootc-dev/bootc/pull/1101#issuecomment-2653862974 Basically podman has special upgrade logic for when it is the first thing to initialize the c/storage instance it sets the networking to netavark. If it’s not the first thing, then it assumes an upgrade scenario and we may be using CNI.
new_podman_cmd_in πŸ”’
set_additional_image_store
Adjust the provided command (skopeo or podman e.g.) to reference the provided path as an additional image store.