Sommaire

Template Go Template Go

1. Principe de fonctionnement

Le mécanisme de template du langage Go part d’une représentation textuelle (un fichier YAML, par exemple) dans laquelle certaines parties sont rendues dynamiques à l’aide des mécanismes suivants :

  • soit à l’aide de variables,

  • soit à l’aide de structures de contrôle pour afficher ou non une section (à l’aide d’instructions if/else) ou pour les répéter.

De ce point de vue, la syntaxe de base est assez proche de moteurs existants comme par exemple Jinja pour Python (utilisé notamment par Ansible) ou du moteur de template de Puppet.

Toutes les opérations réalisées par le moteur utilisent des moustaches avec une partie ouvrante ({{) et une partie fermante (}}). Moustache

2. Substitution du contenu d’une variable Variable

Pour afficher le contenu de la variable version déclarée dans le fichier values.yaml, l’appel se fera de la manière suivante :

version contient la valeur suivante : {{ .Values.version }}

Dans le cas où la variable contient la valeur 1.0, le moteur produira la sortie suivante :

La variable version contient la valeur suivante : 1.0

3. Blocs conditionnels Blocs conditionnels

Le langage supporte les blocs if/then/else. Il est possible d’afficher le contenu d’un bloc en fonction d’une condition.

Ci-dessous un exemple de bloc de conditions :

{{ if .Values.beauTemps }} 
Je sors sans mon parapluie.  ...