Smart variables
| Fiche express | |
|---|---|
| Type | Fonctionnalité Foreman / ENC Puppet |
| Rôle | Surcharger la valeur d'une variable de classe Puppet depuis l'interface Foreman |
| Voir aussi | Foreman · Smart proxies · Puppet · Puppet fonctions |
Les smart variables permettent, depuis l'interface Foreman, de surcharger la valeur d'une variable définie dans une classe Puppet, sans modifier le code Puppet lui-même. Foreman agissant comme ENC (External Node Classifier), il peut injecter ces valeurs au moment de la compilation du catalogue, avec une granularité fine (par hôte, par groupe d'hôtes, par domaine, par organisation, par emplacement...).
Principe
Pour chaque classe Puppet importée dans Foreman, il est possible de définir une smart variable associée à un paramètre de cette classe. Foreman calcule la valeur à appliquer selon un ordre de priorité configurable (host > hostgroup > domain > ... > valeur par défaut) et l'expose au nœud via l'ENC.
Le type de la variable doit être précisé lors de la définition de la smart variable dans l'interface, afin que Puppet interprète correctement la valeur reçue.
Formats courants
Héritage via une clé de recherche ENC
Utile pour faire varier une valeur selon un attribut de l'hôte (par exemple son emplacement ou son organisation) :
"${::foreman_lookup_key}"
(syntaxe illustrative — à adapter selon la version de Foreman et le mécanisme de lookup utilisé ; à vérifier)
Tableau statique
Pour une variable de type tableau, définie en dur dans la smart variable :
["172.16.0.10", "172.16.0.20"]
Voir aussi
- Foreman — plateforme exposant l'interface de gestion des smart variables
- Smart proxies — agents distants Foreman
- Puppet — gestionnaire de configuration dont les classes sont surchargées
- Puppet fonctions — fonctions Puppet complémentaires