Expand description
This module handles finishing/completion after an ostree-based install from e.g. Anaconda.
StructsΒ§
- Renamer π
- A little helper struct which on drop renames a file. Used for putting back /etc/resolv.conf.
ConstantsΒ§
- ANACONDA_
ENV_ πHINT - An environment variable set by anaconda that hints we are running as part of that environment.
- ANACONDA_
SYSROOT π - The path where Anaconda sets up the target. https://anaconda-installer.readthedocs.io/en/latest/mount-points.html#mnt-sysroot
- CGROUPFS π
- The cgroupfs mount point, which we may propagate from the host if needed
- OSTREE_
BOOTED π - Global flag to signal weβre in a booted ostree system
- PROC1_
ROOT π - The root filesystem for pid 1
- RESOLVCONF π
- The very well-known DNS resolution file
- RESOLVCONF_
ORIG π - A renamed file
- RUN_
BOOTC_ πINSTALL_ RECONCILED - A sub path of /run which is used to ensure idempotency
- RUN_
OSTREE_ πAUTH - The path to the temporary global ostree pull secret
FunctionsΒ§
- bind_
from_ πhost - Bind a mount point from the host namespace into our root
- ensure_
cgroupfs π - Anaconda doesnβt mount /sys/fs/cgroup in /mnt/sysroot
- ensure_
ostree_ πauth - If we have /etc/ostree/auth.json in the Anaconda environment then propagate it into /run/ostree/auth.json
- ensure_
resolvconf π - Work around https://github.com/containers/buildah/issues/4242#issuecomment-2492480586
among other things. We unconditionally replace the contents of
/etc/resolv.confin the target root with whatever the host uses (in Fedora 41+, thatβs systemd-resolved for Anaconda). - impl_
completion π - Core entrypoint for completion of an ostree-based install to a bootc one:
- open_
proc1_ πroot - reconcile_
kargs π - Assuming that the current root is an ostree deployment, pull kargs from it and inject them.
- run_
from_ πanaconda - Core entrypoint invoked when we are likely being invoked from inside Anaconda as a
%post. - run_
from_ ostree - From ostree-rs-ext, run through the rest of bootc install functionality