दस्तावेज़ीकरण
रिपॉज़िटरी संरचना
क्विक स्टार्ट
1. आवश्यक उपकरण स्थापित करें
Terraform2. एक नया वातावरण बनाएँ
नए वातावरणenv-template-folder को कॉपी करके और placeholders भरकर बनाए जाते हैं।
पूर्ण चरण-दर-चरण प्रक्रिया के लिए Terragrunt तैनाती गाइड देखें। उच्च-स्तरीय प्रवाह है:
सेवा सक्षम/अक्षम फ़्लैग्स
सभी वैकल्पिक सेवाएँ वातावरण चरों के माध्यम से टॉगल की जाती हैं।terragrunt apply चलाने से पहले इन्हें सेट करें।
Supabase सेल्फ़-होस्टेड तैनाती क्रमSupabase घटकों को क्रम में तैनात किया जाना चाहिए:
Helm Charts संदर्भ
मॉड्यूल्स संदर्भ
modules/eks
प्राथमिक मॉड्यूल। प्रोविज़न करता है:
- 3 AZs में पब्लिक/प्राइवेट सबनेट्स के साथ VPC
- EKS क्लस्टर (Kubernetes 1.33) और Karpenter के लिए managed node group
- Karpenter controller + NodePool + EC2NodeClass
- IAM भूमिकाएँ (क्लस्टर, node group, Karpenter, ALB controller, EBS CSI driver)
helm_releasesइनपुट map के माध्यम से सभी Helm releases
modules/aws-services
ElastiCache Redis और Amazon MQ RabbitMQ प्रोविज़न करता है। केवल ENABLE_AWS_SERVICES=true होने पर सक्रिय।
modules/state
नए वातावरण के लिए S3 स्टेट bucket बूटस्ट्रैप करता है (वर्शनिंग, एन्क्रिप्शन, पब्लिक एक्सेस ब्लॉक)।
modules/helm
पुन: प्रयोग योग्य Helm release मॉड्यूल जो upstream chart repositories और स्थानीय chart_path charts दोनों का समर्थन करता है।
वातावरण कॉन्फ़िगरेशन
Placeholders
env-template-folder में हर वातावरण-विशिष्ट मान <YOUR_*> placeholder का उपयोग करता है। तैनाती से पहले कुछ भी शेष न रहने की जाँच के लिए निम्नलिखित चलाएँ:
रिमोट स्टेट
स्टेट प्रति वातावरण S3 में संग्रहीत है। bucket कोstate/terragrunt.hcl द्वारा बूटस्ट्रैप किया जाता है और root.hcl द्वारा संदर्भित किया जाता है। नामकरण पैटर्न ekb-terraform-state-<env-name> है।