Merge tier-1 to the toplevel
Now we just have a minimal base, and what was tier-1 is now just the default content. We still do capture the previous conception of "tier-x" in `packages-recommended-minimal.txt` so that people starting from scratch can install using that. Signed-off-by: Colin Walters <walters@verbum.org>
This commit is contained in:
parent
d6f376b36e
commit
8a6332e491
|
|
@ -3,26 +3,26 @@
|
||||||
# This is a local reference by default because we haven't shipped this image yet.
|
# This is a local reference by default because we haven't shipped this image yet.
|
||||||
FROM localhost/fedora-bootc:base as rootfs
|
FROM localhost/fedora-bootc:base as rootfs
|
||||||
# Drop our package sets into /usr/share/doc, so that other things can parse it
|
# Drop our package sets into /usr/share/doc, so that other things can parse it
|
||||||
COPY packages-*.txt /usr/share/doc/fedora-bootc/
|
COPY packages*.txt /usr/share/doc/fedora-bootc/
|
||||||
# Overlay our defaults
|
# Overlay our defaults
|
||||||
COPY tier-1/usr/ /usr/
|
COPY usr/ /usr/
|
||||||
RUN <<EORUN
|
RUN <<EORUN
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
dnf_args=()
|
dnf_args=()
|
||||||
echo "Loading packages-excluded"
|
echo "Loading packages-excluded"
|
||||||
for x in $(grep -E -v '^#' /usr/share/doc/fedora-bootc/packages-excluded.txt); do
|
basedir=/usr/share/doc/fedora-bootc/
|
||||||
|
for x in $(grep -E -v '^#' ${basedir}/packages-excluded.txt); do
|
||||||
dnf_args+=(--exclude ${x})
|
dnf_args+=(--exclude ${x})
|
||||||
done
|
done
|
||||||
echo "Loading packages-recommended"
|
echo "Loading packages"
|
||||||
base_pkgs=$(grep -E -v '^#' /usr/share/doc/fedora-bootc/packages-recommended.txt)
|
package_files=(${basedir}/packages-recommended-minimal.txt ${basedir}/packages.txt)
|
||||||
pkgfile_for_arch=/usr/share/doc/fedora-bootc/packages-$(arch).txt
|
pkgfile_for_arch=/usr/share/doc/fedora-bootc/packages-$(arch).txt
|
||||||
arch_pkgs=
|
|
||||||
if test -f ${pkgfile_for_arch}; then
|
if test -f ${pkgfile_for_arch}; then
|
||||||
echo "Loading ${pkgfile_for_arch}"
|
echo "Loading ${pkgfile_for_arch}"
|
||||||
arch_pkgs=$(grep -E -v '^#' ${pkgfile_for_arch})
|
package_files+=(${pkgfile_for_arch})
|
||||||
fi
|
fi
|
||||||
|
base_pkgs=$(grep -hE -v '^#' ${package_files[@]})
|
||||||
dnf -y ${dnf_args[@]} install $base_pkgs $arch_pkgs
|
dnf -y ${dnf_args[@]} install $base_pkgs
|
||||||
|
|
||||||
# Ensure we regenerate the initramfs with new content
|
# Ensure we regenerate the initramfs with new content
|
||||||
# https://docs.fedoraproject.org/en-US/bootc/initramfs/
|
# https://docs.fedoraproject.org/en-US/bootc/initramfs/
|
||||||
|
|
|
||||||
24
README.md
24
README.md
|
|
@ -47,29 +47,17 @@ podman build --from quay.io/fedora/fedora:41 ...
|
||||||
You are of course also free to fork, customize, and build base images yourself.
|
You are of course also free to fork, customize, and build base images yourself.
|
||||||
See this page[6] of the documentation for more information.
|
See this page[6] of the documentation for more information.
|
||||||
|
|
||||||
## Tiers
|
## Images
|
||||||
|
|
||||||
At the current time, there is just one reference base image published
|
At the current time, there is just one reference base image published
|
||||||
to the registry. Internally the content set is split up somewhat
|
to the registry. There is a `Containerfile.base` which produces a
|
||||||
into "tiers", but this is an internal implementation detail and may change
|
quite minimal base image, from which the default image derives.
|
||||||
at any time.
|
|
||||||
|
|
||||||
It is planned to rework and improve this in the future, especially
|
More on the history from [this tracker issue](https://gitlab.com/fedora/bootc/tracker/-/issues/32).
|
||||||
to support smaller custom images. For more on this, see
|
|
||||||
[this tracker issue](https://gitlab.com/fedora/bootc/tracker/-/issues/32).
|
|
||||||
|
|
||||||
- **base**: A base image with the effective equivalent of installing `bootc kernel systemd dnf`
|
- Containefile.base: A base image with the effective equivalent of installing `bootc kernel systemd dnf`
|
||||||
with "recommends" off. Intended as a derivation starting point for minimal systems.
|
with "recommends" off. Intended as a derivation starting point for minimal systems.
|
||||||
- **tier-1**: This image is the default, what is published as
|
- Containerfile: Produces the default much larger image; somewhat similar to CoreOS.
|
||||||
https://quay.io/repository/fedora/fedora-bootc
|
|
||||||
- **packages-recommended.txt**: This content set is 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.
|
|
||||||
|
|
||||||
**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
|
## More information
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,84 @@
|
||||||
|
# A relatively large base image suitable for headless servers,
|
||||||
|
# a lot like CoreOS.
|
||||||
|
|
||||||
|
# Include and set the default editor
|
||||||
|
nano
|
||||||
|
nfs-utils
|
||||||
|
# Additional firewall support; we aren't including these in RHCOS or they
|
||||||
|
# don't exist in RHEL
|
||||||
|
iptables-services
|
||||||
|
WALinuxAgent-udev
|
||||||
|
# Allow communication between sudo and SSSD
|
||||||
|
# for caching sudo rules by SSSD.
|
||||||
|
# https://github.com/coreos/fedora-coreos-tracker/issues/445
|
||||||
|
libsss_sudo
|
||||||
|
# SSSD; we only ship a subset of the backends
|
||||||
|
sssd-client sssd-ad sssd-ipa sssd-krb5 sssd-ldap
|
||||||
|
# Used by admins interactively
|
||||||
|
openssl
|
||||||
|
# Provides terminal tools like clear, reset, tput, and tset
|
||||||
|
ncurses
|
||||||
|
# i18n
|
||||||
|
kbd
|
||||||
|
# zram-generator (but not zram-generator-defaults) for F33 change
|
||||||
|
# https://github.com/coreos/fedora-coreos-tracker/issues/509
|
||||||
|
zram-generator
|
||||||
|
# This one is in Python so isn't in FCOS, but we can safely add it here.
|
||||||
|
sos
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# Container tooling
|
||||||
|
toolbox
|
||||||
|
# nvme-cli for managing nvme disks
|
||||||
|
nvme-cli
|
||||||
|
# Used by admins interactively
|
||||||
|
lsof
|
||||||
|
|
||||||
|
# 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
|
||||||
|
sg3_utils
|
||||||
|
## This is generally useful... https://github.com/CentOS/centos-bootc/issues/394
|
||||||
|
cloud-utils-growpart
|
||||||
|
# User configuration
|
||||||
|
passwd
|
||||||
|
shadow-utils
|
||||||
|
acl
|
||||||
|
# Manipulating the kernel keyring; used by bootc
|
||||||
|
keyutils
|
||||||
|
# There are things that write outside of the journal still (such as the
|
||||||
|
# classic wtmp, etc.). auditd also writes outside the journal but it has its
|
||||||
|
# own log rotation.
|
||||||
|
# Anything package layered will also tend to expect files dropped in
|
||||||
|
# /etc/logrotate.d to work. Really, this is a legacy thing, but if we don't
|
||||||
|
# have it then people's disks will slowly fill up with logs.
|
||||||
|
logrotate
|
||||||
|
# Boost starving threads
|
||||||
|
# https://github.com/coreos/fedora-coreos-tracker/issues/753
|
||||||
|
stalld
|
||||||
|
|
||||||
|
# This defines a set of tools that are useful for configuring, debugging,
|
||||||
|
# or manipulating the network of a system.
|
||||||
|
# Interactive Networking configuration during coreos-install
|
||||||
|
NetworkManager-tui
|
||||||
|
# Support for cloud quirks and dynamic config in real rootfs:
|
||||||
|
# https://github.com/coreos/fedora-coreos-tracker/issues/320
|
||||||
|
NetworkManager-cloud-setup
|
||||||
|
# Route manipulation and QoS
|
||||||
|
iproute iproute-tc
|
||||||
|
# Firewall manipulation
|
||||||
|
iptables nftables
|
||||||
|
# Interactive network tools for admins
|
||||||
|
socat net-tools bind-utils
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
# This file was forked/copied from Fedora CoreOS. TODO: resync
|
|
||||||
# once we have a good generic mechanism for sharing.
|
|
||||||
packages:
|
|
||||||
# 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
|
|
||||||
# Container tooling
|
|
||||||
- toolbox
|
|
||||||
# nvme-cli for managing nvme disks
|
|
||||||
- nvme-cli
|
|
||||||
# Used by admins interactively
|
|
||||||
- lsof
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
# Flip this back on, we're going to be a larger system
|
|
||||||
recommends: true
|
|
||||||
|
|
||||||
include:
|
|
||||||
- ../tier-x/manifest.yaml
|
|
||||||
- networking-tools.yaml
|
|
||||||
- system-configuration.yaml
|
|
||||||
- coreos-user-experience.yaml
|
|
||||||
|
|
||||||
packages:
|
|
||||||
# Include and set the default editor
|
|
||||||
- nano
|
|
||||||
- nfs-utils
|
|
||||||
# Additional firewall support; we aren't including these in RHCOS or they
|
|
||||||
# don't exist in RHEL
|
|
||||||
- iptables-services
|
|
||||||
- WALinuxAgent-udev
|
|
||||||
# Allow communication between sudo and SSSD
|
|
||||||
# for caching sudo rules by SSSD.
|
|
||||||
# https://github.com/coreos/fedora-coreos-tracker/issues/445
|
|
||||||
- libsss_sudo
|
|
||||||
# SSSD; we only ship a subset of the backends
|
|
||||||
- sssd-client sssd-ad sssd-ipa sssd-krb5 sssd-ldap
|
|
||||||
# Used by admins interactively
|
|
||||||
- openssl
|
|
||||||
# Provides terminal tools like clear, reset, tput, and tset
|
|
||||||
- ncurses
|
|
||||||
# i18n
|
|
||||||
- kbd
|
|
||||||
# zram-generator (but not zram-generator-defaults) for F33 change
|
|
||||||
# https://github.com/coreos/fedora-coreos-tracker/issues/509
|
|
||||||
- zram-generator
|
|
||||||
# This one is in Python so isn't in FCOS, but we can safely add it here.
|
|
||||||
- sos
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
# This defines a set of tools that are useful for configuring, debugging,
|
|
||||||
# or manipulating the network of a system. It is desired to keep this list
|
|
||||||
# generic enough to be shared downstream with RHCOS.
|
|
||||||
|
|
||||||
packages:
|
|
||||||
# Interactive Networking configuration during coreos-install
|
|
||||||
- NetworkManager-tui
|
|
||||||
# Support for cloud quirks and dynamic config in real rootfs:
|
|
||||||
# https://github.com/coreos/fedora-coreos-tracker/issues/320
|
|
||||||
- NetworkManager-cloud-setup
|
|
||||||
# Route manipulation and QoS
|
|
||||||
- iproute iproute-tc
|
|
||||||
# Firewall manipulation
|
|
||||||
- iptables nftables
|
|
||||||
# Interactive network tools for admins
|
|
||||||
- socat net-tools bind-utils
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
# 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
|
|
||||||
- sg3_utils
|
|
||||||
## This is generally useful... https://github.com/CentOS/centos-bootc/issues/394
|
|
||||||
- cloud-utils-growpart
|
|
||||||
# User configuration
|
|
||||||
- passwd
|
|
||||||
- shadow-utils
|
|
||||||
- acl
|
|
||||||
# Manipulating the kernel keyring; used by bootc
|
|
||||||
- keyutils
|
|
||||||
# There are things that write outside of the journal still (such as the
|
|
||||||
# classic wtmp, etc.). auditd also writes outside the journal but it has its
|
|
||||||
# own log rotation.
|
|
||||||
# Anything package layered will also tend to expect files dropped in
|
|
||||||
# /etc/logrotate.d to work. Really, this is a legacy thing, but if we don't
|
|
||||||
# have it then people's disks will slowly fill up with logs.
|
|
||||||
- logrotate
|
|
||||||
# Boost starving threads
|
|
||||||
# https://github.com/coreos/fedora-coreos-tracker/issues/753
|
|
||||||
- stalld
|
|
||||||
Loading…
Reference in New Issue