Beryl::CLI::Apply
Sous-commande beryl apply <host> : applique sur le serveur FreeBSD
(déjà bootstrappé) les recettes déclarées dans le dossier
d'orchestration du host.
Architecture à 2 niveaux (cf. apply-recipes-architecture.adoc) :
- recettes YAML reliées par
requires:(résolution récursive, tri topologique, détection de cycle) ; - primitives Crystal natives idempotentes (
pkg-install, …).
Dossiers lus :
- orchestration du host :
<config>/<société>/<domaine>/<host>/(recettes explicitement demandées + overrides locaux) ; - dépôt central :
<recipes.local_path>/recipes/(défaut<config>/recipes/recipes/).
Priorité de résolution : dossier host > dépôt central. Idempotence :
chaque primitive lit l'état réel via SSH avant d'agir. --dry-run
(alias --check) calcule sans rien modifier.
Constants
EXIT_NO_FREEBSD = 10
EXIT_OK = 0
EXIT_RECIPE = 11
EXIT_SSH_FAILED = 4
EXIT_UNEXPECTED = 3
EXIT_USAGE = 1