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.

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.

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.

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

Paramètres d’affichage

Choisissez un thème pour personnaliser l’apparence du site.

Paramètres d’affichage

Choisissez un thème pour personnaliser l’apparence du site.