Commit graph

8 commits

Author SHA1 Message Date
Jonathan Lebon
64f4963fc3
bootc-base-imagectl: support extending package list
The current custom base image flow of rebuilding a "built-in" image with
custom repos and then adding your own content separate is reasonable,
but it would be nice if one could augment the list of packages to
install in that initial build rather than as a separate transaction.

Then, you don't have to cleanup after dnf and `/var` content, re-inject
repo definitions, and refetch repo metadata. It also allows building
container images with additional packages without `dnf` necessarily
being in the package set.

We don't want to leak rpm-ostree implementation details, nor do we want
to invent a new format. So just add support for a `--install` arg and a
generic `--args-file` to pass arguments via a file.

We then generate a new treefile on the fly to extend the `packages`
list.
2025-05-14 15:13:23 -04:00
Dusty Mabe
ef5e95d5bd
whitespace changes to appease downstream CI
The prow/validate job does some various whitespace checks and
was complaining about these so I guess I'll try to make it happy:

```
 [+] Found files with whitespace at the end of line
./fedora-coreos-config/fedora-bootc/.gitlab-ci.yml
./fedora-coreos-config/fedora-bootc/bootc-base-imagectl.md
./fedora-coreos-config/fedora-bootc/fedora-iot.yaml
./fedora-coreos-config/fedora-bootc/iot/manifest.yaml

[+] Found files with missing empty line at end of file
./fedora-coreos-config/fedora-bootc/bootc-base-imagectl
./fedora-coreos-config/fedora-bootc/fedora-iot.yaml
./fedora-coreos-config/fedora-bootc/iot/manifest.yaml
```
2025-05-09 12:52:16 -04:00
Colin Walters
78462e6c13 base-imagectl: Drop experimental from compose-rootfs
It's stable in 2025.6 which is hopefully going to ship
in Fedora 41 soon and is already in C10S and C9S.
2025-03-19 16:35:44 -04:00
Colin Walters
ccb2c22ecb imagectl: Update mode for / if needed
This works around https://github.com/coreos/rpm-ostree/pull/5322
so we can ship the fix faster.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-03-04 17:31:56 -05:00
Colin Walters
55a8191604 imagectl: Add rechunk verb
This fronts the functionality currently implemented in rpm-ostree,
for the same reason as we have `build-rootfs`; the functionality
may move elsewhere in the future.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-02-28 15:15:59 -05:00
Colin Walters
3f39d107e1 imagectl: Copy symlinks as symlinks for manifests
This fixes using `defaults.yaml` as a link, which we don't
want to list with the `list` verb.
2025-02-27 19:52:27 -05:00
Colin Walters
cb36bccf74 imagectl: Default source-root to /
While "cross builds" and using a separate repos container can
feel very clean (instead of mutating the builder container)
it's actually much closer to our default intention to support building
a new version of the base image from the image itself.

So make the source root optional (i.e. it defaults to `/`).

This will improve the default UX, but also more specifically
will fix the issue that cachi2 breaks the separate source root flow.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-02-25 16:37:40 -05:00
Colin Walters
c89b6f4298 Introduce bootc-base-imagectl
- Embed the manifests into the container image
- Add bootc-base-imagectl which is a tightly controlled frontend
  to execute on those manifests.

For now, we don't attempt to rework how we build the standard
image to actually look like `dnf install`, but we show that
it can work.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-02-25 08:27:20 -05:00