Documentation
Structure du référentiel
Démarrage rapide
1. Installer les outils requis
Terraform2. Créer un nouvel environnement
Les nouveaux environnements sont créés en copiantenv-template-folder et en remplissant les espaces réservés.
Consultez Guide de déploiement Terragrunt pour le processus complet étape par étape. Le flux de haut niveau est :
Drapeaux d’activation/désactivation de service
Tous les services optionnels sont activés via des variables d’environnement. Définissez-les avant d’exécuterterragrunt apply.
Ordre de déploiement de Supabase auto-hébergéLes composants Supabase doivent être déployés dans l’ordre :
Référence des graphiques Helm
Référence des modules
modules/eks
Le module principal. Provisionne :
- VPC avec subnets publics/privés sur 3 AZs
- Cluster EKS (Kubernetes 1.33) et groupe de nœuds gérés pour Karpenter
- Contrôleur Karpenter + NodePool + EC2NodeClass
- Rôles IAM (cluster, groupe de nœuds, Karpenter, contrôleur ALB, pilote CSI EBS)
- Toutes les versions Helm via la carte d’entrée
helm_releases
modules/aws-services
Provisionne ElastiCache Redis et Amazon MQ RabbitMQ. Actif uniquement lorsque ENABLE_AWS_SERVICES=true.
modules/state
Bootstrap du bucket S3 d’état pour un nouvel environnement (versioning, chiffrement, blocage d’accès public).
modules/helm
Module de version Helm réutilisable supportant les référentiels de graphiques upstream et les graphiques locaux chart_path.
Configuration d’environnement
Espaces réservés
Chaque valeur dansenv-template-folder spécifique à l’environnement utilise un espace réservé <YOUR_*>. Exécutez ce qui suit pour vérifier qu’aucun n’a été oublié avant de déployer :
État distant
L’état est stocké dans S3 par environnement. Le bucket est amorcé parstate/terragrunt.hcl et référencé par root.hcl. Le modèle d’appellation est ekb-terraform-state-<env-name>.