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Β§
- Pull
Mode π
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.