23 décembre 2018 | Posted in:puppet
Avant de se lancer dans la configuration de nos environnements, il est bon de voir ensemble comment bien rédiger vos fichiers de configuration.
Dans ce tutoriel, je vais vous montrer quelques principes de bases, vous trouverez bien plus d’informations, en anglais, dans la documentation disponible ici
Bonne pratiques pour encoder les modules
Commentaire
On ne le répète jamais assez !! Les commentaires sont vitales. Même s’ils sont chronophages à la création, ils vous feront gagner un temps appréciable quand vous devrez faire une modification. De plus ils pérenniseront votre code.
Pour commenter on utilise # , ne pas utiliser /* */
1 | # ceci est un commentaire |
Espacement, indentation et espaces
Voici les bonnes pratiques en matière d’espacement, indentation et espace dans vos fichiers Manifest.
- Utilisez un double espace à la place de la tabulation
- Ne pas utilisez la tabulation
- Pas d’espace en fin de ligne
- En fin de ligne, mettre une virgules après tous les attributs de ressource et définitions de paramètres.
- Mettre un espace entre le type de ressource et l’accolade ouvrante et le titre, mais aucun espace entre le titre et les deux points.
- On utilise le double espace pour décaler son code entre chaque sous-élément.
Exemple :
1 | service { 'test': |
Quote
Toutes les chaines doivent être entre simples quotes, à quelques exceptions :
- double quote pour une chaine qui contient des variables
- double quote pour une chaine contenant des simples quotes
- double quote si présence de caractères d’échappement.
- Les quotes sont optionnelles pour les options (present, absent,)
Important, si une variable doit être interprétée placé la entre accolade {}
exemple :
1 2 3 4 5 | "/etc/${file}.conf" "${facts['operatingsystem']} is not supported by ${module_name}" # Variable contenant simple quote, cloisonner par double quote warning("Class['apache'] parameter purge_vdir is deprecated in favor of purge_configs") |
Caractère d’échappement
Comme souvent le caractère d’échappement est : \
Si votre \ se trouve dans une chaine entre simple ou double quote, il faut en mettre deux, pour ne pas être pris pour un échappement.
Tableaux et hashes
Afin d’améliorer la lisibilité des tableaux et hachages, il est conseillé de mettre chaque élément sur des lignes séparées.
Faire un retrait de deux espaces entre la définition du tableau et ses éléments.
Pour le hachage, pensez à bien aligner avec des espaces vos =>
Exemple :
1 2 3 4 5 6 7 8 9 10 11 | service { 'foo': require => [ File['foo_config'], File['foo_sysconfig'], ], } $myhash = { key => 'some value', other_key => 'some other value', } |
Variables
Puppet demande à ce que le nommage des variables soit explosées avec _
Exemple de ce qu il ne faut pas faire :
1 2 3 | $fooBar $someLongVariable $foo-bar123 |
Et voila comment il faut les définir :
1 2 3 | $foo_bar $some_long_variable $foo_bar123 |
Vous trouverez bien d’autres informations dans la documentation que je vous ai mis en début de tutoriel. A vous de jouer
Leave a Reply
*
Be the first to comment.