1
0
mirror of https://github.com/containers/bootc.git synced 2026-02-05 06:45:13 +01:00
Commit Graph

3925 Commits

Author SHA1 Message Date
Colin Walters
8abee04e53 ci/setup: Parallelize again, add timing logs
Motivation is faster provisioning and easier to debug
when something goes wrong.
Also cleanup the codeql cache.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-20 10:14:34 -04:00
bootc-bot[bot]
02ecf37181 chore(deps): update github actions
Signed-off-by: bootc-bot[bot] <225049296+bootc-bot[bot]@users.noreply.github.com>
2025-10-17 10:19:57 -04:00
Pragyan Poudyal
51d70f1a79 After rebase fixes
Gate some lines behind composefs-backend feature

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
2025-10-17 07:05:42 -04:00
Pragyan Poudyal
26619ee4e3 composefs-backend: Add composefs opts to install-to-existing-root
Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-17 07:05:42 -04:00
Pragyan Poudyal
a650e32716 composefs-backend: Start finalize-staged service on update/switch
Rename service to bootc-finalize-staged

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-17 07:05:42 -04:00
Pragyan Poudyal
c5971caf62 composefs-backend/state: Store target imgref
Instead of storing the source imgref in the .origin file, we store the
target imgref

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-17 07:05:42 -04:00
Pragyan Poudyal
a6d886170e composefs-backend: Rename 'composefs-native' to 'composefs-backend'
We were using composefs-native and composefs-backend interchangeably.
Replace all instances of `composefs-native` with `composefs-backend`

Move all composefs-backend options to a single struct so that we can
test for boolean instead of testing for Some/None for composefs-backend
options

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-17 07:05:42 -04:00
Pragyan Poudyal
1579c7d6fa composese-backend: Implement install to filesystem
Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-17 07:05:42 -04:00
Colin Walters
f4c678eb88 Various composefs enhancements
- Change the install logic to detect UKIs and automatically
  enable composefs
- Change the install logic to detect absence of bootupd
  and default to installing systemd-boot
- Move sealing bits to the toplevel
- Add Justfile entrypoints
- Add basic end-to-end CI coverage (install + run) using
  our integration tests
- Change lints to ignore `/boot/EFI`

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-16 14:48:21 -04:00
Colin Walters
b03c4edb92 ci/setup: Minor cleanups
- Use bash strict mode more consistently
- Drop the error redirections which can mask problems as
  recommended by AI

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-16 14:48:21 -04:00
Colin Walters
02c57b3e30 Adjust all code to use ComposefsRepository alias
This ensures we're SHA-512 across the board.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-16 14:48:21 -04:00
Colin Walters
87d1d391ff Enable composefs by default
Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-16 14:48:21 -04:00
Colin Walters
7e526508a9 ci: Use bcvk
Make builds unprivileged by default and start using bcvk in
our own CI, the same way we expect people to do so locally
now.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-15 08:34:52 -04:00
Xiaofeng Wang
58876bf20e test: Update test to sync with Fedora CI gating
According to https://src.fedoraproject.org/rpms/bootc/pull-request/59#

Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
2025-10-14 10:46:10 -04:00
Colin Walters
c3e3d11104 ci: Change release to support minor|patch
We shouldn't support specifying *arbitrary* versions to try
to release, only bump the minor or patch from what's there.
This avoids any ability to mess things up.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-13 08:37:16 -04:00
Colin Walters
563b7a0315 ci: Refactor libvirt setup
Move libvirt installation into a parameterized input in the
bootc-ubuntu-setup action, allowing workflows to opt-in via
`libvirt: true`. This consolidates installation logic and makes
workflows cleaner by removing duplicate package installation steps.

Assisted-by: Claude Code
Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-09 14:04:23 -04:00
Colin Walters
f8ba1079e9 ci: move Rust caching into our setup action
To avoid duplicative content.

And add comments for why we're changing some of the options.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-09 14:04:23 -04:00
Ondra Pelech
c17e6314d3 Adopt Swatinem/rust-cache for faster CI
Signed-off-by: Ondra Pelech <ondra.pelech@gmail.com>
2025-10-08 16:33:22 -04:00
bootc-bot[bot]
7ad66dbfe3 Release 1.9.0 (#1671)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: bootc-bot[bot] <225049296+bootc-bot[bot]@users.noreply.github.com>
v1.9.0
2025-10-08 21:29:42 +08:00
Xiaofeng Wang
f1dec83720 test: Use SRPM as test code source to work with gating test (#1670)
Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
2025-10-08 11:47:44 +08:00
Colin Walters
de3c29fce0 ci: Move disk wrapper into Justfile
So it can be executed more generically on any container image as
input and write to output.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-07 21:49:08 -04:00
Colin Walters
0b69f7d82d boot: Add some error context
Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-07 21:49:08 -04:00
Colin Walters
7dbb354fa5 build-sys: Use stream10 by default
The rationale for having c9s by default was that it's
a lower bound (which is still true). But our CI covers
that; I'd rather now have the default be c10s be the default
as it will be the focus of features going forward.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-07 21:49:08 -04:00
Colin Walters
1b2fb5b7e5 packit: Disable copr failure messages
It's too spammy.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-07 21:49:08 -04:00
John Eckersberg
93f43606f0 dockerignore: Workaround for podman bug with secrets + remote
Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-10-07 19:09:06 -04:00
Colin Walters
a13ba6d93a status: Mention rpm-ostree vs bootc
Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-07 18:20:05 -04:00
John Eckersberg
0f688f390e reinstall: Correctly check for lvs binary in parse_volumes
Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-10-07 18:18:31 -04:00
John Eckersberg
82ff6770f2 system-reinstall-bootc: Add context annotations to Result-returning functions
Add #[context()] attribute macro to all functions that return Result
to improve error reporting. This includes adding the fn-error-context
dependency and importing the context macro in all relevant modules.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-10-07 18:18:31 -04:00
John Eckersberg
4d56384290 system-reinstall-bootc: Do not warn on unmounted LVM volumes
If the system has a swap partition (or any other volume which is not
currently mounted) the `findmnt` command will (expectedly) fail to
find it.  Don't early exit in this case, instead just ignore that
volume.  If it wasn't mounted in the first place, we don't need to
warn about it being unmounted after the reinstall operation is
complete.

Signed-off-by: John Eckersberg <jeckersb@redhat.com>
Closes: #1659
2025-10-07 18:18:31 -04:00
Colin Walters
24f2dd0b87 Expand/consolidate "detecting bootc"
Continually comes up.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-06 16:32:55 -04:00
mohan-shash
18806550f6 Update MAINTAINERS.md
Added myself as the maintainer, needed for contributing videos to CNCF channel. 

Signed-off-by: mohan-shash <162627980+mohan-shash@users.noreply.github.com>
2025-10-03 13:58:38 -04:00
Colin Walters
b6e16c487b install: Add a tmpfs for /var/lib/containers
Recent podman versions got stricter about not doing overlay-on-overlay
by default.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-03 13:55:25 -04:00
Xiaofeng Wang
3fd43a747f test: Fix packit-reboot.yml download URL issue (#1664)
Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
2025-10-03 21:22:33 +08:00
Xiaofeng Wang
704338d26b test: Add Packit and gating test
Use 'system-reinstall-bootc' to re-install TF runner from package mode
to image mode

Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
2025-10-02 16:59:56 -04:00
Colin Walters
a507380672 system-reinstall-bootc: Handle --help
I wanted to add a CLI option here to avoid the reboot, and
ran into the fact that our option parsing was suboptimal to
start with.

We never documented `BOOTC_REINSTALL_CONFIG` at all...I'm
kind of tempted to deprecate it.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-02 08:35:05 -04:00
Alexander Larsson
40ebdd5829 Update ostree binding to 0.20.5
This will be needed by https://github.com/coreos/rpm-ostree/pull/5497
as it picks up ostree-rs via ostree-ext.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2025-10-02 08:34:42 -04:00
Joseph Marrero Corchado
f39c9e3c27 tests: add custom selinux policy test
Ensure that if a custom policy is added in a
Containerfile, the resulting deployment has the expected
labels as well.

Assisted by Claude Code

Signed-off-by: Joseph Marrero Corchado <jmarrero@redhat.com>
2025-10-01 16:04:10 -04:00
John Eckersberg
8cf0971719 tests: skip initramfs if no composefs in cmdline
The systemd unit is conditional on this so without it the test will
always fail.

Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-09-29 16:49:13 -04:00
John Eckersberg
cee9315f25 examples: use "system" bootc binaries
Since we're running this under tmt, the "system" bootc binaries were
built from source and injected into the integration disk image.  No
need to rebuild these inside of the test job itself.

Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-09-29 16:49:13 -04:00
John Eckersberg
db8d7bbf6e Use ext4 by default when building integration disk image
By default bootc will enable fsverity when ext4 is the chosen
filesystem, and we need fsverity to do composefs testing.

Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-09-29 16:49:13 -04:00
John Eckersberg
b18d5422b1 Dockerfile: enable initramfs by default
As we progress the composefs work along this is becoming more of a
general requirement.  I think it still makes sense to leave it as
optional for now, but I think for the bulk of the cases we'll want to
go ahead and build the initramfs support in.

Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-09-29 16:49:13 -04:00
John Eckersberg
5cacf27242 examples: move under tmt/tests/
Doing this as a distinct commit so as to not conflate future
modifications with the bulk code movement.

Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-09-29 16:49:13 -04:00
John Eckersberg
fc7f32d10a tmt: Add test for bootc examples build scripts
Add test-26-examples-build to validate that the bootc-bls and bootc-uki
example build scripts work correctly.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-09-29 16:49:13 -04:00
John Eckersberg
211bef4afc examples/bootc*: Migrate from cfsctl to bootc internals cfs
Update bootc examples to use the new unified bootc command interface:
- Replace cfsctl binary with bootc and use 'bootc internals cfs' subcommands
- Rename composefs-setup-root to bootc-initramfs-setup
- Update dracut module from 37composefs to 37bootc
- Remove sudo requirement from podman build commands
- Update service and module configuration files accordingly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-09-29 16:49:13 -04:00
Timothée Ravier
daece74a65 examples/bootc*: Temporary bootc install scripts
Signed-off-by: Timothée Ravier <tim@siosm.fr>
2025-09-29 16:49:13 -04:00
Timothée Ravier
d7632815f3 examples/bootc*: Secure Boot support
Signed-off-by: Timothée Ravier <tim@siosm.fr>
2025-09-29 16:49:13 -04:00
Timothée Ravier
824c8848f4 examples: Add initial bootc examples (bls & uki)
Signed-off-by: Timothée Ravier <tim@siosm.fr>
2025-09-29 16:49:13 -04:00
Pragyan Poudyal
c5131fe53d Minor fixes and refactoring
Use UTF8Path in BLSConfig
Use `ok_or_else` so error objects are lazily evaluated
Add tests for `get_imgref`
Update UKI path for systemd-boot to `EFI/Linux/bootc`

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Colin Walters <walters@verbum.org>
2025-09-29 16:48:40 -04:00
Pragyan Poudyal
14dbf1b9e8 composefs-backend: Fix image pull from registry
skopeo (in composefs-rs) doesn't understand the transport "registry:",
so we convert it to "docker://" when passing it to skopeo

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Colin Walters <walters@verbum.org>
2025-09-29 16:48:40 -04:00
Pragyan Poudyal
fdc68a66cd composefs-backend/boot: Allow passing UKI addons as cli options
Allows installing only some of the addons depending upon the list
of addons passed in as cli options.

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Colin Walters <walters@verbum.org>
2025-09-29 16:48:40 -04:00