Add image-based provisioning (liveimg) #3
Reference in New Issue
Block a user
Delete Branch "benvin/image-provisioning"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
Adds a fast, reproducible install path that unpacks a prebuilt AlmaLinux 9 node rootfs onto the device (Anaconda liveimg) instead of resolving packages, while keeping networking templated per-host. Reuses the OptiPlex storage vars so image and package installs lay disks out identically. Templates-only (per review): the rootfs build lives in a separate repo.
Change
kickstart/image.ks.tmpl:liveimg --url={{ .DistroVars.rootfs_tarball }};%postrenders per-host NetworkManager keyfiles from NetBox interface data (the image is generic and liveimg overwrites /etc), plus hostname, puppet-initialPUPPETCA_URL, and the provisioned callback.kickstart/_storage.ks.tmpl(sharedstorage-block/storage-pre);almalinux9.ks.tmplnow uses it (no behaviour change).almalinux9-image(VM autopart) andoptiplex-7080-image(auto-nvme + vg_grow), pointing liveimg at the artifactapirootfs-imageslocal repo.No bootapi code change; validated with
bootapi validate+ shellcheck.Related
The rootfs tarball this catalog references is built and published by bootapi-images (moved out of here per review). Upload target
rootfs-imageswas created by terraform-artifactapi#18.https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv
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_015ur3i7D2azsMAWTSVABApvc66eaedbd8to105487c090