Ministères
sociaux
Atlas
Plateforme d'hébergement des ministères sociaux
Documentation Atlas
Bienvenue dans la documentation de la plateforme Atlas, la plateforme V2 de la fabrique numérique des ministères sociaux.
À propos d'Atlas
Atlas est une plateforme cloud native qui permet aux équipes de développement de déployer et gérer facilement leurs applications et ressources associées (bases de données, stockage, etc.) en utilisant une approche GitOps.
Structure de la documentation
La documentation Atlas suit la méthodologie Diátaxis, qui organise la documentation en quatre catégories distinctes :
Tutoriels
Les tutoriels sont des leçons pas à pas qui guident l'utilisateur à travers une série d'étapes pour accomplir un objectif spécifique. Ils sont parfaits pour les débutants qui découvrent la plateforme.
- Créer votre premier workspace
- Déployer votre première application
- Configurer une base de données
- Utiliser un bucket S3 pour le stockage
Guides pratiques
Les guides pratiques sont des instructions orientées vers des tâches spécifiques. Ils supposent que vous avez une compréhension de base de la plateforme et vous montrent comment accomplir des tâches particulières.
- Créer et utiliser des buckets S3
- Configurer et gérer des clusters de bases de données
- Créer et configurer des Deployment Targets
- Gérer les secrets et les variables d'environnement
- Configurer des pipelines CI/CD
Référence
La référence fournit des informations techniques précises sur les API, les schémas et les configurations disponibles dans la plateforme.
API Reference
Architecture
Explications
Les explications fournissent des informations contextuelles et des discussions approfondies sur les concepts et les principes sous-jacents de la plateforme.
- Comprendre l'approche GitOps
- Architecture de la plateforme
- Modèle de sécurité
- Cycle de vie des ressources
Ressources supplémentaires
Concepts clés de la plateforme
Atlas s'articule autour d'une architecture hiérarchique composée de plusieurs niveaux d'abstraction :
-
Zone : Unité d'infrastructure gérée par les administrateurs de la plateforme qui constitue le socle technique pour le déploiement des ressources. Chaque zone intègre un cluster Kubernetes et l'infrastructure réseau nécessaire pour les services managés comme les bases de données. Les zones représentent généralement des environnements distincts (développement, production).
-
Organisation : Entité administrative correspondant typiquement à un département ou une direction ayant la responsabilité de plusieurs projets. Les organisations sont configurées par les administrateurs de la plateforme et servent de conteneur logique pour les workspaces.
-
Workspace : Espace de travail dédié à un projet spécifique, géré par les administrateurs d'organisation. Un workspace encapsule l'ensemble des ressources et environnements nécessaires à un projet particulier.
-
DeploymentTarget : Environnement de déploiement spécifique (branche de fonctionnalité, développement, préproduction, production) configuré par les administrateurs de workspace. Chaque DeploymentTarget se matérialise par un namespace Kubernetes dédié dans le cluster de la zone spécifiée. Les ressources comme les buckets et les clusters de bases de données sont provisionnées dans une zone et leurs informations de connexion sont automatiquement transmises aux DeploymentTargets concernés.
Écosystème d'outils intégrés
Atlas s'appuie sur un ensemble d'outils spécialisés pour offrir une expérience complète :
- Infrastructure GitOps : Chaque niveau organisationnel dispose de son propre dépôt Git :
- Un dépôt par organisation pour la gestion des workspaces
-
Un dépôt par workspace pour la définition des ressources et des environnements
-
ArgoCD : Interface de visualisation et de synchronisation des ressources déployées, avec un accès contrôlé selon les rôles des utilisateurs
-
Grafana : Plateforme de surveillance permettant de consulter les métriques des ressources déployées
-
Keycloak : Système de gestion des identités et des accès, permettant l'attribution des rôles et la gestion des comptes utilisateurs
-
Kubernetes Dashboard : Interface d'administration par zone permettant aux administrateurs de visualiser les ressources déployées
-
Vault : Gestionnaire de secrets sécurisé qui stocke et distribue les informations sensibles comme les identifiants de connexion aux bases de données et aux buckets
Modèle de permissions
Atlas implémente un modèle de contrôle d'accès basé sur les rôles (RBAC) :
-
Administrateur de plateforme : Dispose des droits étendus pour gérer l'infrastructure globale, incluant la création de zones, d'organisations et de workspaces
-
Administrateur d'organisation : Gère les workspaces au sein de son périmètre organisationnel
-
Administrateur de workspace : Responsable de la création et de la gestion des ressources spécifiques à son workspace (buckets, clusters de bases de données, environnements de déploiement)
-
Utilisateurs spécifiques : Peuvent se voir attribuer différents niveaux d'accès (administrateur, éditeur, lecteur, lecteur de secrets) sur un ou plusieurs environnements de déploiement