Commit Graph

21 Commits

Author SHA1 Message Date
Colin Walters d7142132b7 tier-0: Drop dnf
We will have a better way to make derived container images
that doesn't require having dnf in the base image.

Prep for more minimal and custom images.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-01-13 10:01:02 -05:00
Colin Walters 7d5a0646a5 Update to 2024 edition
Prep for using finalize.d, but this is also just
a minor cleanup.
2024-12-13 09:17:41 -05:00
Jonathan Lebon 4511546f08
tier-0: pull in dnf using `/usr/bin/dnf` instead
dnf5 is currently in Fedora only, but this manifest is shared with
CentOS Stream and RHEL. Instead of requesting `dnf5`, request
`/usr/bin/dnf` instead. This will pull in dnf5 on Fedora, but dnf(4)
elsewhere.

We should be able to simplify this back to just `dnf` eventually once
dnf v4 is out of Fedora.
2024-09-23 10:45:38 -04:00
Jonathan Lebon d6f00d618f
tier-0: explicitly list coreutils
This currently is already in tier-0, but it feels odd to not explicitly
list it. Noticed while comparing to FCOS manifests, which does list it.
2024-09-20 11:05:10 -04:00
Jonathan Lebon e89c5542ea
Move automatic updates by default from tier-0 to tier-1
tier-1 is more opinionated and automatic updates by default is
definitely a very strong opinion.

This makes it easier to inherit from tier-0 without having to undo that
knob if it's not desirable.

Prep for !48.
2024-09-17 13:56:47 -04:00
Jonathan Lebon de0ff17f75
tier-0: drop dbus-common remove-from-packages
This is no longer needed. The package has been fixed for a while.

See also: f7aaeb3d6c
2024-09-16 16:20:11 -04:00
Jonathan Lebon a85de9b2e0
tier-0: pull in dnf5, not dnf
Currently, there is both dnf and dnf5 in Fedora. dnf5 provides `dnf`,
but matching a package name is stronger and so requesting `dnf` here
still pulls in the legacy one.

This notably drops out Python from tier 0.
2024-09-15 23:05:14 -04:00
Colin Walters fb882c9002 manifest: Unconditionally include bootupd
It's supported on all architectures now, even if it's
a no-op mostly on s390x today.

But specifically this will ensure we pull in zipl on s390x,
which *is* needed.

Signed-off-by: Colin Walters <walters@verbum.org>
2024-05-29 13:50:59 -04:00
Paul Whalen b0fa1f1dcd tier-0: add dnf for building derived images
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2024-05-08 08:14:30 -04:00
Colin Walters cfafc9e78a Only set default filesystem to XFS in CentOS
Fedora default filesystem is a messier situation.  This makes
it easier to inherit Fedora builds.

Signed-off-by: Colin Walters <walters@verbum.org>
2024-04-18 17:20:36 -04:00
Colin Walters 2d4c35279a Switch to systemd by default
Closes: https://github.com/CentOS/centos-bootc/issues/449
2024-03-26 12:27:29 -04:00
Colin Walters fb8efab43f tier-0: Enable tmp.mount by default
The long-carried-forward patch to disable `tmp.mount` for RHEL
rears its head again.
2024-02-12 15:06:34 -05:00
Colin Walters 256852e764 Start with an empty `/etc/machine-id` to disable `ConditionFirstBoot`
The systemd firstboot process does several things, but notably
it runs a preset process.  This means that basically a plain
`RUN systemctl enable foo` won't work unless you *also* write
a preset file for it, and no one will know to do that.
2024-01-30 13:09:43 -05:00
Colin Walters 67462b0dbc Enable `bootc-fetch-apply-updates.service` by default
This landed in c13c9eb8dc
And we want to come out emphasizing it.

Signed-off-by: Colin Walters <walters@verbum.org>
2024-01-18 18:21:44 -05:00
Colin Walters 7326c3686a tier-0: bootc is now in c9s
So drop the conditional.
2024-01-15 09:33:53 -05:00
Colin Walters 6c9d3b8b62 tier-0: bootc is only in eln
Prep for building with non-stream9 distros.

(TODO: add a dedicated variable for this at the toplevel)
2023-12-12 15:38:10 -05:00
Colin Walters dd0a042a17 Always add bootc install config
bootc isn't in C9S yet, but it is in the -dev images.  Add
the install config unconditionally so that `bootc install`
works in the `centos-bootc-dev` image.
2023-12-08 12:45:42 -05:00
Colin Walters 05f8c0f10c Add bootc to eln
To do this though add a `distro` variable we can use to differentiate
between stream9 vs not-stream9 for now.

bootc exists now in eln since
- https://pagure.io/pungi-fedora/pull-request/1217
- https://github.com/minimization/content-resolver-input/pull/1006
2023-11-01 15:20:20 -04:00
Colin Walters 43d8ee09de tier-0: Add container-selinux
Because currently trying to layer it on later causes issues.
2023-10-02 09:07:11 -04:00
Colin Walters 925d2a89cf Move container entrypoint to tier 0 2023-09-28 16:29:56 -04:00
Colin Walters 7361f26eeb Introduce a tier-0 image
This is basically just:

- kernel
- systemd
- selinux-policy-targeted
- bootc

Notably it doesn't have `rpm-ostree` or `rpm`, or many other things.
It also doesn't even have `linux-firmware`.

And no `openssh`!

It's almost certain that you need to derive from this, but
it should be a suitable starting point.

TODO: Add something like

```
$ dnf-system-bootstrap
Installing packaging tools from quay.io/fedora/fedora-boot-dnf@sha256:abcd...)
 # This would be basically all the packages not in tier-0 that
 # are enough to give `dnf install`
$ dnf install cowsay
 # Install critical stuff
$ dnf system-bootstrap remove
 # Remove everything that we added for the package system, that isn't
 # a dependency of what the user wants!
```

(In theory we could make this work with multi-stage builds, but
 it's a little hard)
2023-09-15 15:11:01 -04:00