Simplified template logic: reduced from 6 categories (required, modifiers, optional, versioned, conditional, flags) to 3 categories (required, modifiers, optional). Removed variant_type and replaced with modifier-based approach (version, bootloader replaced, hardware_support). All validation methods kept for recipe generation and validation. Removed tests directory (tests/test_recipe_generator.py, tests/integration/, tests/container/). Removed non-ISO workflows (validate-recipes, test-generation, container-tests, validate-ingredients). Updated Makefile, requirements.txt, and documentation. All 20 recipes successfully generated, validated, and flattened.
97 lines
4.0 KiB
YAML
97 lines
4.0 KiB
YAML
# Recipe Templates for Phyllome OS Kickstart Generator
|
|
# Each template defines the structure for a recipe type
|
|
# Fragment paths use relative paths from project root
|
|
|
|
templates:
|
|
# Install recipe - for desktop, server, or hypervisor
|
|
install:
|
|
description: "An install recipe for desktop, server, or hypervisor"
|
|
base: core
|
|
required:
|
|
- core: ingredients/core/base.ks
|
|
- { path: ingredients/repo/fedora-43-mirrors.ks, replaceable: true }
|
|
- { path: ingredients/storage/standard.ks, replaceable: true }
|
|
- { path: ingredients/bootloader/grub.ks, replaceable: true }
|
|
- ingredients/core/locale.ks
|
|
- ingredients/core/services.ks
|
|
- ingredients/core/network.ks
|
|
- ingredients/packages/core-group.ks
|
|
- ingredients/packages/fedora-remix.ks
|
|
- ingredients/packages/hand-picked.ks
|
|
- { path: ingredients/core/security/enabled.ks, replaceable: true }
|
|
- { path: ingredients/initial-setup/server/config.ks, replaceable: true }
|
|
modifiers:
|
|
version:
|
|
"43": ingredients/repo/fedora-43-mirrors.ks
|
|
"rawhide": ingredients/repo/rawhide-mirrors.ks
|
|
storage:
|
|
standard: ingredients/storage/standard.ks
|
|
encrypted: ingredients/storage/encrypted.ks
|
|
desktop:
|
|
gnome:
|
|
- ingredients/desktop/gnome/config.ks
|
|
- ingredients/desktop/gnome/packages.ks
|
|
- ingredients/desktop/gnome/post-scripts.ks
|
|
labwc:
|
|
- ingredients/desktop/labwc/config.ks
|
|
security:
|
|
secure: ingredients/core/security/enabled.ks
|
|
"off": ingredients/core/security/disabled.ks
|
|
initial-setup:
|
|
server: ingredients/initial-setup/server/config.ks
|
|
desktop: ingredients/initial-setup/desktop/config.ks
|
|
gnome: ingredients/initial-setup/gnome/config.ks
|
|
generic-wayland: ingredients/initial-setup/generic-wayland/config.ks
|
|
hypervisor_type:
|
|
amdcpu: ingredients/hypervisor/amdcpu.ks
|
|
intelcpu: ingredients/hypervisor/intelcpu.ks
|
|
intelgpu: ingredients/hypervisor/intelgpu.ks
|
|
hypervisor:
|
|
base:
|
|
- ingredients/hypervisor/base/packages.ks
|
|
- ingredients/hypervisor/base/services.ks
|
|
- ingredients/hypervisor/base/post-scripts.ks
|
|
desktop:
|
|
- ingredients/packages/virtual-machine-manager/packages.ks
|
|
- ingredients/packages/virtual-machine-manager/post-scripts.ks
|
|
bootloader:
|
|
grub: ingredients/bootloader/grub.ks
|
|
systemd-boot: ingredients/bootloader/systemd-boot.ks
|
|
optional:
|
|
hardware-support: ingredients/packages/hardware-support.ks
|
|
guest-agents: ingredients/guest-agents/base.ks
|
|
|
|
# Live recipe - for live-desktop or live-server
|
|
live:
|
|
description: "A live recipe for live-desktop or live-server"
|
|
base: live-core
|
|
required:
|
|
- live-core: ingredients/live/core/base.ks
|
|
- { path: ingredients/repo/fedora-43-mirrors.ks, replaceable: true }
|
|
- { path: ingredients/live/core/storage.ks, replaceable: true }
|
|
- { path: ingredients/live/core/bootloader/grub.ks, replaceable: true }
|
|
- ingredients/core/locale.ks
|
|
- ingredients/core/services.ks
|
|
- ingredients/core/network.ks
|
|
- ingredients/live/core/packages.ks
|
|
- ingredients/live/post/base.ks
|
|
- ingredients/live/post/session.ks
|
|
- ingredients/repo/rpmfusion-nonfree.ks
|
|
modifiers:
|
|
version:
|
|
"43": ingredients/repo/fedora-43-mirrors.ks
|
|
"rawhide": ingredients/repo/rawhide-mirrors.ks
|
|
storage:
|
|
standard: ingredients/live/core/storage.ks
|
|
encrypted: ingredients/live/core/storage.ks
|
|
bootloader:
|
|
grub: ingredients/live/core/bootloader/grub.ks
|
|
systemd-boot: ingredients/live/core/bootloader/systemd-boot.ks
|
|
optional:
|
|
hardware-support: ingredients/packages/hardware-support.ks
|
|
guest-agents: ingredients/guest-agents/base.ks
|
|
hypervisor: ingredients/live/hypervisor.ks
|
|
security:
|
|
secure: ingredients/core/security/enabled.ks
|
|
"off": ingredients/core/security/disabled.ks
|