|
| 1 | +# Migration Sesame : Alpha → v2 |
| 2 | + |
| 3 | +Ce guide décrit la procédure complète pour mettre à niveau une instance Sesame Alpha vers la version 2 à l’aide des deux scripts fournis dans le gist suivant : <https://gist.github.com/tacxou/6631662c8fbe6aa8357f08a61cb55004>. |
| 4 | + |
| 5 | +## Pré-requis |
| 6 | +- Sauvegarde récente et vérifiée (base de données, fichiers `configs/`, `certificates/`, volumes applicatifs). |
| 7 | +- Python 3.9+ et `pip` disponibles sur la machine d’administration. |
| 8 | +- Librairie Python `requests` installée (`pip install requests`). |
| 9 | +- Accès réseau et droits suffisants pour arrêter/démarrer les conteneurs Sesame ainsi que pour appeler l’API Sesame (token d’administration nécessaire pour le script de nettoyage des cycles de vie). |
| 10 | + |
| 11 | +> 💡 Positionnez-vous dans le répertoire racine du projet Sesame (`/data/sesame`) pour l’ensemble des commandes. |
| 12 | +
|
| 13 | +## 1. Arrêter les conteneurs Sesame |
| 14 | +```bash |
| 15 | +cd /data/sesame |
| 16 | +docker compose down |
| 17 | +``` |
| 18 | + |
| 19 | +Vérifiez qu’aucun conteneur applicatif `sesame-*` ne reste actif (à l’exception éventuelle des services de base de données). |
| 20 | + |
| 21 | +## 2. Lancer le script d’upgrade |
| 22 | +1. Téléchargez les scripts depuis le gist (à exécuter une seule fois ou lors de chaque mise à jour si vous souhaitez les renouveler) : |
| 23 | + ```bash |
| 24 | + mkdir -p scripts |
| 25 | + curl -fsSL "https://gist.githubusercontent.com/tacxou/6631662c8fbe6aa8357f08a61cb55004/raw/sesame-upgrade-to-v2.py" -o scripts/sesame-upgrade-to-v2.py |
| 26 | + curl -fsSL "https://gist.githubusercontent.com/tacxou/6631662c8fbe6aa8357f08a61cb55004/raw/sesame-cleanup-lifecycle.py" -o scripts/sesame-cleanup-lifecycle.py |
| 27 | + chmod +x scripts/sesame-upgrade-to-v2.py scripts/sesame-cleanup-lifecycle.py |
| 28 | + ``` |
| 29 | +2. Exécutez le script d’upgrade (il demandera des confirmations si nécessaire) : |
| 30 | + ```bash |
| 31 | + python3 scripts/sesame-upgrade-to-v2.py |
| 32 | + ``` |
| 33 | + |
| 34 | +Le script demande l'arrêt les services restants avant de démarrer, puis sauvegarde le `docker-compose.yml` d’origine (`docker-compose.yml.v1.backup`) et met à jour la configuration pour Sesame v2. |
| 35 | + |
| 36 | +## 3. Redémarrer les conteneurs |
| 37 | +```bash |
| 38 | +docker compose up -d |
| 39 | +docker compose ps |
| 40 | +``` |
| 41 | + |
| 42 | +Attendez que les services critiques (API, orchestrator, web) soient en bonne santé avant de poursuivre. |
| 43 | + |
| 44 | +## 4. Nettoyer les cycles de vie |
| 45 | +Le script de nettoyage requiert un token d’API Sesame avec les droits d’administration. Vous pouvez soit : |
| 46 | +- fournir le token via la variable d’environnement `SESAME_API_TOKEN`, |
| 47 | +- ou stocker le token dans un fichier `.env` compatible (clé `SESAME_API_TOKEN=`). |
| 48 | + |
| 49 | +Exemple d’exécution en utilisant un fichier `.env` existant : |
| 50 | +```bash |
| 51 | +python3 scripts/sesame-cleanup-lifecycle.py --env-file configs/sesame-taiga-crawler/.env |
| 52 | +``` |
| 53 | + |
| 54 | +Par défaut, le script cible l’API sur `http://127.0.0.1:3333/api`. Adaptez l’URL si nécessaire (`--base-url https://votre-hote/api`). Pour effectuer un test à blanc, ajoutez `--dry-run`. |
| 55 | + |
| 56 | +## 5. Vérifications post-migration |
| 57 | +- Contrôlez les logs : `docker compose logs -f sesame-orchestrator`. |
| 58 | +- Validez l’accès à l’interface Sesame et le fonctionnement des workflows. |
| 59 | +- Confirmez que les cycles de vie des identités sont à l’état attendu (`O`). |
| 60 | +- Conservez la sauvegarde `docker-compose.yml.v1.backup` tant que la migration n’est pas définitivement validée. |
| 61 | + |
| 62 | +## 6. Nettoyage optionnel |
| 63 | +- Supprimez les scripts dans `scripts/` afin de ne pas les relancer si la migration à bien été faites. |
| 64 | + |
| 65 | +La migration Alpha → v2 est terminée lorsque les services sont stables et que toutes les vérifications métiers sont validées. |
0 commit comments