Migrer un agent Medulla vers une nouvelle infrastructure
**S'applique à :** Medulla – Agent **Version :** Toutes versions **Environnement :** On-Premise **Catégorie :** Agent Medulla - Bascule infrastructure.
Lorsqu'un agent Medulla doit être basculé d'une infrastructure vers une autre
(par exemple lors d'une migration d'infra ou d'un changement de serveur), deux éléments doivent être mis à jour sur le poste : le **contexte TLS** (CA publiques de la nouvelle infra) et la **configuration XMPP** (`agentconf.ini`).
Le script `medulla_migrate.py` automatise ces deux opérations ainsi que les
vérifications associées.
\##### Lancement du script de migration :
Le script s'exécute en root (ou via `sudo`) et nécessite le fichier
`agentconf.ini` de l'infrastructure cible, fourni par l'installateur/infra —
il n'est jamais généré par le script.
Exemple à blanc (aucune modification réelle) :
sudo python3 medulla_migrate.py \
--old-fqdn agent-old.example.com \
--new-fqdn int.medulla-tech.io \
--xmpp-config /root/agentconf-int.ini \
--dry-run
Exemple d'exécution réelle :
sudo python3 medulla_migrate.py \
--old-fqdn agent-old.example.com \
--new-fqdn int.medulla-tech.io \
--xmpp-config /root/agentconf-int.ini \
--yes
\##### Que fait le script ?
- Télécharge et vérifie (openssl) la CA racine et la CA intermédiaire
publiques de l'infra cible.
- Installe ces CA dans le magasin de confiance adapté à l'OS (Linux, macOS,
Windows).
- Sauvegarde l'ancienne configuration XMPP puis installe le nouveau fichier
`agentconf.ini` fourni.
- Teste la connexion STARTTLS vers le nouveau serveur XMPP avant de démarrer
quoi que ce soit.
\##### Étape finale obligatoire : redémarrer l'agent
Une fois le script terminé avec succès, la bascule **n'est pas encore
opérationnelle** tant que le service agent n'a pas été redémarré. Il faut donc
systématiquement lancer, sur le poste migré :
systemctl restart pulse-xmpp-agent.service
Sans ce redémarrage, l'agent continue de tourner avec l'ancienne session XMPP
en mémoire et ne prendra pas en compte la nouvelle configuration tant que le
service n'est pas relancé.
\##### Sécurité
Le script ne génère ni n'affiche jamais `confpassword` ou `keyAES32`, ne
copie jamais les clés hôte OpenSSH d'une autre machine, et ne touche jamais à
une clé privée TLS. La nouvelle configuration XMPP doit toujours provenir de
l'installateur/infra cible, jamais être recopiée telle quelle depuis
l'ancienne machine.