Collection of cookbooks for Podman Quadlets
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Nicolas Massé 1e06ebfae9 split the base cookbook into base and coreos 2 weeks ago
..
config base: resync /etc/resolv.conf into Network=host containers 2 weeks ago
dropins/container.d wait for container to terminate before returning from systemctl stop 3 months ago
profile.d/examples install tools 5 months ago
Makefile split the base cookbook into base and coreos 2 weeks ago
README.md split the base cookbook into base and coreos 2 weeks ago
centos-stream10.image provides centos-stream 10 base image 5 months ago
fedora.image add fedora base image to the base cookbook 5 months ago
hooks.mk install tools 5 months ago
install-tools.service install tools 5 months ago
overlay.bu split the base cookbook into base and coreos 2 weeks ago
podman-resolv-conf-sync.path base: resync /etc/resolv.conf into Network=host containers 2 weeks ago
podman-resolv-conf-sync.service base: resync /etc/resolv.conf into Network=host containers 2 weeks ago

README.md

Podman Quadlet: Base

Overview

The base cookbook provides the foundational configuration shared by all cookbooks, whatever the underlying operating system. It includes:

  • Tools installation: the install-tools.service oneshot runs every script found in /etc/quadlets/base/install-tools.d/. Versions are pinned in /etc/quadlets/base/install-tools.env. The service is skipped when this file is absent.
  • fastfetch: a system information tool installed by install-tools.service and displayed on login, with color-coded output (red for root, blue for regular users).
  • resolv.conf resync: keeps Network=host containers in sync with the host's DNS. With Network=host, Podman snapshots /etc/resolv.conf at container creation and bind-mounts the copy, so a later DNS change (e.g. a DHCP renewal) never reaches running containers. A systemd.path unit watches /etc/resolv.conf and a oneshot service rewrites each host-network container's snapshot in place (same inode, no restart); bridged containers are left untouched. See issue #1.
  • Container teardown drop-in (example): a container.d drop-in that makes systemctl stop wait until the container has actually been removed.
  • Base images: fedora.image and centos-stream10.image pull the base images used by other cookbooks to build their own images.
  • Users and groups: creates the itix-svc service account (uid/gid 10000) and, in the Butane spec, the itix group (gid 1000) and removes the default core user.

This cookbook is an implicit dependency of every other cookbook, except coreos. It depends itself implicitly on the coreos cookbook, which holds everything specific to Fedora CoreOS.

Usage

In a separate terminal, follow the logs.

sudo make tail-logs

Install the base configuration.

sudo make clean install

You should see the install-tools.service downloading and installing fastfetch. On next login, fastfetch will display system information.

To verify the installation:

fastfetch --version

Finally, remove the configuration and its data.

sudo make uninstall clean