Commit graph

1,492 commits

Author SHA1 Message Date
4888be4e19
move systemd-preset enablement code to minimal
Arguably we still want to remove rpm systemd enablements and use the
presets for the original image we create for all of our images.
2025-05-16 15:47:35 -04:00
5fb935b7db Merge branch 'pr/packages-list' into 'main'
bootc-base-imagectl: support extending package list

See merge request fedora/bootc/base-images!178
2025-05-14 21:21:45 +00:00
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
91f14f3f65
Use the pipelinerun filename expected by konflux
Signed-off-by: Miguel Martín <mmartinv@redhat.com>
2025-05-13 15:26:39 +02:00
1a11ff4654
Use the pipelinerun filename expected by konflux
Signed-off-by: Miguel Martín <mmartinv@redhat.com>
2025-05-13 15:21:47 +02:00
1c3891199c
Use the pipelinerun filename expected by conflux 2025-05-13 15:05:20 +02:00
6b0b047624 Merge branch 'dusty-whitespace-changes' into 'main'
whitespace changes to appease downstream CI

See merge request fedora/bootc/base-images!177
2025-05-09 17:16:42 +00:00
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
konflux
8685cd1c70 Konflux update fedora-bootc-rawhide-iot
Signed-off-by: konflux <konflux@no-reply.konflux-ci.dev>
2025-05-09 10:52:46 +00:00
djach7
e2e0262861
Update rawhide standard build pipeline 2025-05-09 12:45:42 +02:00
4036aa988f
Update rawhide minimal plus build pipeline 2025-05-09 12:42:57 +02:00
17e7a21964
Update rawhide minimal build pipeline 2025-05-09 12:11:18 +02:00
e7cf60c183 Merge branch 'dusty-drop-iptables' into 'main'
rework testing; drop iptables exclude; add test

See merge request fedora/bootc/base-images!171
2025-05-06 21:30:18 +00:00
986b59b5c1
minimal: drop exclude on iptables-legacy; add test
In Fedora CoreOS we are still including iptables-legacy for now [1]
and since you can't really overwrite an `exclude-packages` entry it
means we can't update our git submodule.

We are working to get away from using a git submodule [2], but I'd
like to get ours updated in the mean time.

[1] https://github.com/coreos/fedora-coreos-tracker/issues/1818
[2] https://github.com/coreos/fedora-coreos-tracker/issues/1861
2025-05-06 16:52:05 -04:00
5d628fd3f4
tests/rootfs/README: document how to run the tests
It's simple, but worth a few lines in the README.
2025-05-06 16:50:20 -04:00
31306a297b
tests: simplify to use just the built bootc image
I'm sure there is a reason for why it is the way it is, which I will
learn about, but the way it is currently set up makes it hard to run
commands in the target system (like `rpm -q`) without doing a chroot
and doing a chroot requires some setup to happen.

I guess the nice thing about the way it is prior is we get to the look
at the filesystem untouched by the container runtime; which can
definitely be useful for tests.
2025-05-06 16:37:47 -04:00
a1ce9c6305 Merge branch 'dusty-riscv-support' into 'main'
Add riscv64 support; rework kdump definition

See merge request fedora/bootc/base-images!166
2025-04-30 20:03:46 +00:00
afff671b72 Merge branch 'dusty-builder-image-arg' into 'main'
Containerfile: support --build-arg BUILDER_IMAGE=quay.io/... too

See merge request fedora/bootc/base-images!168
2025-04-30 19:50:59 +00:00
d2cfbe1c95
Containerfile: name the python3 dependency
Since bootc-base-imagectl is python3 we need to make sure it's installed
in our `builder` container steps.
2025-04-30 15:01:42 -04:00
b5275ecaf7
Containerfile: support --build-arg BUILDER_IMAGE=quay.io/... too
This will make it easier to override the builder image if that's
desired too.
2025-04-29 15:29:18 -04:00
ebaedc73ed
Containerfile: explain why REPOS_IMAGE is needed
Having this is a bit confusing because the use case for it is exactly
what `podman build --from` was intended for. Let's add a comment here
about why it was added in aa9c6c2 [1], which is because konflux doesn't
support --from yet [1].

[1] https://gitlab.com/fedora/bootc/base-images/-/merge_requests/106#note_2380147640
2025-04-29 15:26:39 -04:00
b251e1cbb3
Containerfile: drop pulling rpm-ostree from copr
Things have stabilized a bit now so let's revert 1a5ba89
so it's easier to override the builder image if someone wants
to do that.
2025-04-29 15:23:34 -04:00
abbc4d1454 Merge branch 'fix-ansible' into 'main'
standard: Add python3-libdnf5 and -rpm for Ansible support

See merge request fedora/bootc/base-images!167
2025-04-28 18:55:25 +00:00
Martin Pitt
0f11682ed3 standard: Add python3-rpm for Ansible support
Ansible's `package_facts` builtin [1] uses rpm's Python API. This fails by
default with "Could not detect a supported package manager".

In particular this fixes linux-system-roles for running during bootc
container builds.

[1] https://docs.ansible.com/ansible/latest/collections/ansible/builtin/package_facts_module.html
2025-04-28 19:13:59 +02:00
Martin Pitt
eb150e1f72 standard: Add python3-libdnf5 for Ansible support
Ansible's package builtin [1] uses dnf's Python API. This fails by
default with "Could not import the libdnf5 python module". This is
awkward and laborious to work around in Containerfiles, as you can't use
the normal `package:` to install, so it would require
distribution/release specific code, and replicating this to all
playbooks.

In particular this fixes linux-system-roles for running during bootc
container builds.

[1] https://docs.ansible.com/ansible/latest/collections/ansible/builtin/package_module.html
2025-04-28 19:13:51 +02:00
40e33e055a
Add riscv64 support
Add a riscv64 stanza for the bootloader so we can build images for
riscv64 and conditionalize kexec-tools because it's not yet built
for riscv64.
2025-04-23 11:17:14 -04:00
089ae4f7e9
standard/coreos-user-experience: include makedumpfile, kdump-utils
The comment states that we want to support kdump so we need the
makedumpfile and kdump-utils RPM for that. Note here that we specify
paths rather than RPM names because downstream in EL9 those subpackages
were still part of the kexec-tools package and not broken out yet.
2025-04-23 11:15:07 -04:00
999702dd81 Merge branch 'iot-manifest' into 'main'
Adds iot-standard manifest to bootc base images

See merge request fedora/bootc/base-images!164
2025-04-11 16:09:04 +00:00
djach7
2bf75a020f Adds iot-standard manifest to bootc base images
Signed-off-by: djach7 <djachimo@redhat.com>
2025-04-11 10:19:29 -04:00
ef8819fee5 Merge branch 'image_matrix' into 'main'
README: document where the images are

See merge request fedora/bootc/base-images!165
2025-04-09 17:32:01 +00:00
909485741a README: Markdown lint fixes
Signed-off-by: Micah Abbott <miabbott@redhat.com>
2025-04-09 12:11:18 -04:00
b9c3877ead README: document where the images are
With the Konflux pipeline working, we should reference how to get
those images more easily.

Signed-off-by: Micah Abbott <miabbott@redhat.com>
2025-04-09 12:11:18 -04:00
e2b867e698 Merge branch 'fedora-bootc-minimal-plus-image' into 'main'
Initial Konflux build of Fedora Rawhide minimal-plus base image

See merge request fedora/bootc/base-images!157
2025-04-03 18:12:26 +00:00
05e3d446c8 Merge branch 'fedora-bootc-42-minimal' into 'main'
Initial Konflux build of Fedora 42 minimal base image

See merge request fedora/bootc/base-images!161
2025-04-03 18:12:13 +00:00
369e418b28 Merge branch 'fedora-bootc-42-minimal-plus' into 'main'
Initial Konflux build of Fedora 42 minimal-plus base image

See merge request fedora/bootc/base-images!162
2025-04-03 18:11:55 +00:00
5c8d94e069 Merge branch 'fedora-bootc-42-standard' into 'main'
Initial Konflux build of Fedora 42 standard base image

See merge request fedora/bootc/base-images!163
2025-04-03 17:49:56 +00:00
06f44c6b29 Merge branch 'fedora-bootc-tier-x-build' into 'main'
Initial Konflux build of Fedora  Rawhide standard base image

See merge request fedora/bootc/base-images!70
2025-04-03 17:49:20 +00:00
dc8b1ed433
Fedora 42 standard base image 2025-04-03 12:19:55 +02:00
c8c36c7819
Fedora 42 minimal-plus base image 2025-04-03 12:19:54 +02:00
426b951aee
Fedora 42 minimal base image 2025-04-03 12:19:45 +02:00
28bec24be8 Merge branch 'fedora-bootc-minimal-image' into 'main'
Initial Konflux build of Fedora Rawhide minimal base image

See merge request fedora/bootc/base-images!156
2025-04-01 14:24:48 +00:00
0aaa20edd7
Initial Konflux build of Fedora Rawhide minimal-plus base image 2025-04-01 14:53:48 +02:00
4abbbdb4e1
Initial Konflux build of Fedora Rawhide minimal base image 2025-04-01 14:53:15 +02:00
3d8dd4e4ce
Initial Konflux build of Fedora Rawhide standard base image 2025-04-01 10:29:54 +02:00
b2ef5fbd7a Merge branch 'move-tss-to-etc' into 'main'
Move the `tss` group to `/etc` so it can be mutated

See merge request fedora/bootc/base-images!155
2025-03-26 15:43:53 +00:00
Colin Walters
993845d2a2 Move the tss group to /etc so it can be mutated
This works around two issues:

- First, rpm switched to reading users/groups directly for
  its implementation of systemd-sysusers, which meant
  it no longer reads via nss, which breaks nss-altfiles.
  xref: https://github.com/rpm-software-management/rpm/pull/2503#issuecomment-1536435351
  and below.
- Second, even if that was fixed, `keylime` wants to add
  its user to the group, which can't be done when it's a system
  uid.

Since nothing in the OS content is owned by this group, we can
move underneath `/etc` by default.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-03-25 20:09:17 -04:00
a2259f8597 Merge branch 'drop-experimental' into 'main'
base-imagectl: Drop `experimental` from compose-rootfs

See merge request fedora/bootc/base-images!152
2025-03-21 18:59:21 +00: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
407c3a6716 Merge branch 'rename-tierx' into 'main'
Rename tier-x → minimal-plus

Closes #24

See merge request fedora/bootc/base-images!151
2025-03-18 15:49:27 +00:00
Colin Walters
585071ec6e Rename tier-x → minimal-plus
When we renamed tier-0 → minimal and tier-1 → standard, the
naming of tier-x became obsolete. Complete the nomenclature
update.

Closes: https://gitlab.com/fedora/bootc/base-images/-/issues/24
Signed-off-by: Colin Walters <walters@verbum.org>
2025-03-18 10:12:38 -04:00