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
- Connectez-vous à la console de gestion RAC/M Identity avec un compte habilité à gérer les serveurs ICF.
- Ouvrez CONFIGURATION → Serveurs ICF.

- Cliquez sur + pour créer un nouveau serveur ICF.
- Sous Détails, saisissez un Nom pour ce serveur (par exemple, l’environnement desservi ou l’application desservie).
- 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.

- 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
- Après un enregistrement réussi, repérez la section Commande Docker pour l’agent sur la même page.
- Cliquez sur Copier la commande pour copier la commande complète.

- 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.
- 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.
- 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
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).
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 :bashgunzip -c icf-image.tar.gz | docker loadCollez 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.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.
Surveillez au besoin les journaux du conteneur pour confirmer la synchro, l’enregistrement et le tunnel.
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.
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.

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 :
| Variable | Description |
|---|---|
RACM_HOST | Nom d’hôte RAC/M, ou IPv6 entre crochets. Ne pas inclure le schéma ni le port. |
RACM_AGENT_ICF_SERVER_BEARER_TOKEN | Secret bearer pour l’accès aux fichiers agent et l’enregistrement ; à protéger. |
Facultatif :
| Variable | Défaut | Description |
|---|---|---|
RACM_SCHEME | https | Sché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 (1–65535). |
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 :
| Variable | Défaut | Description |
|---|---|---|
RACM_SERVER_WAIT_SECS | 120 | Durée maximale d’attente de disponibilité HTTP ; 0 désactive l’attente. |
RACM_SERVER_PROGRESS_SECS | 15 | Ligne de progression toutes les N secondes pendant l’attente ; 0 désactive. |
RACM_SERVER_READY_COUNT | 3 | Aprè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_SECS | 0 | Pause 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)
| Variable | Défaut | Description |
|---|---|---|
RACM_ICF_FILES_RCLONE_TRANSFERS | 4 | rclone --transfers pour la synchro des fichiers agent. |
RACM_ICF_FILES_RCLONE_CHECKERS | 4 | rclone --checkers. |
Synchronisation périodique et redémarrage de ConnId (facultatif)
| Variable | Défaut | Description |
|---|---|---|
RACM_ICF_SYNC_INTERVAL_SECS | 300 | Secondes entre deux tentatives de synchro incrémentielle. |
RACM_ICF_ICF_SIGTERM_WAIT_SECS | 60 | Aprè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 :
| Variable | Défaut | Description |
|---|---|---|
WSTUNNEL_SERVER_HOST | (non défini) | Hôte pour l’URL WebSocket de contrôle. Si absent, RACM_HOST est utilisé. |
WSTUNNEL_SERVER_PORT | 8000 | Port 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_SECS | 120 | Attente du port TCP du serveur de tunnel avant le démarrage du client ; 0 désactive. |
WSTUNNEL_WAIT_PROGRESS_SECS | 15 | Intervalle des lignes de progression pendant l’attente ; 0 désactive. |
WSTUNNEL_LOG_LEVEL | INFO | Niveau de journalisation wstunnel (wstunnel.log sous le répertoire des journaux de l’agent). |
Chemins d’installation (facultatif)
| Variable | Défaut (image) | Description |
|---|---|---|
ICF_AGENT_ROOT | /opt/icf-agent | Racine d’installation de l’agent. |
ICF_ROOT | /opt/icf-agent/icf-server | Ré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 : CONFIGURATION → Connecteurs ICF, ouvrez le connecteur et sélectionnez ce serveur sous Serveur ICF. Voir Connecteurs pour le flux général.
