Configuration des containers

Lancement d’une image

Les images OCI sont stockées sur le registre code.waarp.fr. Le Dockerfile utilisé pour générer les images est consultable dans le dépôt de l’application.

Le lancement peut se faire avec une des commandes suivantes :

# avec docker
docker run code.waarp.fr:5000/apps/gateway/gateway:latest

# avec podman
podman run code.waarp.fr:5000/apps/gateway/gateway:latest

Ports exposés

L’image gateway expose seulement le port 8080, c’est-à-dire celui de l’interface REST qui permet d’administrer l’instance de Waarp Gateway,

Les ports des serveurs protocolaires de Gateway étant définis par paramétrage, il n’est pas possible de les exposer dans l’image. N’oubliez pas de les exposer au lancement du container.

Volumes déclarés

L’image gateway déclare deux volumes :

  • /app/etc, qui contient la configuration de l’instance ;

  • /app/data, qui contient toutes les données (fichiers reçus, fichiers à envoyer, base de données sqlite, etc.

Note

Tous les fichiers utilisés par Gateway sont modifiables par variable d’environnement au lancement du container.

Variables d’environnement

Configuration de waarp-gatewayd

L’image gateway utilise plusieurs variables d’environnement pour configurer l’instance exécutée dans le container.

Ces variables vont être utilisées pour réécrire le fichier de configuration utilisé par waarp-gatewayd.

WAARP_GATEWAY_CONFIG

Permet de spécifier le chemin vers le fichier de configuration à utiliser. Cette option permet de réutiliser un fichier de configuration ou de fournir à waarp-gatewayd un fichier pré-paramétré.

Avertissement

Le fichier de configuration spécifié va être réécrit avec les les variables d’environnement ci-dessous si elles sont fournies

WAARP_GATEWAY_NODE_ID

Le nom unique de l’instance de waarp-gatewayd lors d’un fonctionnement en grappe. Correspond à l’argument waarp-gatewayd server --instance

WAARP_GATEWAY_NAME

Le nom de cette instance de waarp-gatewayd.

Correspond à l’option GatewayName du fichier de configuration.

WAARP_GATEWAY_HOME

Définit la racine de waarp-gatewayd.

Correspond à l’option GatewayHome du fichier de configuration.

WAARP_GATEWAY_IN_DIR

Définit le dossier par défaut dans lequel sont déposés les fichiers reçus par waarp-gatewayd.

Correspond à l’option DefaultInDirectory du fichier de configuration.

WAARP_GATEWAY_OUT_DIR

Définit le dossier par défaut dans lequel sont lus les fichiers envoyés par waarp-gatewayd.

Correspond à l’option DefaultOutDirectory du fichier de configuration.

WAARP_GATEWAY_TMP_DIR

Définit le dossier par défaut dans lequel sont déposés les fichiers en cours de réception par waarp-gatewayd.

Correspond à l’option DefaultTmpDirectory du fichier de configuration.

WAARP_GATEWAY_LOG_LEVEL

Définit le niveau de verbosité des logs. Les valeurs possibles sont : DEBUG, INFO, WARNING, ERROR et CRITICAL.

Correspond à l’option Level du fichier de configuration.

WAARP_GATEWAY_LOG_TO

Le chemin du fichier d’écriture des logs. Les valeurs spéciales stdout et syslog permettent de rediriger les logs respectivement vers la sortie standard et vers un démon syslog.

Correspond à l’option LogTo du fichier de configuration.

WAARP_GATEWAY_SYSLOG_FACILITY

Quand LogTo est défini à syslog, cette option permet de définir l’origine (facility) du message.

Correspond à l’option SyslogFacility du fichier de configuration.

WAARP_GATEWAY_ADMIN_ADDRESS

L’adresse de l’interface sur laquelle le serveur HTTP va écouter les requêtes faites à l’interface d’administration.

Correspond à l’option Host du fichier de configuration.

WAARP_GATEWAY_ADMIN_PORT

Le port sur lequel le serveur HTTP doit écouter. La valeur “0” est entrée, un port libre sera arbitrairement choisit.

Correspond à l’option Port du fichier de configuration.

WAARP_GATEWAY_ADMIN_TLS_KEY

Le chemin de la clé TLS pour le serveur HTTP. Si ce paramètre n’est pas défini, le serveur utilisera du HTTP en clair à la place de HTTPS.

Correspond à l’option SyslogFacility du fichier de configuration.

Note

La clé est requise pour une utilisation avec Waarp Manager. Si aucune clé n’est fournie avec cette variable d’environnement, une clef sera générée au lancement du container.

WAARP_GATEWAY_ADMIN_TLS_CERT

Le chemin du certificat TLS pour le serveur HTTP. Si ce paramètre n’est pas défini, le serveur utilisera du HTTP en clair à la place de HTTPS.

Correspond à l’option SyslogFacility du fichier de configuration.

Note

Le certificat est requis pour une utilisation avec Waarp Manager. Si aucun certificat n’est fourni avec cette variable d’environnement, un certificat auto-signé sera généré au lancement du container.

WAARP_GATEWAY_DB_TYPE

Le nom (en minuscules) du type de système de gestion de base de données utilisé. Les valeurs autorisées sont: postgresql, mysql, sqlite.

Correspond à l’option Type du fichier de configuration.

WAARP_GATEWAY_DB_ADDRESS

L’adresse complète (URL + Port) de la base de données. Le port par défaut dépend du type de base de données utilisé (5432 pour PostgreSQL, 3306 pour MySQL, aucun pour SQLite).

Correspond à l’option Address du fichier de configuration.

WAARP_GATEWAY_DB_NAME

Le nom de la base de donnée utilisée.

Correspond à l’option Name du fichier de configuration.

WAARP_GATEWAY_DB_USER

Le nom d’utilisateur du SGBD utilisé par la gateway pour faire des requêtes.

Correspond à l’option User du fichier de configuration.

WAARP_GATEWAY_DB_PASSWORD

Le mot de passe de l’utilisateur du SGBD.

Correspond à l’option Password du fichier de configuration.

WAARP_GATEWAY_DB_TLS_KEY

La clé du certificat TLS de la base de données.

Correspond à l’option TLSKey du fichier de configuration.

WAARP_GATEWAY_DB_TLS_CERT

Le certificat TLS de la base de données. Par défaut, les requêtes n’utilisent pas TLS.

Correspond à l’option TLSCert du fichier de configuration.

WAARP_GATEWAY_DB_AES_PASSPHRASE

Le chemin vers le fichier qui contient la clef AES utilisée pour chiffrer les mots de passes des comptes enregistrés dans la base de données.

Correspond à l’option AESPassphrase du fichier de configuration.

WAARP_GATEWAY_MAX_IN

Le nombre maximum autorisé de transferts entrants simultanés. Illimité par défaut.

Correspond à l’option MaxTransfersIn du fichier de configuration.

WAARP_GATEWAY_MAX_OUT

Le nombre maximum autorisé de transferts sortants simultanés. Illimité par défaut.

Correspond à l’option MaxTransfersOut du fichier de configuration.

Synchronisation depuis manager

WAARP_GATEWAY_MANAGER_URL

URL à utiliser pour ce connecter à Waarp Manager. Si cette variable d’environnement est renseignée, la configuration de Gateway (partenaires, règles de transfert, etc…) est téléchargée depuis Manager au lancement du container.

Si l’instance de Gateway n’est pas déclarée dans Manager, Elle sera automatiquement déclarée et un flux de configuration est créé.

L’URL doit contenir les identifiants d’un utilisateur ayant le droit de déployer la configuration, et de créer des partenaires et des flux si l’instance de Gateway n’est pas déclarée préalablement dans Manager

https://USER:PASSWORD@manager.tld:8080
WAARP_GATEWAY_MANAGER_SITE

Cette variable d’environnement est requise si l’instance de Gateway n’est pas déclarée préalablement dans Manager, et elle est ignorée sinon.

Défini le site dans lequel le partenaire doit être créé.

WAARP_GATEWAY_MANAGER_IP

Cette variable d’environnement est requise si l’instance de Gateway n’est pas déclarée préalablement dans Manager, et elle est ignorée sinon.

Défini l’adresse ou le domaine du partenaire créé dans Manager.

WAARP_GATEWAY_MANAGER_PASSWORD

Cette variable d’environnement est requise si l’instance de Gateway n’est pas déclarée préalablement dans Manager, et elle est ignorée sinon.

Défini le mot de passe du partenaire créé dans Manager. S’il n’est pas fourni avec cette variable d’environnement, un mot de passe aléatoire est généré.

WAARP_GATEWAY_MANAGER_R66_PORT

Cette variable d’environnement est ignorée si l’instance de Gateway est déjà déclarée dans Manager.

Défini le port de communication R66 pour la Gateway définie dans Manager. Par défaut: 6666.

WAARP_GATEWAY_MANAGER_R66TLS_PORT

Cette variable d’environnement est ignorée si l’instance de Gateway est déjà déclarée dans Manager.

Défini le port de communication R66 TLS pour la Gateway définie dans Manager. Par défaut: 6667.

WAARP_GATEWAY_MANAGER_REST_USERNAME

Cette variable d’environnement est ignorée si l’instance de Gateway est déjà déclarée dans Manager.

Défini le nom d’utilisateur que Manager doit utiliser pour se connecter en REST à Gateway lors de la création du partenaire. Par défaut : admin.

WAARP_GATEWAY_MANAGER_REST_PASSWORD

Cette variable d’environnement est ignorée si l’instance de Gateway est déjà déclarée dans Manager.

Défini le mot de passe que Manager doit utiliser pour se connecter en REST à Gateway lors de la création du partenaire. Par défaut : admin.

WAARP_GATEWAY_MANAGER_R66_TLS_CERT_PATH

Cette variable d’environnement est ignorée si l’instance de Gateway est déjà déclarée dans Manager.

Définit le chemin vers le certificat pour les communications R66 TLS de la Gateway défini dans Manager. Si aucun chemin n’est fourni avec cette variable d’environnement, un certificat sera généré lors du démarrage du container.

WAARP_GATEWAY_MANAGER_R66_TLS_KEY_PATH

Cette variable d’environnement est ignorée si l’instance de Gateway est déjà déclarée dans Manager.

Définit le chemin vers a clef privée pour les communications R66 TLS de la Gateway défini dans Manager. Si aucun chemin n’est fourni avec cette variable d’environnement, un certificat sera généré lors du démarrage du container.

Séquence de démarrage

Lors du lancement du container, plusieurs vérifications et opérations de configurations sont réalisées avant le lancement de Waarp Gateway.

Voici le processus suivi lors du démarrage :