Commit graph

1074 commits

Author SHA1 Message Date
Jonathan Lebon
87eae9910e
bootc-base-imagectl: support hidden manifests, hide minimal-plus
We don't currently want the minimal-plus target to be user-facing. It's
intended only for other Fedora variants.

Let's support "hidden" manifests by having their names end in
`.hidden.yaml`. Then, make `minimal-plus` hidden.

I considered instead having them start with `.` to match
well-established semantics, but I don't like either that this hides them
from an `ls` in the git repo (or even with `-a`, puts them higher up
whereas I want it to be close to `minimal.yaml`).

I also considered leveraging the existing symlink hiding semantics, but
it also felt awkward to rename a file and add a symlink to it just for
the purpose of hiding it.
2025-06-17 15:46:08 -04:00
Jonathan Lebon
c2ff52a7cf
bootc-base-imagectl: simplify manifest path logic
The `if os.path.isdir(args.manifest)` bit dates from the introduction
of this script, but doesn't really work. I suspect the intent here was
to abstract over some manifests being top-level YAML files and others
being directories).

Except that:
1. The script didn't actually check the right path. It's checking
   `$PWD/{args.manifest}` instead of `$MANIFESTDIR/{args.manifest}`.
2. `list` doesn't have the equivalent logic to look for `manifest.yaml`
   files in subdirectories.
3. Nowadays, there is both a e.g. `standard.yaml` _and_ a
   `standard/manifest.yaml` directory. The established semantic there
   AIUI is that the top-level manifests are opinionated for a specific
   OS (Fedora/CentOS/RHEL), whereas the directories are shared across
   all of those.

So let's just nuke support for the directory path.
2025-06-17 15:32:25 -04:00
Jonathan Lebon
040f6319f5
Drop fedora- prefix from canonical manifests
It's confusing right now how the manifest names differ across
fedora-bootc, centos-bootc and rhel-bootc. Both rhel-bootc and
centos-bootc only use "bare" names like `minimal`, and `standard`, while
fedora-bootc prefixes everything with `fedora-`.

For FCOS/SCOS/RHCOS, it would be beneficial to maintain the same naming
across all of those.

Let's just match the naming here to the "bare" version. But add symlinks
so that we don't break the old names (but note that being symlinks, they
will no longer show up in `bootc-base-imagectl list`).
2025-06-17 15:32:25 -04:00
Jonathan Lebon
a750416a16 Merge branch 'dnf5-conditional' into 'main'
Move python3-libdnf to fedora only

See merge request fedora/bootc/base-images!172
2025-06-17 18:23:09 +00:00
Colin Walters
58570a1e60 Move python3-libdnf5 to fedora only
ref https://gitlab.com/redhat/centos-stream/containers/bootc/-/merge_requests/558#note_2492110138

Signed-off-by: Colin Walters <walters@verbum.org>
2025-06-17 12:52:34 -04:00
Miguel Martín
82b8ca7ba9 Merge branch 'renovate/main-fedora-42-compose-dependencies' into 'main'
chore(deps): update quay.io/bootc-devel/fedora-bootc-42-compose docker tag to fedora-42-updates-testing-20250617.0 (main)

See merge request fedora/bootc/base-images!211
2025-06-17 16:06:22 +02:00
Platform Engineering Bot
a0d499a91c chore(deps): update quay.io/bootc-devel/fedora-bootc-42-compose docker tag to fedora-42-updates-testing-20250617.0
Signed-off-by: Platform Engineering Bot <platform-engineering@redhat.com>
2025-06-17 11:39:18 +00:00
Miguel Martín
1392229442 Merge branch 'renovate/main-fedora-42-compose-dependencies' into 'main'
chore(deps): update quay.io/bootc-devel/fedora-bootc-42-compose docker tag to fedora-42-updates-testing-20250613.0 (main)

See merge request fedora/bootc/base-images!208
2025-06-16 10:55:46 +02:00
Platform Engineering Bot
877bf31487 chore(deps): update quay.io/bootc-devel/fedora-bootc-42-compose docker tag to fedora-42-updates-testing-20250613.0
Signed-off-by: Platform Engineering Bot <platform-engineering@redhat.com>
2025-06-16 00:08:18 +00:00
Miguel Martín
99ba876dfb Merge branch 'renovate/main-fedora-42-compose-dependencies' into 'main'
chore(deps): update quay.io/bootc-devel/fedora-bootc-42-compose docker tag to fedora-42-updates-testing-20250612.0 (main)

See merge request fedora/bootc/base-images!207
2025-06-12 20:26:10 +02:00
Platform Engineering Bot
ee03dec748 chore(deps): update quay.io/bootc-devel/fedora-bootc-42-compose docker tag to fedora-42-updates-testing-20250612.0
Signed-off-by: Platform Engineering Bot <platform-engineering@redhat.com>
2025-06-12 14:38:24 +00:00
Miguel Martín
e40616c71a Merge branch 'renovate/main-fedora-42-compose-dependencies' into 'main'
chore(deps): update quay.io/bootc-devel/fedora-bootc-42-compose docker tag to fedora-42-updates-testing-20250610.0 (main)

See merge request fedora/bootc/base-images!204
2025-06-11 09:51:16 +02:00
Miguel Martín
7fa2fb90af Merge branch 'renovate/main-fedora-rawhide-compose-dependencies' into 'main'
chore(deps): update quay.io/bootc-devel/fedora-bootc-rawhide-compose docker tag to fedora-rawhide-20250610.n.0 (main)

See merge request fedora/bootc/base-images!205
2025-06-11 09:50:57 +02:00
Platform Engineering Bot
70d53b382c chore(deps): update quay.io/bootc-devel/fedora-bootc-rawhide-compose docker tag to fedora-rawhide-20250610.n.0
Signed-off-by: Platform Engineering Bot <platform-engineering@redhat.com>
2025-06-11 05:32:01 +00:00
Platform Engineering Bot
da4799c2b1 chore(deps): update quay.io/bootc-devel/fedora-bootc-42-compose docker tag to fedora-42-updates-testing-20250610.0
Signed-off-by: Platform Engineering Bot <platform-engineering@redhat.com>
2025-06-11 05:31:37 +00:00
Miguel Martín
c50fcf9360 Merge branch 'renovate/main-fedora-rawhide-compose-dependencies' into 'main'
chore(deps): update quay.io/bootc-devel/fedora-bootc-rawhide-compose:fedora-rawhide-20250609.n.0 docker digest to 2af59ca (main)

See merge request fedora/bootc/base-images!202
2025-06-10 15:25:30 +02:00
Miguel Martín
bae0d7ad9d Merge branch 'renovate/main-auto-merged-updates' into 'main'
chore(deps): update quay.io/buildah/stable docker tag to v1.40.1 (main)

See merge request fedora/bootc/base-images!203
2025-06-10 15:24:22 +02:00
Platform Engineering Bot
6fc0f812c5 chore(deps): update quay.io/buildah/stable docker tag to v1.40.1
Signed-off-by: Platform Engineering Bot <platform-engineering@redhat.com>
2025-06-10 09:10:24 +00:00
Platform Engineering Bot
90bff25939 chore(deps): update quay.io/bootc-devel/fedora-bootc-rawhide-compose:fedora-rawhide-20250609.n.0 docker digest to 2af59ca
Signed-off-by: Platform Engineering Bot <platform-engineering@redhat.com>
2025-06-10 09:09:50 +00:00
Colin Walters (Red Hat)
6afae06962 Merge branch 'pr/install-manifests' into 'main'
Install bootc-base-imagectl in Pungi path

Closes #44

See merge request fedora/bootc/base-images!201
2025-06-09 20:48:27 +00:00
Jonathan Lebon
39a631218f
Install bootc-base-imagectl in Pungi path
Right now, one can't use the official fedora-bootc images for the custom
base image flow because it doesn't actually ship `bootc-base-imagectl`.
This will be fixed by the move to Konflux, but it's not clear when that
will happen.

Given how trivial it is to do, let's just ship it in the image for now.

Closes: https://gitlab.com/fedora/bootc/base-images/-/issues/44
2025-06-09 13:51:00 -04:00
Jonathan Lebon
fa9f15e87e
fedora-42: update repos list
Fedora 42 is GA now so use GA repos. This is the legacy Pungi path, but
one should be able to test the legacy paths locally too.

Pungi overrides repos so it doesn't hit this.
2025-06-09 13:48:58 -04:00
Miguel Martín
f7d48642c0 Merge branch 'renovate/main-fedora-42-compose-dependencies' into 'main'
chore(deps): update quay.io/bootc-devel/fedora-bootc-42-compose docker tag to fedora-42-updates-testing-20250606.0 (main)

See merge request fedora/bootc/base-images!199
2025-06-09 13:41:01 +02:00
Platform Engineering Bot
d75fe40ed6 chore(deps): update quay.io/bootc-devel/fedora-bootc-42-compose docker tag to fedora-42-updates-testing-20250606.0
Signed-off-by: Platform Engineering Bot <platform-engineering@redhat.com>
2025-06-09 10:11:10 +00:00
Miguel Martín
87997b19a7 Merge branch 'renovate/main-fedora-rawhide-compose-dependencies' into 'main'
chore(deps): update quay.io/bootc-devel/fedora-bootc-rawhide-compose docker tag to fedora-rawhide-20250609.n.0 (main)

See merge request fedora/bootc/base-images!200
2025-06-09 12:04:08 +02:00
Platform Engineering Bot
748c6406f7 chore(deps): update quay.io/bootc-devel/fedora-bootc-rawhide-compose docker tag to fedora-rawhide-20250609.n.0
Signed-off-by: Platform Engineering Bot <platform-engineering@redhat.com>
2025-06-09 09:09:32 +00:00
Colin Walters (Red Hat)
f152a0276e Merge branch 'pr/add-dir' into 'main'
bootc-base-imagectl: support injecting directories

See merge request fedora/bootc/base-images!195
2025-06-06 12:28:01 +00:00
Miguel Martín
c84058dc56 Merge branch 'update-konflux-reference' into 'main'
Update konflux pipeline reference

See merge request fedora/bootc/base-images!198
2025-06-06 12:25:00 +02:00
Miguel Martín
7b6f00e83f Merge branch 'renovate/main-all' into 'main'
chore(deps): update all dependencies (main)

See merge request fedora/bootc/base-images!59
2025-06-06 00:01:48 +02:00
Miguel Martín
9181f9ca55
Update konflux pipeline reference 2025-06-05 16:22:03 +02:00
Platform Engineering Bot
a72d41e21a chore(deps): update all dependencies
Signed-off-by: Platform Engineering Bot <platform-engineering@redhat.com>
2025-06-05 14:14:04 +00:00
Miguel Martín
5d04fcd3b5 Merge branch 'renovate/main-fedora-42-compose-dependencies' into 'main'
chore(deps): update quay.io/bootc-devel/fedora-bootc-42-compose docker tag to fedora-42-updates-testing-20250605.0 (main)

See merge request fedora/bootc/base-images!196
2025-06-05 16:10:07 +02:00
Platform Engineering Bot
f3259627f4 chore(deps): update quay.io/bootc-devel/fedora-bootc-42-compose docker tag to fedora-42-updates-testing-20250605.0
Signed-off-by: Platform Engineering Bot <platform-engineering@redhat.com>
2025-06-05 11:09:09 +00:00
Miguel Martín
1a9d0fc9f5 Merge branch 'renovate/main-fedora-rawhide-compose-dependencies' into 'main'
chore(deps): update quay.io/bootc-devel/fedora-bootc-rawhide-compose docker tag to fedora-rawhide-20250605.n.0 (main)

See merge request fedora/bootc/base-images!197
2025-06-05 13:05:02 +02:00
Platform Engineering Bot
5accefc8ad chore(deps): update quay.io/bootc-devel/fedora-bootc-rawhide-compose docker tag to fedora-rawhide-20250605.n.0
Signed-off-by: Platform Engineering Bot <platform-engineering@redhat.com>
2025-06-05 09:10:21 +00:00
Miguel Martín
02d98c67c7 Merge branch 'update-rawhide-compose' into 'main'
Update Rawhide compose reference in tekton files

See merge request fedora/bootc/base-images!194
2025-06-05 11:01:53 +02:00
Miguel Martín
e05375b538
Update Rawhide compose reference in tekton files 2025-06-04 16:58:55 +02:00
Miguel Martin Villamuelas
08254c0ba4 Merge branch 'update-fedora-42-compose-image-ref' into 'main'
Use the compose image with the latest Fedora 42 testing updates

See merge request fedora/bootc/base-images!193
2025-06-04 15:33:58 +02:00
Miguel Martín
0b558b0378 Use the compose image with the latest Fedora 42 testing updates
Signed-off-by: Miguel Martín <mmartinv@redhat.com>
2025-06-04 14:46:53 +02:00
Miguel Martin Villamuelas
49e97bfca1 Merge branch 'build-tweaks' into 'main'
Renovate/Konflux builds tweeks

See merge request fedora/bootc/base-images!192
2025-06-04 11:40:44 +02:00
Miguel Martín
6f2eeb08d6
Adjust konflux pipelines timeout
An update of a compose image from a specific Fedora version
triggers at least 4 builds: 'minimal', 'minimal-plus', 'standard'
and 'iot'.

We usually have 2 compose images updates (Fedora 42 and Rawhide) per
day so up to 8 builds are triggered at the same time. As we don't seem
to have a lot of resources in the Konflux cluster this leads to
build failures because of timeouts (the default pipeline timeout is 1h).

This change tries to mitigate this until we get more resources in the
Konflux cluster.

Signed-off-by: Miguel Martín <mmartinv@redhat.com>
2025-06-04 10:47:46 +02:00
Miguel Martín
90ce69c71f
Group compose changes per Fedora version
Grouping compose changes per Fedora version will allow
us to retrigger the builds separately in case of failure.

Signed-off-by: Miguel Martín <mmartinv@redhat.com>
2025-06-04 10:46:16 +02:00
Miguel Martín
7badbd218f
Fix string pattern in 'matchPackageNames'
Signed-off-by: Miguel Martín <mmartinv@redhat.com>
2025-06-04 10:46:16 +02:00
Miguel Martín
b06288518c
Use patch/build instead of minor/patch in 'versioningTemplate'
According to the documentation 'build' can be used after 'major', 'minor'
and 'patch' have been already used and a fourth version part is needed.

On the other hand, it's only mandatory to use at least one of 'major',
'minor' or 'patch'.

We are using 'patch' and 'build' in compose-images so this change is
to make the versioning consistent among both projects.

Signed-off-by: Miguel Martín <mmartinv@redhat.com>
2025-06-04 10:46:16 +02:00
Miguel Martín
e520c17c09
Simplify managerFilePatterns
Signed-off-by: Miguel Martín <mmartinv@redhat.com>
2025-06-04 09:45:37 +02:00
Jonathan Lebon
e3b9fbd6ba
bootc-base-imagectl: support injecting directories
Right now, the expectation for adding unpackaged content in a custom
base image flow is to do it after the main compose. The problem however
is that sometimes you want that content to affect the main compose
itself, so doing it afterwards is not sufficient.

The primary use case for this is sysusers.d dropins where you need
to make sure that sysusers in scriptlets don't pick UIDs/GIDs already
reserved on target client systems.

One way to work around this is to synthesize an RPM that ships the
dropin, and then ensure that it somehow runs as early as possible in the
transaction. This is doable but obviously quite a hack.

Enable this instead by adding a generic `--add-dir` switch which then
just translates to `ostree-layers` in the override manifest.

The dnf equivalent would be to first install e.g. `filesystem` and
`setup`, add files to the rootfs, and then install all the other
packages.

See also discussions in https://github.com/coreos/rpm-ostree/pull/5354.
2025-06-03 22:05:06 -04:00
Colin Walters (Red Hat)
f6c94a95ed Merge branch 'pr/set-xeuo-pipefail' into 'main'
manifests: consistently use `set -xeuo pipefail` in postprocess scripts

See merge request fedora/bootc/base-images!190
2025-05-26 21:10:06 +00:00
Miguel Martin Villamuelas
31ecb7f417 Merge branch 'update-f42-iot-pipelinerun' into 'main'
Update the compose image for the Fedora 42 IoT build pipeline.

See merge request fedora/bootc/base-images!186
2025-05-26 21:47:07 +02:00
Miguel Martin Villamuelas
27b3462024 Merge branch 'update-f42-minimal-pipelinerun' into 'main'
Update Fedora 42 minimal build pipeline

See merge request fedora/bootc/base-images!187
2025-05-26 21:46:45 +02:00
Miguel Martin Villamuelas
f4a41aad0c Merge branch 'update-f42-minimal-plus-pipelinerun' into 'main'
Update Fedora 42 minimal-plus build pipeline

See merge request fedora/bootc/base-images!188
2025-05-26 21:45:39 +02:00