When we do a reboot it is triggered inside the bootc namespace.
As we implement support for soft-reboots we need to make sure
that systemd has a view into the mounted /run/nextroot
to be able to act on doing a soft-reboot or a reboot.
By using systemd-run we avoid the limited view in the current
namespace.
Signed-off-by: Joseph Marrero Corchado <jmarrero@redhat.com>
- Note the existence of `/run` here
- Describe how to use `podman login --authfile` to write it
- Also describe the pattern of symlinking to keep things in sync
where desired
Signed-off-by: Colin Walters <walters@verbum.org>
This version is unused. At one time I accidentally bumped it
and then kept doing so occasionally. Fixate it so that doesn't
happen again.
The canonical version is in lib/Cargo.toml.
This introduces a GitHub workflow to periodically run `cargo xtask
update-generated` in order to keep the docs up-to-date with the
latest changes. It will create a PR if changes are detected.
Signed-off-by: Micah Abbott <miabbott@redhat.com>
Replace all serde_json::to_{string,vec,writer} with
equivalent canon_json::CanonJsonSerialize to make the
output stable / reproducible.
Signed-off-by: Etienne Champetier <e.champetier@ateme.com>
If we're pulling by digest and the pullspec already exists, then there's
no need to reach out to the registry or even spawn skopeo.
Detect this case and exit early in the pull code.
This allows RHCOS to conform better to the PinnedImageSet API[1], where
the expectation is that once an image is pulled, the registry will not
be contacted again. In a future with unified storage, the MCO's pre-pull
would work just the same for the RHCOS image as any other.
Framing this more generally: this patch allows one to pre-pull an
image into the store, and making the later deployment operation be
fully offline. E.g. this could be used to implement a `bootc switch
--download-only` option.
[1] 26ce3cd8a0/enhancements/machine-config/pin-and-pre-load-images.md
Signed-off-by: Colin Walters <walters@verbum.org>
Co-authored-by: Colin Walters <walters@verbum.org>
Signed-off-by: Colin Walters <walters@verbum.org>
When staging a new deployment, create /run/reboot-required to signal that
a reboot is needed. This file is monitored by kured (Kubernetes Reboot
Daemon) and other tools to detect when a system needs to be rebooted.
This makes it easier to integrate bootc with kured and similar tools
without requiring manual configuration or bridging.
Signed-off-by: Colin Walters <walters@verbum.org>