Skip to content

Agent Docker (SaaS)

Ce guide décrit comment les clients RAC/M Identity en tant que service (SaaS) déploient le serveur de connecteurs ICF (ConnId) sur leur propre infrastructure à l’aide de l’image Docker racm-icf-server-agent. L’agent synchronise les artefacts de connecteurs depuis RAC/M, s’enregistre auprès de RAC/M et ouvre un tunnel sécurisé pour que RAC/M puisse joindre le serveur de connecteurs qui s’exécute chez vous.

SaaS uniquement

La fonctionnalité agent serveur ICF s’applique uniquement à RAC/M Identity en tant que service (SaaS). Elle n’est pas prise en charge pour les déploiements RAC/M Identity sur site ou en cloud privé.

Créer le serveur agent dans RAC/M

  1. Connectez-vous à la console de gestion RAC/M Identity avec un compte habilité à gérer les serveurs ICF.
  2. Ouvrez CONFIGURATIONServeurs ICF.

Illustration — Liste des serveurs ICF

  1. Cliquez sur + pour créer un nouveau serveur ICF.
  2. Sous Détails, saisissez un Nom pour ce serveur (par exemple, l’environnement desservi ou l’application desservie).
  3. Sous Connexion, définissez le Type de connexion sur Agent.
    L’hôte, le port, la clé et la communication sécurisée pour les connexions agent sont gérés par RAC/M et ne se modifient pas dans cet écran.

Fiche serveur ICF avant enregistrement — Détails et type de connexion Agent

  1. Cliquez sur Enregistrer.

La section Commande Docker pour l’agent n’affiche aucune commande tant que vous n’avez pas enregistré.

Récupérer la commande Docker et le secret bearer

  1. Après un enregistrement réussi, repérez la section Commande Docker pour l’agent sur la même page.
  2. Cliquez sur Copier la commande pour copier la commande complète.

Section commande Docker pour l’agent

  1. Considérez la commande comme hautement confidentielle : elle contient le jeton bearer avec lequel RAC/M authentifie votre agent. Conservez-la dans un coffre-fort de secrets ou une procédure sécurisée, pas dans un courriel ou une messagerie instantanée.
  2. Tenez compte de l’avertissement de la console : le secret bearer complet peut ne plus rester visible après avoir quitté ou actualisé la page. Copiez et sécurisez la commande avant de naviguer ailleurs.
  3. En cas de fuite du secret, utilisez Révoquer et régénérer le jeton sur la fiche du serveur. Après régénération, redémarrez vos conteneurs agent avec la nouvelle commande ; l’ancien secret cesse immédiatement de fonctionner.

Démarrer l’agent dans votre environnement

  1. Sur l’hôte Linux ou le cluster où ConnId doit s’exécuter, installez Docker (ou un environnement d’exécution de conteneurs compatible).

  2. Chargez l’image de l’agent à partir de l’archive fournie par OKIOK. OKIOK fournit une archive gzip de l’image Docker (par exemple, icf-image.tar.gz). Chargez-la dans Docker :

    bash
    gunzip -c icf-image.tar.gz | docker load
  3. Collez et exécutez la commande copiée depuis Commande Docker pour l’agent, ou transposez-la en Docker Compose, Kubernetes ou votre modèle de déploiement habituel en conservant toutes les variables -e.

  4. Laissez le conteneur joindre RAC/M en HTTPS. Au démarrage, l’image attend que l’URL HTTP des fichiers agent réponde (sauf si vous désactivez cette attente), exécute la synchro rclone, puis l’enregistrement et le tunnel.

  5. Surveillez au besoin les journaux du conteneur pour confirmer la synchro, l’enregistrement et le tunnel.

  6. Dans la console, vérifiez Dernière fois que l’agent a joint RAC/M sur la fiche du serveur ICF ; elle doit se mettre à jour après une connexion réussie de l’agent.

  7. Utilisez Test sur le serveur ICF (si disponible pour votre version) pour valider la connectivité depuis RAC/M vers le serveur de connecteurs via le tunnel.

Dernière connexion de l’agent et bouton Test

Variables d’environnement de l’image agent

La commande Docker pour l’agent fournie par RAC/M contient les paramètres requis. Les tableaux ci-dessous listent toutes les variables d’environnement reconnues par l’image racm-icf-server-agent si vous devez en ajouter ou en modifier (par exemple, sous Docker Compose ou Kubernetes).

Connexion RAC/M

Le conteneur ne démarre pas sans ces variables :

VariableDescription
RACM_HOSTNom d’hôte RAC/M, ou IPv6 entre crochets. Ne pas inclure le schéma ni le port.
RACM_AGENT_ICF_SERVER_BEARER_TOKENSecret bearer pour l’accès aux fichiers agent et l’enregistrement ; à protéger.

Facultatif :

VariableDéfautDescription
RACM_SCHEMEhttpsSchéma HTTP de RAC/M (http ou https). Sert aussi pour les URL de RAC/M et, lorsque WSTUNNEL_SERVER_HOST est absent, à choisir ws ou wss pour le client de tunnel.
RACM_PORT(défaut du schéma)Port HTTP(S) de RAC/M. S’il est absent ou vide : 443 lorsque RACM_SCHEME vaut https (valeur par défaut) et 80 lorsque http. S’il est défini, chiffres décimaux uniquement (165535).

Disponibilité HTTP avant la synchro des fichiers agent (facultatif)

Avant l’exécution de rclone, l’image interroge l’URL HTTP des fichiers agent de RAC/M (attente bornée). Ajustez ce comportement avec :

VariableDéfautDescription
RACM_SERVER_WAIT_SECS120Durée maximale d’attente de disponibilité HTTP ; 0 désactive l’attente.
RACM_SERVER_PROGRESS_SECS15Ligne de progression toutes les N secondes pendant l’attente ; 0 désactive.
RACM_SERVER_READY_COUNT3Après la première réussite du test, nombre de passes successives (1 s d’intervalle) avant la synchro ; 1 pour le comportement « première réussite ».
RACM_SERVER_SETTLE_SECS0Pause supplémentaire (secondes) après la disponibilité et avant la synchro.
RACM_SERVER_PROBE_DEBUG(non défini)Si 1, true ou yes (insensible à la casse), les échecs de test utilisent curl -S pour afficher le détail des erreurs curl sur stderr.

Paramètres rclone pour la synchro des fichiers agent (facultatif)

VariableDéfautDescription
RACM_ICF_FILES_RCLONE_TRANSFERS4rclone --transfers pour la synchro des fichiers agent.
RACM_ICF_FILES_RCLONE_CHECKERS4rclone --checkers.

Synchronisation périodique et redémarrage de ConnId (facultatif)

VariableDéfautDescription
RACM_ICF_SYNC_INTERVAL_SECS300Secondes entre deux tentatives de synchro incrémentielle.
RACM_ICF_ICF_SIGTERM_WAIT_SECS60Après SIGTERM vers ConnId, secondes d’attente avant SIGKILL.

Client wstunnel (facultatif)

La règle de tunnel inverse (-R) n’est pas une variable d’environnement ; elle provient de l’enregistrement RAC/M. Ces variables configurent la connexion du client wstunnel au serveur de tunnel :

VariableDéfautDescription
WSTUNNEL_SERVER_HOST(non défini)Hôte pour l’URL WebSocket de contrôle. Si absent, RACM_HOST est utilisé.
WSTUNNEL_SERVER_PORT8000Port TCP de la connexion WebSocket de contrôle.
WSTUNNEL_CLIENT_WS_SCHEME(non défini)Si défini, doit être ws ou wss. Sinon le comportement dépend de WSTUNNEL_SERVER_HOST et RACM_SCHEME.
WSTUNNEL_EXTRA_ARGS(non défini)Arguments supplémentaires ajoutés à la commande wstunnel client.
WSTUNNEL_SERVER_CONNECT_WAIT_SECS120Attente du port TCP du serveur de tunnel avant le démarrage du client ; 0 désactive.
WSTUNNEL_WAIT_PROGRESS_SECS15Intervalle des lignes de progression pendant l’attente ; 0 désactive.
WSTUNNEL_LOG_LEVELINFONiveau de journalisation wstunnel (wstunnel.log sous le répertoire des journaux de l’agent).

Chemins d’installation (facultatif)

VariableDéfaut (image)Description
ICF_AGENT_ROOT/opt/icf-agentRacine d’installation de l’agent.
ICF_ROOT/opt/icf-agent/icf-serverRépertoire du bundle ConnId.

Utiliser des connecteurs avec ce serveur

Configurez vos connecteurs ICF pour utiliser cette instance de serveur ICF comme tout autre serveur : CONFIGURATIONConnecteurs ICF, ouvrez le connecteur et sélectionnez ce serveur sous Serveur ICF. Voir Connecteurs pour le flux général.