105487c090
Adds a fast, reproducible install path that unpacks a prebuilt AlmaLinux 9 node
rootfs onto the device (Anaconda liveimg) instead of resolving packages, with
per-host networking still templated after the unpack. Reuses the OptiPlex storage
vars so image and package installs lay disks out identically. Templates-only per
review; the rootfs build lives in the bootapi-images repo.
- kickstart/image.ks.tmpl: liveimg --url={{ .DistroVars.rootfs_tarball }};
%post renders per-host NetworkManager keyfiles from NetBox interface data
(the image is generic and liveimg overwrites /etc), hostname, puppet-initial
PUPPETCA_URL env, and the provisioned callback.
- kickstart/_storage.ks.tmpl: shared storage-block/storage-pre partials
(storage_mode / vg_grow); almalinux9.ks.tmpl now uses them (no behaviour
change).
- catalog/almalinux9-image.yaml (VM autopart) + optiplex-7080-image.yaml
(auto-nvme + vg_grow), rootfs_tarball -> artifactapi rootfs-images repo.
Rootfs tarball built+published by https://git.unkin.net/unkin/bootapi-images
(v* tag). Validated with bootapi validate + shellcheck; no bootapi code change.
Claude-Session: https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv
23 lines
1.1 KiB
YAML
23 lines
1.1 KiB
YAML
# Distro catalog entry: AlmaLinux 9, IMAGE install (liveimg).
|
|
#
|
|
# Boots the same AlmaLinux installer kernel/initrd as almalinux9, but the
|
|
# kickstart (image.ks.tmpl) uses liveimg to unpack the prebuilt node rootfs
|
|
# tarball instead of resolving packages -- much faster, reproducible. Generic
|
|
# storage (autopart on sda). Select via a device's provision_template custom
|
|
# field = "almalinux9-image".
|
|
name: almalinux9-image
|
|
match:
|
|
platforms: [almalinux9-image]
|
|
kickstart: image
|
|
version_default: "9"
|
|
kernel_url: "{{.ArtifactBase}}/almalinux/{{.Version}}/BaseOS/{{.Arch}}/os/images/pxeboot/vmlinuz"
|
|
initrd_url: "{{.ArtifactBase}}/almalinux/{{.Version}}/BaseOS/{{.Arch}}/os/images/pxeboot/initrd.img"
|
|
kernel_args:
|
|
- inst.text
|
|
- net.ifnames=0
|
|
vars:
|
|
# Prebuilt node rootfs on the artifactapi rootfs-images local repo, built and
|
|
# published by the bootapi-images repo (v* tag). Immutable, semver-versioned;
|
|
# bump this one line to roll the fleet forward (overwrites are 409-rejected).
|
|
rootfs_tarball: "https://artifactapi.k8s.syd1.au.unkin.net/api/v2/remotes/rootfs-images/files/almalinux9-node-1.0.0.tar.zst"
|