Author SHA1 Message Date
Jonathan Lebon 92172d2d56 Merge branch 'pr/coreutils' into 'main'
tier-0/x: various tweaks

See merge request fedora/bootc/base-images!54
2024-09-20 19:06:53 +00:00
Colin Walters (Red Hat) 8a37080d85 Merge branch 'pr/fix-sed' into 'main'
tier-0: fix sed invocation

See merge request fedora/bootc/base-images!55
2024-09-20 18:31:02 +00:00
Jonathan Lebon cbd531bc53 tier-0: fix sed invocation
Classic sed invocation footgun. Doing `-ie` actually binds the `e` to
`-i` which tells sed to backup the original with a suffix of `e`.

This gets rid of `/usr/lib/tmpfiles.d/provision.confe`.

systemd-tmpfiles ignores files that don't have `.conf` so the stray file
had no effect.
2024-09-20 12:56:50 -04:00
Jonathan Lebon 62be40d8b4 tier-0: drop mkdir -p /run workaround
This has long been unnecessary.

See also: https://github.com/coreos/fedora-coreos-config/commit/029d320bfe95ab0c59b6fb376467c03397588e60
2024-09-20 11:16:02 -04:00
Jonathan Lebon b9fdc53e87 tier-x: explicitly list podman, skopeo
They're such important tools to the experience, it's weird to leave it
as being it implied by bootc only.
2024-09-20 11:15:19 -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
Colin Walters (Red Hat) 243b2c03bc Merge branch 'more-doc-tiers' into 'main'
README.md: Clarify a few things

See merge request fedora/bootc/base-images!52
2024-09-18 20:59:16 +00:00
Colin Walters (Red Hat) 2d19347f1b Merge branch 'pr/tier-1-inherit' into 'main'
tier-1: inherit from tier-x

See merge request fedora/bootc/base-images!53
2024-09-18 20:43:44 +00:00
Jonathan Lebon 83542ad32e tier-1: drop a bunch of redundant packages
These are all included in tier-x or tier-0 already.

Though it does drop bsdtar. This isn't really well-known enough to
belong here. It's included in FCOS because we use it in our scripts,
but it's not a requirement for any tier-1 logic AFAIK and I would be
surprised if users expected it there.
2024-09-18 15:32:40 -04:00
Jonathan Lebon 034cf4bf28 tier-1: inherit from tier-x
We want tier-1 to be another consumer of tier-x, kind of like its own
top-level Fedora variant. That way, tier-1 is now a strict superset of
tier-x, just like the other variants.
2024-09-18 15:16:46 -04:00
Jonathan Lebon d65c8fa91e tier-x: drop dnsmasq and slirp4netns
These packages are in all the variants, but not tier-1. We want tier-1
to inherit from tier-x, so remove them.
2024-09-18 14:46:27 -04:00
Colin Walters e5d5452ace README.md: Clarify a few things
- Make very clear that tier-1 is the default image
- Link to our issue tracker for supportable base image customization
- Note use of `--build-arg=MANIFEST`.

etc.

Signed-off-by: Colin Walters <walters@verbum.org>
2024-09-18 09:11:05 -04:00
Colin Walters (Red Hat) 97e5c775fd Merge branch 'pr/ci-tier-x' into 'main'
CI: also build tier-0 and tier-x

See merge request fedora/bootc/base-images!50
2024-09-18 12:38:55 +00:00
Jonathan Lebon 2c3aea7d8e CI: also build tier-0 and tier-x
Let's at least verify tier-0 and tier-x can build fine. Ideally in the
future we actually run some tests on the resulting image, though let's
wait until this CI is migrated to Konflux before doing that.
2024-09-17 22:35:11 -04:00
Colin Walters (Red Hat) 9e2e845372 Merge branch 'pr/tier-x' into 'main'
tier-x: new tier for cross-variant collaboration

See merge request fedora/bootc/base-images!48
2024-09-17 20:07:19 +00:00
Colin Walters (Red Hat) 39240d2848 Merge branch 'pr/iptables-nft' into 'main'
Drop iptables-legacy from tier-0, drop iptables-legacy alternatives hack from tier-1

See merge request fedora/bootc/base-images!46
2024-09-17 18:14:41 +00:00
Colin Walters (Red Hat) e6c505b14a Merge branch 'pr/autoupdates-tier-0' into 'main'
Move automatic updates by default from tier-0 to tier-1

See merge request fedora/bootc/base-images!49
2024-09-17 18:11:03 +00: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 eecff86d81 README: add "Tiers" section
Describe each tier briefly. Link to the docs for more information.
Mention that changes to tier-0 and tier-x needs acknowledgement from
each variant.
2024-09-16 16:52:41 -04:00
Jonathan Lebon 035de97f61 tier-x: new tier for cross-variant collaboration
One of the main goals of the bootable containers initiative in Fedora
is to have all the image-based Fedora variants share a common base onto
which we can maintain CI, develop features, fix bugs, etc...

While I believe in the long-term, we should try to have literal
derivation from a base image, this is not currently desirable for
various reasons. Instead, for now we can share things at the manifest
level by having this repo be a submodule in the every variant's repo.

Currently, tier-0 is much smaller than it needs to be for sharing
purposes. Crucially, it doesn't include NetworkManager. At the same
time, tier-1 is much too large as a shared target. As a first step, we
should try to match variants where they currently are and not force them
to ship many more packages than they currently do.

For this purpose, I'm proposing a new tier: tier-x. The "x" stands for
"cross-variant". This tier is composed of tier-0 + a set of packages
that is currently in common to all the involved variants. The most
notable additions are NetworkManager, openssh, and rpm-ostree.

The intention then is to have every Fedora variant `include` this tier
and have it become the point of collaboration between variants. E.g. new
packages/bug fixes/temporary workarounds relevant to all variants likely
should land in this tier instead of in the downstreams. CI of course
will also be an important discussion point.
2024-09-16 16:52:36 -04:00
Colin Walters (Red Hat) 9ce9d35a61 Merge branch 'pr/drop-dbus' into 'main'
tier-0: drop dbus-common remove-from-packages

See merge request fedora/bootc/base-images!47
2024-09-16 20:51:41 +00: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: https://github.com/coreos/fedora-coreos-config/commit/f7aaeb3d6c6b2d7b67dfa7267c6ef308a29f70a4
2024-09-16 16:20:11 -04:00
Jonathan Lebon f4eba96aef tier-1: drop iptables alternatives hack
We only ship iptables-nft, so there's no need to explicitly
override the symlinks anymore. To enforce this remains the case, add
`iptables-legacy` to the exclusion list.
2024-09-16 16:06:13 -04:00
Jonathan Lebon 55609b1d19 tier-0: pull in iptables-nft instead of iptables-legacy
As per the comment, currently we're pulling in iptables-legacy because
for some reason the `iptables` Provides is fulfilled by that instead of
iptables-nft. Explicitly name the latter to avoid this.

Note in tier-1 we do pull iptables-nft only because it's explicitly
named there.
2024-09-16 16:06:13 -04:00
Colin Walters (Red Hat) a3629ba21a Merge branch 'pr/tier-1-remove' into 'main'
tier-1: drop unused kdump-aarch64-aws-workaround.yaml and redundant tier-0 symlinks

See merge request fedora/bootc/base-images!44
2024-09-16 13:48:22 +00:00
Colin Walters (Red Hat) 864ecc4aa0 Merge branch 'pr/dnf5' into 'main'
tier-0: pull in dnf5, not dnf

See merge request fedora/bootc/base-images!45
2024-09-16 13:37:16 +00:00
Jonathan Lebon 9410195760 tier-1: drop redundant tier-0 symlinks
Instead of re-symlinking every tier-0 manifest, just include the tier-0
manifest directly. That way, rpm-ostree will already know to resolve its
manifests within the tier-0 directory.
2024-09-16 09:18:05 -04:00
Jonathan Lebon 4e736cc6bb tier-1: drop unused kdump-aarch64-aws-workaround.yaml
At least in this repo's history, this file doesn't appear to have ever
been used.
2024-09-16 09:17:23 -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 (Red Hat) 684ea928c2 Merge branch 'check-for-fedora' into 'main'
tier-0/initramfs.yaml: add conditional for 41 when adding systemd-cryptsetup

See merge request fedora/bootc/base-images!42
2024-09-10 19:08:44 +00:00
Joseph Marrero Corchado 17bb5e4128 Revert "tier-0: add systemd-cryptsetup to initrd dracut modules"
This reverts commit 7109132dd6.
2024-09-10 14:32:13 -04:00
Colin Walters (Red Hat) 166df9118a Merge branch 'kdump-args' into 'main'
tier-0: Add /usr/lib/{passwd,group} to dracut

See merge request fedora/bootc/base-images!32
2024-09-10 16:43:13 +00:00
Joseph Marrero e01020ddc2 tier-0: Add /usr/lib/{passwd,group} to dracut
On image mode systems we use nss-altfiles this,
change makes sure dracut uses them. This fix also
fixes kdump writing over NFS.
2024-09-06 22:56:57 -04:00
Colin Walters (Red Hat) 8b551127e6 Merge branch 'revert-gdisk' into 'main'
Revert "bootc: Drop gdisk"

See merge request fedora/bootc/base-images!41
2024-09-03 13:00:02 +00:00
Colin Walters 0e9bf457eb Revert "bootc: Drop gdisk"
This reverts commit 5d8e7a5f6b.

Because I was confused, bootc does require it right now.
2024-09-03 08:48:51 -04:00
Colin Walters (Red Hat) 3f6db2ef2e Merge branch 'drop-gdisk' into 'main'
bootc: Drop gdisk

See merge request fedora/bootc/base-images!39
2024-08-30 13:36:06 +00:00
Colin Walters 5d8e7a5f6b bootc: Drop gdisk
See https://gitlab.com/redhat/centos-stream/containers/bootc/-/merge_requests/198
and https://issues.redhat.com/browse/RHELMISC-6651 etc.
2024-08-30 09:02:39 -04:00
Colin Walters (Red Hat) 8f5208a42c Merge branch 'tier0-cryptsetup' into 'main'
tier-0: add systemd-cryptsetup to initrd dracut modules

See merge request fedora/bootc/base-images!37
2024-08-29 13:53:20 +00:00
Micah Abbott 7109132dd6 tier-0: add systemd-cryptsetup to initrd dracut modules
Fedora 41 appears to require the inclusion of `systemd-cryptsetup` in
the initrd in order to unlock LUKS devices at boot.

See: #17

Signed-off-by: Micah Abbott <miabbott@redhat.com>
2024-08-29 09:23:25 -04:00
Colin Walters (Red Hat) 4a4e727254 Merge branch 'switch-add-dracutmodules' into 'main'
initramfs: Switch to `add_dracutmodules`

See merge request fedora/bootc/base-images!36
2024-08-22 14:37:25 +00:00
Colin Walters 0da319f566 initramfs: Switch to add_dracutmodules
Per discussion in https://github.com/rhkdump/kdump-utils/pull/29#issuecomment-2303932537

This would have avoided kdump breakage, and the original motivation
of avoiding dracut error spam from missing things is gone now
that Fedora is using dracut-ng which has
https://github.com/dracut-ng/dracut-ng/commit/d73cc24e112c01aa701a96a7b8a58adce78409e7
2024-08-22 09:38:07 -04:00
Colin Walters (Red Hat) 1350cb68ca Merge branch 'crypto-scripts' into 'main'
system-config: Add crypto-policies-scripts

See merge request fedora/bootc/base-images!34
2024-08-21 15:04:43 +00:00
Liora Milbaum ec8fb6085c Update renovate.json 2024-08-21 07:22:28 +00:00
Colin Walters ee7ceb348c system-config: Add crypto-policies-scripts
Addresses https://gitlab.com/fedora/bootc/examples/-/issues/14

Signed-off-by: Colin Walters <walters@verbum.org>
2024-08-13 10:33:31 -04:00
Colin Walters (Red Hat) 0858175b46 Merge branch 'fix_growpart' into 'main'
tier-1/gropwart: bail early on devicemapper targets

See merge request fedora/bootc/base-images!33
2024-08-12 14:06:27 +00:00
Micah Abbott e99b62981a tier-1/gropwart: bail early on devicemapper targets
If the growpart script detects a DM target, exit early.

Signed-off-by: Micah Abbott <miabbott@redhat.com>
2024-08-09 16:50:14 -04:00
Colin Walters (Red Hat) 40df0eb382 Merge branch 'fips' into 'main'
initramfs-full: Add fips

See merge request fedora/bootc/base-images!31
2024-07-02 17:25:07 +00:00
Colin Walters 73fca28298 initramfs-full: Add fips
Part of enabling FIPS support by default.
See also https://gitlab.com/fedora/bootc/examples/-/merge_requests/49
2024-07-01 20:46:05 -04:00
Liora Milbaum 3237cc0a8e Merge branch 'renovate/main-all' into 'main'
chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v4.6.0 (main)

See merge request fedora/bootc/base-images!29
2024-06-03 07:19:46 +00:00
Platform Engineering Bot 7cb7a397aa chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v4.6.0
Signed-off-by: Platform Engineering Bot <platform-engineering@redhat.com>
2024-06-03 00:05:58 +00:00
Colin Walters (Red Hat) 64a741188c Merge branch 'drop-arch-bootupd-filtering' into 'main'
manifest: Unconditionally include bootupd

See merge request fedora/bootc/base-images!28
2024-05-29 21:03:23 +00: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
Jonathan Lebon 9ed1a7fef3 Merge branch 'add-archive-repo' into 'main'
Add fedora-repos-archive

Closes #12

See merge request fedora/bootc/base-images!26
2024-05-29 13:52:34 +00:00
Colin Walters 33ba2536f3 Add fedora-repos-archive
For the same reason FCOS has included it forever; it allows
some skew between images and the RPM mirrors for version-sensitive
things like `kernel-devel`.

Closes: https://gitlab.com/fedora/bootc/base-images/-/issues/12
Signed-off-by: Colin Walters <walters@verbum.org>
2024-05-28 17:15:53 -04:00
Liora Milbaum 6beab2a659 Merge branch 'rawhide' into 'main'
Only rawhide

See merge request fedora/bootc/base-images!25
2024-05-28 17:04:03 +00:00
Liora Milbaum aaa71e6629 Merge branch 'renovate-config' into 'main'
Renovate configuration: f40 branch

See merge request fedora/bootc/base-images!24
2024-05-28 16:56:14 +00:00
Liora Milbaum f870a77a25 Only rawhide 2024-05-28 19:53:56 +03:00
Liora Milbaum 243848c59b Renovate configuration: f40 branch 2024-05-28 19:37:17 +03:00
41 changed files with 169 additions and 162 deletions

No files matched your search

+4 -1
View File
@@ -4,8 +4,11 @@ include:
build-image:
extends: .build-image
parallel:
matrix:
- TIER: [tier-0, tier-1, tier-x]
variables:
EXTRA_ARGS: "--security-opt=label=disable --cap-add=all"
EXTRA_ARGS: "--security-opt=label=disable --cap-add=all --build-arg MANIFEST=fedora-$TIER.yaml"
rules:
- if: $CI_PROJECT_NAMESPACE != "fedora/bootc"
when: never
+1 -1
View File
@@ -1,7 +1,7 @@
---
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
rev: v4.6.0
hooks:
- id: end-of-file-fixer
- id: trailing-whitespace
+1 -1
View File
@@ -23,7 +23,7 @@
# Because it's generating a base image and uses containerbuildcontextization features itself.
# In the future some of this can be lifted.
FROM quay.io/fedora/fedora:40 as repos
FROM quay.io/fedora/fedora:rawhide as repos
FROM quay.io/centos-bootc/bootc-image-builder:latest as builder
ARG MANIFEST=fedora-bootc.yaml
+36 -7
View File
@@ -9,25 +9,54 @@ been extremely successful. This project aims to apply the same technique for
bootable host systems - using standard OCI/Docker containers as a transport and
delivery format for base operating system updates.
## Building
## Building images
First, the expectation is that most users will want to build *layered* images
on top of the official base images. See the documentation[5] for more info.
The current default user experience is to build *layered* images on top of the official
binary base images produced and tested by this project. See the documentation[5] for more info.
Building the images in this repo can be done with `podman build` as with any
other application image (note that building with `docker` is not currently
supported). You need to enable some privileges for technical reasons.
You can build custom base images by forking this repository; however,
https://gitlab.com/fedora/bootc/tracker/-/issues/32 tracks a more supportable
mechanism that is not simply forking. For more information see[6].
## Build process
Building the images in this repo can be done with `podman build`, but
note the build process uses a special podman-ecosystem specific mechanism
to create fully custom images while inside a `Containerfile`.
You need to enable some privileges as nested containerization is required.
```
podman build --security-opt=label=disable --cap-add=all \
--device /dev/fuse -t localhost/fedora-bootc .
```
See the `Containerfile` for more details.
See the `Containerfile` for more details. This builds the default `tier-1` image.
### Deriving
You are of course also free to fork, customize, and build base images yourself.
See this page[6] of the documentation for more information.
## Tiers
There are currently 3 tiers:
- **tier-1**: This image is the default, what is published as
https://quay.io/repository/fedora/fedora-bootc
- **tier-0**: This image is more of a convenient centralization point for CI
and curation around a package set that we can all agree is the rough minimum
necessary for a usable system. It's not meant to be used as is, but layered
upon.
- **tier-x**: This image is not intended for end-users. It's the shared base
used by all image-based Fedora variants (IoT, Atomic Desktops, and CoreOS).
Changes to this tier may be done without accounting for external users.
To build this, pass `--build-arg=MANIFEST=fedora-tier-x.yaml` to the build
command above.
**tier-1** inherits from **tier-x** and **tier-x** in turn inherit from **tier-0**.
All non-trivial changes to **tier-0** and **tier-x** should be ACKed by at least
one stakeholder of each Fedora variant WGs.
## More information
Documentation: <https://docs.fedoraproject.org/en-US/bootc/>
+1 -1
View File
@@ -3,7 +3,7 @@
"containers.bootc": "1",
"bootc.diskimage-builder": "quay.io/centos-bootc/bootc-image-builder",
"redhat.id": "fedora",
"redhat.version-id": "40"
"redhat.version-id": "rawhide"
},
"StopSignal": "SIGRTMIN+3",
"Env": [
+3 -6
View File
@@ -1,15 +1,12 @@
releasever: 40
variables:
distro: "fedora"
releasever: rawhide
repos:
- fedora
- updates
- rawhide
metadata:
name: fedora-boot-tier1
summary: Fedora Bootable Tier 1
include:
- fedora-generic.yaml
- tier-1/manifest.yaml
- tier-1/kernel.yaml
+7
View File
@@ -0,0 +1,7 @@
variables:
distro: "fedora"
# Fedora-specific packages here
packages:
# https://gitlab.com/fedora/bootc/base-images/-/issues/12
- fedora-repos-archive
+3 -6
View File
@@ -1,15 +1,12 @@
releasever: 40
variables:
distro: "fedora"
releasever: rawhide
repos:
- fedora-devel
- fedora-updates
- rawhide
metadata:
name: fedora-boot-tier0
summary: Fedora Bootable Tier 0
include:
- fedora-generic.yaml
- tier-0/manifest.yaml
- tier-0/kernel.yaml
+1
View File
@@ -0,0 +1 @@
fedora-bootc.yaml
+12
View File
@@ -0,0 +1,12 @@
releasever: rawhide
repos:
- rawhide
metadata:
name: fedora-boot-tier-x
summary: Fedora Bootable Tier X
include:
- fedora-generic.yaml
- tier-x/manifest.yaml
- tier-x/kernel.yaml
+8 -1
View File
@@ -3,10 +3,17 @@
"extends": [
"github>platform-engineering-org/.github"
],
"baseBranches": ["main", "f40", "f41"],
"packageRules": [
{
"matchPackageNames": ["quay.io/fedora/fedora"],
"allowedVersions": "=40"
"allowedVersions": "=40",
"matchBaseBranches": ["f40"]
},
{
"matchPackageNames": ["quay.io/fedora/fedora"],
"allowedVersions": "=41",
"matchBaseBranches": ["f41"]
}
]
}
-9
View File
@@ -1,9 +0,0 @@
# Enable automatic updates by default
postprocess:
- |
#!/usr/bin/env bash
set -euo pipefail
target=/usr/lib/systemd/system/default.target.wants
mkdir -p $target
set -x
ln -s ../bootc-fetch-apply-updates.timer $target
+2 -2
View File
@@ -23,7 +23,7 @@ postprocess:
# tmpfiles.d unit for `/var/roothome` is fine, but this actually doesn't
# work if we want to use tmpfiles.d to write to `/root/.ssh` because
# tmpfiles gives up on that before getting to `/var/roothome`.
sed -ie 's, /root, /var/roothome,' /usr/lib/tmpfiles.d/provision.conf
sed -i -e 's, /root, /var/roothome,' /usr/lib/tmpfiles.d/provision.conf
# Because /var/roothome is also defined in rpm-ostree-0-integration.conf
# we need to delete /var/roothome
sed -ie '/^d- \/var\/roothome /d' /usr/lib/tmpfiles.d/provision.conf
sed -i -e '/^d- \/var\/roothome /d' /usr/lib/tmpfiles.d/provision.conf
+4
View File
@@ -2,6 +2,10 @@
packages:
- systemd
- bootc
# bootc pulls in podman, which pulls in containers-common, which wants
# `iptables`. Currently that pulls in iptables-legacy. Let's explicitly name
# iptables-nft instead to satisfy it.
- iptables-nft
# Required by bootc install today, though we'll likely switch bootc to use a Rust crate instead of sgdisk
- gdisk xfsprogs e2fsprogs dosfstools
-2
View File
@@ -25,7 +25,5 @@ postprocess:
- |
#!/bin/bash
set -xeuo pipefail
# Until we have https://github.com/coreos/rpm-ostree/pull/2275
mkdir -p /run
# Transforms /usr/lib/ostree-boot into a bootupd-compatible update payload
/usr/bin/bootupctl backend generate-update-metadata
+9 -3
View File
@@ -6,13 +6,19 @@ postprocess:
cat > /usr/lib/dracut/dracut.conf.d/20-bootc-base.conf << 'EOF'
# We want a generic image; hostonly makes no sense as part of a server side build
hostonly=no
dracutmodules+=" kernel-modules dracut-systemd systemd-initrd base ostree "
add_dracutmodules+=" kernel-modules dracut-systemd systemd-initrd base ostree "
EOF
cat > /usr/lib/dracut/dracut.conf.d/22-bootc-generic.conf << 'EOF'
# Extra modules that we want by default that are known to exist in the kernel
dracutmodules+=" virtiofs "
add_dracutmodules+=" virtiofs "
EOF
cat > /usr/lib/dracut/dracut.conf.d/49-bootc-tpm2-tss.conf << 'EOF'
# We want this for systemd-cryptsetup tpm2 locking
dracutmodules+=" tpm2-tss "
add_dracutmodules+=" tpm2-tss "
EOF
cat > /usr/lib/dracut/dracut.conf.d/59-altfiles.conf << 'EOF'
# https://issues.redhat.com/browse/RHEL-49590
# On image mode systems we use nss-altfiles for passwd and group,
# this makes sure dracut uses them which also fixes kdump writing to NFS.
install_items+=" /usr/lib/passwd /usr/lib/group "
EOF
+4 -10
View File
@@ -44,20 +44,19 @@ remove-from-packages:
# We don't want auto-generated mount units. See also
# https://github.com/systemd/systemd/issues/13099
- [systemd-udev, /usr/lib/systemd/system-generators/systemd-gpt-auto-generator]
# Drop some buggy sysusers fragments which do not match static IDs allocation:
# https://bugzilla.redhat.com/show_bug.cgi?id=2105177
- [dbus-common, /usr/lib/sysusers.d/dbus.conf]
include:
- bootc.yaml
- bootupd.yaml
- ostree.yaml
- initramfs.yaml
- autoupdates.yaml
- basic-fixes.yaml
packages:
# this is implied by dependencies but let's make it explicit
- coreutils
# needed for building derived container images
- dnf
- dnf5
# Even in tier-0, we have this. If you don't want SELinux today, you'll need
# to build a custom image.
- selinux-policy-targeted
@@ -65,8 +64,3 @@ packages:
- container-selinux
# Needed for tpm2 bound luks
- tpm2-tools
# See https://github.com/coreos/bootupd
arch-include:
x86_64: bootupd.yaml
aarch64: bootupd.yaml
-1
View File
@@ -1 +0,0 @@
../tier-0/autoupdates.yaml
+9
View File
@@ -0,0 +1,9 @@
# Enable automatic updates by default
postprocess:
- |
#!/usr/bin/env bash
set -euo pipefail
target=/usr/lib/systemd/system/default.target.wants
mkdir -p $target
set -x
ln -s ../bootc-fetch-apply-updates.timer $target
-1
View File
@@ -1 +0,0 @@
../tier-0/basic-fixes.yaml
-8
View File
@@ -1,8 +0,0 @@
packages:
- rpm-ostree nss-altfiles
exclude-packages:
# Exclude kernel-debug-core to make sure that it doesn't somehow get
# chosen as the package to satisfy the `kernel-core` dependency from
# the kernel package.
- kernel-debug-core
-1
View File
@@ -1 +0,0 @@
../tier-0/bootc-config.yaml
+7 -4
View File
@@ -3,15 +3,18 @@ set -eu
backing_device=$(findmnt -vno SOURCE /sysroot)
echo "Backing device: ${backing_device}"
# Handling devicemapper targets is a whole other thing
case $backing_device in
/dev/mapper/*) echo "Not growing $backing_device"; exit 0 ;;
esac
syspath=/sys/class/block/$(basename "${backing_device}")
if ! test -d "${syspath}"; then
echo "failed to find backing device ${syspath}"; exit 1
fi
# Handling devicemapper targets is a whole other thing
case $backing_device in
/dev/mapper/*) "Not growing $backing_device"; exit 0 ;;
esac
# Note that we expect that the rootfs is on a partition
partition=$(cat "${syspath}"/partition)
-1
View File
@@ -1 +0,0 @@
../tier-0/bootc.yaml
-1
View File
@@ -1 +0,0 @@
../tier-0/bootupd.yaml
+2 -26
View File
@@ -1,40 +1,16 @@
# This file was forked/copied from Fedora CoreOS. TODO: resync
# once we have a good generic mechanism for sharing.
packages:
# Basic user tools
## jq - parsing/interacting with JSON data
- bash-completion
- coreutils
- file
- jq
- less
- sudo
- vim-minimal
# File compression/decompression
## bsdtar - dependency of 35coreos-live dracut module
- bsdtar
- bzip2
- gzip
- tar
- xz
- zstd
# Additional file compression/decompression
- bzip2 zstd
# Improved MOTD experience
- console-login-helper-messages-issuegen
- console-login-helper-messages-profile
# kdump support
# https://github.com/coreos/fedora-coreos-tracker/issues/622
- kexec-tools
# Remote Access
- openssh-clients openssh-server
# Container tooling
## crun recommends but doesn't require criu and criu-libs. We want them for
## checkpoint/restore. https://github.com/coreos/fedora-coreos-tracker/issues/1370
- crun criu criu-libs
- podman
- skopeo
- toolbox
# passt provides user-mode networking daemons for namespaces
- passt
# nvme-cli for managing nvme disks
- nvme-cli
# Used by admins interactively
-7
View File
@@ -1,7 +0,0 @@
packages:
# linux-firmware now a recommends so let's explicitly include it
# https://gitlab.com/cki-project/kernel-ark/-/commit/32271d0cd9bd52d386eb35497c4876a8f041f70b
# https://src.fedoraproject.org/rpms/kernel/c/f55c3e9ed8605ff28cb9a922efbab1055947e213?branch=rawhide
- linux-firmware
# If you're using linux-firmware, you probably also want fwupd
- fwupd
-5
View File
@@ -1,5 +0,0 @@
# Firmware updates
packages-aarch64:
- fwupd
packages-x86_64:
- fwupd
-1
View File
@@ -1 +0,0 @@
../tier-0/group
-1
View File
@@ -1 +0,0 @@
../tier-0/grub2-removals.yaml
+1 -1
View File
@@ -4,5 +4,5 @@ postprocess:
#!/usr/bin/env bash
mkdir -p /usr/lib/dracut/dracut.conf.d
cat > /usr/lib/dracut/dracut.conf.d/30-bootc-tier-1.conf << 'EOF'
dracutmodules+=" lvm crypt "
add_dracutmodules+=" lvm crypt fips "
EOF
-1
View File
@@ -1 +0,0 @@
../tier-0/initramfs.yaml
-12
View File
@@ -1,12 +0,0 @@
# This file includes a fixup for kdump on aarch64 AWS instances.
# The issue seems specific to aarch64 AWS instances, but we'll go
# ahead and apply it across the board for aarch64, since that's
# the easiest thing to do. Hopefully the upstream issue will get
# resolved soon.
postprocess:
- |
#!/usr/bin/env bash
# Remove irqpoll from the list of KDUMP_COMMANDLINE_APPEND. This
# causes issues on aarch64 AWS instances.
# https://github.com/coreos/fedora-coreos-tracker/issues/1187
sed -i -e 's/irqpoll //' /etc/sysconfig/kdump
-1
View File
@@ -1 +0,0 @@
../tier-0/manifest.yaml
+6 -25
View File
@@ -2,14 +2,11 @@
recommends: true
include:
- manifest-tier-0.yaml
- bootable-rpm-ostree.yaml
- podman.yaml
- firmware.yaml
- ../tier-x/manifest.yaml
- autoupdates.yaml
- networking-tools.yaml
- system-configuration.yaml
- coreos-user-experience.yaml
- fwupd.yaml
- persistent-journal.yaml
- initramfs-full.yaml
- generic-growfs.yaml
@@ -17,12 +14,10 @@ include:
packages:
# Include and set the default editor
- nano
# And we expect this in general
- vim-minimal
- nfs-utils
# Additional firewall support; we aren't including these in RHCOS or they
# don't exist in RHEL
- iptables-nft iptables-services
- iptables-services
- WALinuxAgent-udev
# Allow communication between sudo and SSSD
# for caching sudo rules by SSSD.
@@ -31,9 +26,7 @@ packages:
# SSSD; we only ship a subset of the backends
- sssd-client sssd-ad sssd-ipa sssd-krb5 sssd-ldap
# Used by admins interactively
- attr
- openssl
- lsof
# Provides terminal tools like clear, reset, tput, and tset
- ncurses
# i18n
@@ -41,8 +34,6 @@ packages:
# zram-generator (but not zram-generator-defaults) for F33 change
# https://github.com/coreos/fedora-coreos-tracker/issues/509
- zram-generator
# resolved was broken out to its own package in rawhide/f35
- systemd-resolved
# This one is in Python so isn't in FCOS, but we can safely add it here.
- sos
@@ -67,19 +58,6 @@ postprocess:
systemctl preset-all
rm -rf /etc/systemd/user/*
systemctl --user --global preset-all
# Default to iptables-nft. Otherwise, legacy wins. We can drop this once/if we
# remove iptables-legacy. This is needed because alternatives don't work
# https://github.com/coreos/fedora-coreos-tracker/issues/677
# https://github.com/coreos/fedora-coreos-tracker/issues/676
- |
#!/usr/bin/env bash
set -xeuo pipefail
ln -sf /usr/sbin/ip6tables-nft /etc/alternatives/ip6tables
ln -sf /usr/sbin/ip6tables-nft-restore /etc/alternatives/ip6tables-restore
ln -sf /usr/sbin/ip6tables-nft-save /etc/alternatives/ip6tables-save
ln -sf /usr/sbin/iptables-nft /etc/alternatives/iptables
ln -sf /usr/sbin/iptables-nft-restore /etc/alternatives/iptables-restore
ln -sf /usr/sbin/iptables-nft-save /etc/alternatives/iptables-save
# See: https://github.com/coreos/fedora-coreos-tracker/issues/1253
# https://bugzilla.redhat.com/show_bug.cgi?id=2112857
# https://github.com/coreos/rpm-ostree/issues/3918
@@ -108,3 +86,6 @@ exclude-packages:
# Do not use legacy ifcfg config format in NetworkManager
# See https://github.com/coreos/fedora-coreos-config/pull/1991
- NetworkManager-initscripts-ifcfg-rh
# Let's not have both legacy and nft versions in the image. Users are free to
# also layer legacy themselves if they want.
- iptables-legacy
-2
View File
@@ -3,8 +3,6 @@
# generic enough to be shared downstream with RHCOS.
packages:
# Standard tools for configuring network/hostname
- NetworkManager hostname
# Interactive Networking configuration during coreos-install
- NetworkManager-tui
# Support for cloud quirks and dynamic config in real rootfs:
-1
View File
@@ -1 +0,0 @@
../tier-0/ostree.yaml
-1
View File
@@ -1 +0,0 @@
../tier-0/passwd
-7
View File
@@ -1,7 +0,0 @@
# Core podman bits
packages:
- crun
- podman
- container-selinux
- skopeo
+2 -4
View File
@@ -1,17 +1,15 @@
# These are packages that are related to configuring parts of the system.
packages:
# Explicit dep for RHEL >= 10
- crypto-policies-scripts
# Configuring SSH keys, cloud provider check-in, etc
# TODO: needs Ignition kargs
# - afterburn afterburn-dracut
# NTP support
- chrony
# Storage configuration/management
- lvm2
- cryptsetup
- e2fsprogs
- sg3_utils
- xfsprogs
## This is generally useful... https://github.com/CentOS/centos-bootc/issues/394
- cloud-utils-growpart
# User configuration
+1
View File
@@ -0,0 +1 @@
../tier-0/kernel.yaml
+45
View File
@@ -0,0 +1,45 @@
include:
- ../tier-0/manifest.yaml
packages:
# Used by admins interactively
- attr
- bash-completion
- hostname
- iproute
- jq
- less
- vim-minimal
# crun recommends but doesn't require criu and criu-libs. We want them for
# checkpoint/restore. https://github.com/coreos/fedora-coreos-tracker/issues/1370
- criu criu-libs
# deps of bootc, but let's be explicit. e.g. even if bootc drops the skopeo
# dep, we still want it
- podman skopeo
# storage
- cryptsetup
- lvm2
- tar
# zram-generator (but not zram-generator-defaults) for F33 change
# https://github.com/coreos/fedora-coreos-tracker/issues/509
- zram-generator
# networking
- iptables-nft
- NetworkManager
- openssh-clients
- openssh-server
- systemd-resolved
# linux-firmware now a recommends so let's explicitly include it
# https://gitlab.com/cki-project/kernel-ark/-/commit/32271d0cd9bd52d386eb35497c4876a8f041f70b
# https://src.fedoraproject.org/rpms/kernel/c/f55c3e9ed8605ff28cb9a922efbab1055947e213?branch=rawhide
- linux-firmware
# security
- polkit
- sudo
# Allow for configuring different timezones
- tzdata
# rpm-ostree
- rpm-ostree nss-altfiles
# firmware updates
# If you're using linux-firmware, you probably also want fwupd
- fwupd