adb-infrastructure
Rôle
Repository infrastructure-as-code pour les ressources qui ne sont pas dans Kubernetes. Il gère :
- MongoDB Atlas : scripts de migration / setup, configurations via Atlas CLI et Realm CLI.
- AWS EventBridge : règles d'orchestration d'événements externes.
Pour le déploiement Kubernetes, voir adb-charts. Pour les buckets S3 et les queues SQS/SNS, leur gestion est aujourd'hui distribuée entre adb-charts/terraform/ et la console AWS (à clarifier).
Stack
| Élément | Outil |
|---|---|
| MongoDB Atlas | Atlas CLI + Realm CLI + scripts JS |
| AWS EventBridge | Configuration JSON / scripts |
| (Pas de Terraform racine pour l'instant) | – |
Structure
adb-infrastructure/
├── aws/
│ └── event-bridge/ Règles EventBridge
└── mongodb-atlas/
├── data-scripts/ ~37 scripts de migration / setup
├── atlas-cli/ Configuration Atlas CLI
└── realm-cli/ Configuration Realm CLI
MongoDB Atlas
Scripts de données
mongodb-atlas/data-scripts/ regroupe une trentaine de scripts JavaScript (~37) pour :
- Créer / supprimer des collections.
- Indexer des champs (recherche full-text, géospatial).
- Migrer des structures de documents.
- Peupler des données initiales (catalogues, traductions).
- Nettoyer des collections de test.
Exécutés manuellement via mongosh ou intégrés dans des pipelines de données.
Atlas CLI
Le sous-dossier atlas-cli/ contient des fichiers de configuration pour l'Atlas CLI (atlas command-line tool d'Atlas). Permet de scripter :
- Création / suppression de clusters par environnement.
- Gestion des utilisateurs de base.
- Snapshots et restaurations.
- Configuration des accès réseau (IP allowlist).
Realm CLI
realm-cli/ configure les Atlas Functions (anciennement Realm) — fonctions serverless qui s'exécutent à proximité de la base. Utilisées notamment pour les MongoDB triggers documentés dans technical-epics/messaging/i-have-mongodb-trigger.md.
AWS EventBridge
aws/event-bridge/ contient les règles d'orchestration EventBridge :
- Patterns d'événements (filtrage par source, type).
- Targets (Lambda, SNS, SQS, autres règles).
- Schedule expressions pour des triggers temporels.
EventBridge sert ici de router entre événements externes (par exemple webhooks de partenaires bancaires, notifications de signature électronique) et les services internes via des queues SQS.
flowchart LR
External[Sources externes<br/>SaaS, webhooks]
EB[AWS EventBridge<br/>règles + targets]
SQS[SQS queues internes]
Services[adb-* services]
External --> EB
EB --> SQS
SQS --> Services
Bases de données par environnement
MongoDB Atlas héberge plusieurs clusters / bases :
adb-developmentadb-integrationadb-stagingadb-production
Pattern de nom : mongodb+srv://adb-app:<secret>@adb-<env>.<id>.mongodb.net/.
Account AWS : 182790345476 (région eu-west-1).
Notes
- Pas de Terraform racine détecté. Les ressources AWS hors Kubernetes sont gérées soit via la console, soit via les CLI dédiées, soit dans
adb-charts/terraform/(Neo4j). - À terme, la consolidation en Terraform à la racine du monorepo serait souhaitable pour la traçabilité.
Liens
- Code :
adb-infrastructure/ - Doc MongoDB triggers :
technical-epics/messaging/i-have-mongodb-trigger.md