class

Beryl::Apply::Recipe

Inherits Reference < Object

Une recette YAML chargée et validée. Porte ses métadonnées (name, description), ses dépendances (requires), ses parameters (déclaration typée) / arguments (valeurs concrètes d'une copie locale), et ses steps.

Constants

POSITIONAL_ARG = "__positional__"

Clé d'argument RÉSERVÉE : reçoit la valeur POSITIONNELLE d'une entrée apply_recipes non-map (ex. - pkg-add: [a, b] ou - pkg-add: htop). L'Executor la re-mappe sur le paramètre déclaré positional:.

SUFFIX = ".recipe.yml"

Suffixe typé d'un fichier de recette.

Constructors

load(path : String) : Recipe

Charge et valide une recette depuis un fichier <nom>.recipe.yml. Le nom de la recette est dérivé du nom de fichier (sans le suffixe .recipe.yml). Le champ recipe: est facultatif ; s'il est présent, il doit correspondre au nom de fichier.

Source
new(name : String, description : String, requires : Array(String), parameters : Hash(String, YAML::Any), arguments : Hash(String, YAML::Any), steps : Array(Step), source_path : String, positional : String | Nil = nil, requires_vrack : Bool = false, requires_args : Hash(String, Hash(String, String)) = {} of String => Hash(String, String), order : Array(String) = [] of String, systems : Array(String) = [FREEBSD])
Source

Instance methods

arguments
Source
description
Source
name
Source
order

Ordre imposé entre certaines dépendances (order: [a, b] → b après a), en plus du tri topologique : requires: reste trié par ordre alphabétique et order: dit ce qui doit passer avant quoi (ex. le dépôt pkg avant la recette qui installe son paquet). Chaque nom figure dans requires:.

Source
parameters
Source
positional

Nom du paramètre qui reçoit la valeur positionnelle (forme concise - recipe: <valeur>). nil = pas de forme positionnelle.

Source
requires
Source
requires_args

Arguments imposés à une dépendance par la forme map de requires: :

requires:
  - acme
  - nginx-lite: { http_extra: "include monappli/*.conf;" }

nom de la dépendance → arguments. Les arguments de l'hôte (apply_recipes) restent prioritaires (cf. Executor.merge_required_args).

Source
requires_vrack

requires_vrack: true → recette ÉCARTÉE par beryl sync si le host n'a pas d'IP vRack (ex. pkg-repo-acme joint le builder sur le vRack).

Source
source_path
Source
steps
Source
systems

systems: [linux] (ou [freebsd, linux]) : systèmes pris en charge. FreeBSD seul par défaut ; beryl sync ÉCARTE une recette hors de la liste du système de l'hôte (ex. les recettes des défauts de la société sur une VM Linux confiée par un client).

Source

Nested types