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.
87 lines
2.4 KiB
YAML
87 lines
2.4 KiB
YAML
# Recipe Manifest for Phyllome OS
|
|
# Define all recipe variants using generators from recipe_templates.yaml
|
|
# Edit this file to add new variants, then run: make generate-recipes
|
|
#
|
|
# Supported syntax:
|
|
# - Single values: version: "43"
|
|
# - List values: version: ["43", "rawhide"] (expands to multiple variants)
|
|
# - List modifiers: hypervisor_type: ["amdcpu", "intelcpu"] (expands to separate variants)
|
|
#
|
|
# NOTE: List values create a cartesian product.
|
|
# Example: version: ["43", "rawhide"] + storage: ["standard", "encrypted"]
|
|
# creates 4 variants: (43,standard), (43,encrypted), (rawhide,standard), (rawhide,encrypted)
|
|
#
|
|
# NOTE: The 'name' field is for organization only and doesn't affect generated filenames.
|
|
# The recipe type is always 'install' or 'live' from recipe_templates.yaml
|
|
|
|
recipes:
|
|
# Install desktop variants
|
|
- name: desktop
|
|
recipe_type: install
|
|
variants:
|
|
- version: ["43", "rawhide"]
|
|
desktop: gnome
|
|
storage: ["standard", "encrypted"]
|
|
bootloader: grub
|
|
hardware-support: [true, false]
|
|
guest-agents: [true, false]
|
|
initial-setup: server
|
|
security: secure
|
|
|
|
# Install server variants
|
|
- name: server
|
|
recipe_type: install
|
|
variants:
|
|
- version: ["43", "rawhide"]
|
|
storage: standard
|
|
bootloader: grub
|
|
hardware-support: false
|
|
guest-agents: true
|
|
initial-setup: server
|
|
security: secure
|
|
|
|
# Install hypervisor variants
|
|
- name: hypervisor
|
|
recipe_type: install
|
|
variants:
|
|
- version: 43
|
|
storage: standard
|
|
bootloader: grub
|
|
hardware-support: true
|
|
guest-agents: false
|
|
hypervisor: base
|
|
hypervisor_type: ["amdcpu", "intelcpu"]
|
|
initial-setup: server
|
|
security: secure
|
|
|
|
# Install desktop-hypervisor variants
|
|
- name: desktop-hypervisor
|
|
recipe_type: install
|
|
variants:
|
|
- version: 43
|
|
desktop: gnome
|
|
storage: standard
|
|
bootloader: grub
|
|
hardware-support: false
|
|
guest-agents: true
|
|
hypervisor: desktop
|
|
hypervisor_type: ["amdcpu", "intelcpu"]
|
|
initial-setup: server
|
|
security: secure
|
|
|
|
# Live desktop variants
|
|
- name: desktop
|
|
recipe_type: live
|
|
variants:
|
|
- version: 43
|
|
hardware-support: true
|
|
guest-agents: false
|
|
|
|
# Live server variants
|
|
- name: server
|
|
recipe_type: live
|
|
variants:
|
|
- version: 43
|
|
hardware-support: true
|
|
guest-agents: false
|