Commit Graph
5 Commits
Author SHA1 Message Date
Lukas GreveandClaude Sonnet 5 dceb82f8f6 Add build-image.sh: raw/qcow2 disk images without libvirt/virt-install
Runs `livemedia-creator --no-virt --make-disk` directly on the host to
produce a disk image any VM manager can consume (e.g. via virtpull's
`virtpull local ... --wonder-vm NAME`), instead of deploy.sh's live
virt-install/libvirt session.

An earlier version wrapped this in `mock`, mirroring
.gitea/workflows/build-iso.yaml's ISO build. That doesn't work for
--make-disk: mock's chroot has no live systemd-udevd, so udev never
populates properties for the loop device livemedia-creator creates,
and blivet's device scan crashes. --make-iso never hits this since it
never touches block devices. Reproduced identically on Fedora 44 and
43 mock chroots, confirmed fixed by running directly on the host
instead (root required, for /dev/loop-control access).

Also fixes two real kickstart incompatibilities with the --no-virt
disk-image path (applied to a scratch copy, not the shared
ingredients): the `text` display-mode directive (needed for
virt-install's netinstall console) conflicts with livemedia-creator's
own display handling, and `part / --grow` with no explicit --size
crashes livemedia-creator's upfront disk-size calculation (works fine
under virt-install, which pre-creates the disk at a known size
instead) — now configurable via --root-size.

New --extra-ks FILE flag layers one-off local content (e.g. a bespoke
user/rootpw override) onto the scratch copy without touching tracked
ingredients, following the README's existing "bespoke dish not part
of the matrix" pattern.

Factored deploy/deploy-distro.sh's dish-picker into deploy/select-dish.sh,
shared by both scripts.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 20:04:49 +02:00
Lukas Greve 8ad3589223 feat: add Fedora 44 support alongside Fedora 43
- add fedora-44-mirrors ingredient and register it in the repository choices
- expand the desktop variant matrix to [43, 44, rawhide] (48 dishes)
- bump CI workflows and deploy fallback URL to Fedora 44
- cover both release repositories in tests
2026-09-04 13:55:24 +02:00
Lukas Greve 73dd52e04e feat(deploy): generate dishes before deploy and fix dish selection
- deploy.sh now runs 'make all' in cook/ before deploying, since dishes
  are build products no longer tracked in git; failures show the make
  output and abort
- deploy-distro.sh selects dishes by the *guest-agents* marker (the new
  naming replaced the virtual* prefix) and uses --os-variant
  fedora-unknown instead of the stale fedora41 pin
2026-08-30 12:09:47 +02:00
Lukas Greve 2fd464dd5c Fix path to match repo reorg 2026-03-30 17:28:45 +02:00
Lukas Greve 3782777058 refactor: functional separation with deploy/, recipe-generator/, and bin/
- deploy/: deployment bash scripts (4 files)
- recipe-generator/: recipe generation tool (Python + YAML configs)
- bin/: executable wrappers (single generate-recipe entry point)
- Updated deploy.sh, README.md, DEVELOPMENT.md, DEVELOPMENT_QUICK.md
- Updated tests/test_recipe_generator.py and tests/integration/test_integration.py
- Updated CI workflow and Makefile paths
- All 41 tests pass
2026-03-25 09:34:00 +01:00