Templates

Description

Les templates servent à configurer les variables d’environnement, les hosts et les secrets qui seront envoyés à un conteneur lors de son déploiement pour un utilisateur. Ils sont accessibles dans la fiche d’une image dans la partie console d’administration d’instance

../../_images/template.png

Tout ajout de variable apparaitra dans le profile d’un conteneur dans la console d’administration d’une organisation

../../_images/template_profile.png

Cliquer sur NEW VARIABLE pour obtenir la fenetre de configuration:

../../_images/template_edit.png

Options

Type

Le type du template, plusieurs types ont différentes utilitées, certains sont destinés à être configurable via les profiles, d’autres sont statiques.

  • STRING: Du texte

  • BOOLEAN: true/false (checkbox)

  • SELECT: Menu déroulant

  • SELECT_OPTION: Option du menu déroulant

  • SECRET: secret docker swarm

  • HOST: ajoute un enregistrement dans le fichier /etc/hosts du conteneur

  • MOUNT: monter un volume à l’interieur du conteneur

  • DNS: assigner un serveur DNS différent que celui sur les serveurs de Provisionning

Warning

En insérant une variable de type DNS dans un template attention il faut que le nouveau DNS resolve correctement les url des services SIGNAL et STUN, plus ceux additionnels comme le serveur Download. Dans le cas contraire

  • Ajouter un second serveur DNS qui pourra résoudre les urls de la plateforme Reemo

ou

  • Ajouter des enregistrements HOST qui seront insérés dans le fichier /etc/hosts du conteneur

Warning

En ajoutant des variables de type HOST concernant les services Reemo comme par exemple STUN et SIGNAL, l’insertion s’effectue dans le fichier /etc/hosts de chaque conteneur sans système de RoundRobin DNS. Cela peut apporter un souci de stabilité dans le fonctionnement et le load-balancing de la solution

Recommandation : il est judicieux d’ajouter un service dnsmasq dans les conteneurs pour apporter du RoundRobin DNS avec le fichier /etc/hosts

Warning

Il est recommandé d’utiliser la variable de type MOUNT avec précaution et d’éviter de la rendre éditable

Name

Le nom de la variable qui sera affiché dans un profile

../../_images/template_profile_name.png

Variable

Le nom de la variable d’environnement qui sera envoyé au conteneur ( option -e dans la ligne de commande docker )

Editable

Rendre editable cette variable par les comptes d’administration d’organisation

UI Priority

Permet d’organiser les champs d’un profile, plus l’UI priority est haute, plus le champ apparait en haut du profile. Permet aussi d’organiser les SELECT_OPTION, la plus haute valeur apparait le plus haut dans la liste

Hint

Phrase d’explication sous le champ du template dans un profile

Place Holder

Valeur en grisée dans un champ texte pour donner un exemple sans remplir ce champ dans un profile

Default Value

La valeur par défaut quand on créé un profile

Condition Variable + Condition Operator + Condition Value

Permet d’appliquer une condition sur l’utilisation d’un template en se basant sur la valeur d’un autre template et un opérateur. Par exemple, si je veux que le champ TEMPLATE_1 n’apparaisse que si TEMPLATE_2 == true je peux régler la condition comme ceci dans TEMPLATE_1:

Condition Variable: TEMPLATE_2 Condition Operator: EQUAL Condition Value: true

Quelques exemples:

  • Name: Home Page

  • Type: STRING

  • Variable: REEMO_HOME

  • Editable: true

  • UI Priority: 1000

  • Default Value: https://reemo.io

Ce champ apparait donc tout en haut d’un profile, s’appelle Home Page, a pour défaut https://reemo.io et va remplir la variable d’environnement REEMO_HOME pour le conteneur

  • Name: REEMO_NO_PROXY

  • Type: STRING

  • Variable: REEMO_NO_PROXY

  • Editable: false

  • Default value: true

  • Condition: REEMO_PROXY EQUAL NONE

Ce champ n’apparait pas dans un profile car non editable, il va remplir la variable d’environnement REEMO_NO_PROXY=true à condition que REEMO_PROXY == NONE

  • Name: REEMO_NO_PROXY (encore)

  • Type: STRING

  • Variable: REEMO_NO_PROXY

  • Editable: false

  • Default value: true

  • Condition: REEMO_PROXY EQUAL EXTERNAL

Ce champ n’apparait pas dans un profile car non editable, il va remplir la variable d’environnement REEMO_NO_PROXY=true à condition que REEMO_PROXY == EXTERNAL

  • Name: Embedded Proxy

  • Type: SELECT_OPTION

  • Variable: REEMO_PROXY

  • Value: EMBEDDED

  • UI Priority: 9

Ceci est une option de la liste déroulante de REEMO_PROXY, il apparait en deuxième dans la liste car sa priorité est entre 8 et 10 des 2 autres options, si cette valeur est choisi dans le menu déroulant alors il remplira REEMO_PROXY=EMBEDDED

Import/Export

les templates peuvent être importés ou exportés avec le système d’import/export des images

../../_images/template_profile_import.png

../../_images/template_profile_export.png

Modifier Templates

Si vous souhaitez modifier un template déjà utilisé