module

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

Class methods

run(config_root : String, args : Array(String)) : Int32
Source