refactor: Modularize recipe generator

- Split generate_recipe.py into cli.py, recipe_generator.py, validators.py, manifest.py
- Removed override logic - modifiers now add fragments rather than replace
- Added filename deduplication to prevent overwriting recipes
- Updated CI workflows and tests to use new module structure
- Made pykickstart a hard dependency
- Removed ingredients/ directory support (only fragments/*.ks now used)
- New layout: 5 modules (~990 lines) vs single 769-line file
This commit is contained in:
Lukas Greve
2026-03-26 15:31:18 +01:00
parent 8f824cb977
commit 898c831065
35 changed files with 1004 additions and 1251 deletions
-21
View File
@@ -1,21 +0,0 @@
# __ ____ ____ _____
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
# /_/ /____/
# An install recipe for desktop, server, or hypervisor
%include fragments/core/base.ks
%include fragments/core/locale.ks
%include fragments/core/services.ks
%include fragments/core/network.ks
%include fragments/packages/core-group.ks
%include fragments/packages/fedora-remix.ks
%include fragments/packages/hand-picked.ks
%include fragments/storage/standard.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/repo/fedora-43-mirrors.ks