Images de conteneurs

La gestion des images de conteneurs est une fonctionnalité essentielle pour les administrateurs d’instance. Elle permet d’importer, configurer et attribuer des images aux container providers (Swarm ou Kubernetes) afin de rendre disponibles des environnements de travail prêts à l’emploi pour les organisations.

Vue d’ensemble des images

La liste des images disponibles est accessible via le menu Images. Chaque image importée apparaît avec son état, son type et sa configuration.

../../_static/images/instance/images/instance_images_list.png

Liste des images de conteneurs.


Important

Lorsqu’une image est importée, elle est désactivée par défaut (Disabled) et doit être activée explicitement avant de pouvoir être utilisée. Elle est désactivée par défaut pour vous permettre de la modifier selon vos besoins avant de l’activer.

Import et export d’images

Les images peuvent être exportées et importées. Cette fonctionnalité permet de sauvegarder et réutiliser l’intégralité de la configuration d’une image sur une autre instance ou dans un autre contexte.

  • Export : génère un fichier JSON contenant toutes les informations de l’image, y compris ses variables.

  • Import : recharge une image à partir d’un JSON précédemment exporté.

../../_static/images/instance/images/instance_images_import.png

Fenêtre d’importation d’une image de conteneur.

Configuration d’une image

Le profil d’une image regroupe toutes ses informations : référence du registre, état, type, date de création et mise à jour.

../../_static/images/instance/images/instance_images_profile.png

Profil détaillé d’une image de conteneur.

Variables de configuration

Les variables permettent de personnaliser le comportement du conteneur. Elles ont deux rôles principaux :

  1. Variables d’environnement : injectées directement dans le conteneur au moment du lancement.

  2. Formulaire dynamique : elles définissent les champs du formulaire dans la configuration des container profiles côté organisations. Les administrateurs d’organisation peuvent alors configurer des options (champs texte, cases à cocher, listes déroulantes, etc.) définies en amont par l’administrateur d’instance.

Important

  • Seules les variables marquées comme éditables apparaissent dans le formulaire de configuration côté organisation.

  • Les autres variables sont invisibles pour les administrateurs d’organisation et transmises en interne au conteneur.

../../_static/images/instance/images/instance_images_template_variable.png

Configuration des variables et propriétés associées.


Tip

UI Priority : Chaque variable possède une priorité d’affichage. Plus la valeur est élevée, plus le champ apparaîtra en haut du formulaire des options. Cela permet d’organiser les options dans un ordre spécifique et logique.

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

Name

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

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

Assignation à un provider

Une image doit être associée à un container provider (Swarm ou Kubernetes) pour être utilisable. Le provider est responsable du déploiement des conteneurs basés sur cette image, en tenant compte également des contraintes de placement.

../../_static/images/instance/images/instance_images_providers.png

Liste des providers associés à une image.


Lors de l’assignation, vous définissez :

  • Provider : l’infrastructure cible (Swarm/Kubernetes).

  • État : Enabled ou Disabled.

  • Visibilité : Public (utilisable par toutes les organisations) ou Private.

../../_static/images/instance/images/instance_images_assign_provider.png

Fenêtre d’assignation d’une image à un provider.

Liens entre images

Il est possible de lier une image à d’autres images. Lorsqu’un conteneur est lancé à partir de cette image, les conteneurs associés seront automatiquement déployés en parallèle.

Cette fonctionnalité est particulièrement utile si le conteneur principal a besoin de dépendances (exemple : une base de données, un service auxiliaire).

../../_static/images/instance/images/instance_images_links.png

Gestion des liens entre images.

Association des Images de conteneurs privées

Une Image de conteneur peut être définie en mode Public ou Privé :

  • Public : disponible automatiquement pour toutes les organisations.

  • Privé : doit être associée explicitement aux organisations autorisées.

Cela permet de partager facilement des images communes (Public) ou de réserver des environnements spécifiques à certaines organisations (Privé).

Gestion des associations

Depuis la section Images d’une organisation, il est possible d’associer une Image de conteneur privée disponible sur un Fournisseur de Conteneur.

../../_static/images/instance/images/instance_orga_images_assigned_list.png

Liste des Images de conteneurs associées à une organisation

Note

Lorsqu’une image est privée, elle ne sera pas visible pour les organisations tant qu’elle n’a pas été assignée.

Ajout d’une Image de conteneur privée

Pour associer une Image de conteneur privée à une organisation :

  1. Cliquer sur Add private image.

  2. Sélectionner le Provider correspondant.

  3. Choisir l’Image à associer.

  4. Enregistrer l’association.

../../_static/images/instance/images/instance_orga_images_assign.png

Fenêtre d’association d’une Image de conteneur privée

Résumé des bonnes pratiques

  • Toujours activer manuellement une image après son import pour la rendre disponible.

  • Utiliser l’export/import pour partager ou sauvegarder la configuration complète d’une image.

  • Créer des variables éditables pour donner de la flexibilité aux administrateurs d’organisation, et réserver les variables statiques pour les paramètres techniques.

  • Exploiter le champ UI Priority afin d’ordonner intelligemment les options dans le formulaire.

  • Assigner chaque image à un provider afin de rendre son exécution possible.

  • Utiliser les liens d’images pour modéliser des environnements complexes multi-conteneurs.

  • Les Images de conteneurs publiques sont accessibles à toutes les organisations.

  • Les Images de conteneurs privées nécessitent une association explicite.