Beryl::Apply::Resolver
Résout l'ensemble des recettes à exécuter pour un host et leur ordre.
Entrées :
host_dir: dossier d'orchestration du host (~/.config/beryl/<société>/<domaine>/<host>/). Les*.ymlqu'il contient sont les recettes explicitement demandées.central_dir: dossierrecipes/du dépôt central (~/.config/beryl/recipes/recipes/).
Étapes :
- Scan de
host_dir→ recettes demandées. - Fermeture transitive des
requires:— pour chaque recette R, on chercheR.ymld'abord danshost_dir(override), sinon danscentral_dir. Introuvable →RecipeNotFound. - Tri topologique (Kahn) : les dépendances sortent avant leurs dépendants. Tri alphabétique à indegree égal pour un ordre déterministe.
- Cycle →
Cycle(liste des recettes impliquées).
Constructors
Instance methods
resolve
Retourne les recettes dans l'ordre d'exécution (dépendances d'abord). Liste vide si le dossier host n'existe pas ou ne contient aucune recette.
scan_host_dir
Noms des recettes explicitement demandées (fichiers *.yml du
dossier host), triés.