{"id":25020985,"url":"https://github.com/excoriate/terragrunt-ref-arch-v2","last_synced_at":"2026-05-01T09:32:35.700Z","repository":{"id":268921970,"uuid":"898866334","full_name":"Excoriate/terragrunt-ref-arch-v2","owner":"Excoriate","description":"Modular Infrastructure as Code Reference Architecture with Terragrunt","archived":false,"fork":false,"pushed_at":"2025-03-17T11:37:56.000Z","size":115,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T10:29:58.069Z","etag":null,"topics":["cloud","devops","infrastructure-as-code","terraform","terragrunt"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Excoriate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-05T07:25:31.000Z","updated_at":"2024-12-23T07:36:19.000Z","dependencies_parsed_at":"2025-03-30T10:36:50.196Z","dependency_job_id":null,"html_url":"https://github.com/Excoriate/terragrunt-ref-arch-v2","commit_stats":null,"previous_names":["excoriate/terragrunt-ref-arch-v2"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Excoriate/terragrunt-ref-arch-v2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excoriate%2Fterragrunt-ref-arch-v2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excoriate%2Fterragrunt-ref-arch-v2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excoriate%2Fterragrunt-ref-arch-v2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excoriate%2Fterragrunt-ref-arch-v2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Excoriate","download_url":"https://codeload.github.com/Excoriate/terragrunt-ref-arch-v2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excoriate%2Fterragrunt-ref-arch-v2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32492194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud","devops","infrastructure-as-code","terraform","terragrunt"],"created_at":"2025-02-05T12:18:35.264Z","updated_at":"2026-05-01T09:32:35.684Z","avatar_url":"https://github.com/Excoriate.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"⚠️ **PRE-ALPHA NOTICE** ⚠️\n\n🚧 This project is in a pre-alpha stage of development.\n\n- Expect frequent changes\n- API and configuration formats may undergo significant modifications\n- Not recommended for production use\n- Contributions and feedback are highly welcome!\n\n---\n\n# Terragrunt Reference Architecture V2\n\n## 🚀 Quick Overview\n\nA modular, scalable, and maintainable infrastructure management framework using Terragrunt, designed to simplify and standardize cloud infrastructure deployment across multiple environments.\n\n## 🌟 Key Features\n\n- **Centralized Configuration Management**\n- **Multi-Provider Support**\n- **Multi-Stack(s) Support**\n- **Environment-Specific Configurations, and Automatic Secrets Injection**\n\n## 📐 Architecture Principles\n\n### Hierarchical Infrastructure Organization\n\n```mermaid\ngraph TD\n    A[Root Configuration] --\u003e B[Stack]\n    B --\u003e C[Layer]\n    C --\u003e D[Component]\n```\n\n## 🛠 Features \u0026 Capabilities\n\n### 🔒 Centralized Configuration Management\n\n- **Single Source of Truth**: Manage entire infrastructure through centralized YAML configurations\n- **Environment-Specific Overrides**: Seamlessly customize configurations for different environments\n- **DRY (Don't Repeat Yourself) Approach**: Reduce configuration redundancy and complexity\n\n### 🌐 Multi-Provider Flexibility\n\n- **Vendor-Agnostic Design**: Support for AWS, Azure, GCP, and more\n- **Dynamic Provider Configuration**: Easily switch or integrate multiple cloud providers\n- **Version Constraint Management**: Precise control over provider versions and compatibility\n\n### 🚀 Infrastructure as Code (IaC) Optimization\n\n- **Modular Stack Architecture**: Break down infrastructure into logical, manageable components\n- **Hierarchical Configuration**: Root → Stack → Layer → Component organization\n- **Reusable Infrastructure Components**: Create and share standardized infrastructure building blocks\n\n### 🛡️ Advanced Configuration Management\n\n- **Automatic Configuration Validation**\n  - Comprehensive schema checking\n  - Environment variable resolution\n  - Secrets management\n- **Intelligent Configuration Compilation**\n  - Merge base and environment-specific configurations. Support multiple overrides.\n  - Generate validated JSON configurations, through a compilation process that ensures that Terragrunt always receives a valid configuration.\n  - Seamless Terragrunt integration. No side effects.\n\n## 📦 Getting Started\n\n### Prerequisites\n\n- Terragrunt\n- Terraform\n- Go (for InfraCTL CLI)\n- AWS CLI (or relevant cloud provider CLI)\n\n### Quick Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/Excoraite/terragrunt-ref-arch-v2.git\n\n# After you've configured your stack(s), layer(s) and component(s), you can run the following command to validate your configuration. E.g.:\njust run-cli plan --target-env local --stack stack-datastore --layer db --component quota-generator\n\n```\n\n## 📚 Documentation\n\nExplore our comprehensive documentation to understand the architecture and usage:\n\n1. [Introduction](docs/01-introduction.md)\n\n   - Project overview\n   - Core concepts\n   - Architecture principles\n\n2. [Project Structure](docs/02-project-structure.md)\n\n   - Repository organization\n   - Directory layout\n   - Configuration hierarchy\n\n3. [Design Principles](docs/03-design-principles.md)\n\n   - Architectural philosophy\n   - Key design considerations\n   - Guiding development principles\n\n4. [Configuration System](docs/04-configuration-system.md)\n\n   - Configuration management\n   - Environment-specific settings\n   - YAML configuration details\n\n5. [InfraCTL CLI](docs/04-infractl-cli.md)\n\n   - Command-line tool usage\n   - Configuration validation\n   - Infrastructure deployment commands\n\n6. [Stack Management](docs/05-stack-management.md)\n\n   - Infrastructure stack organization\n   - Layer and component management\n   - Provider integration\n\n7. [Configuration Compilation](docs/06-configuration-compilation.md)\n   - Detailed compilation process\n   - Configuration validation\n   - Environment variable and secret resolution\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create your feature branch\n3. Commit your changes\n4. Push to the branch\n5. Create a Pull Request\n\n## 📄 License\n\n[Apache License 2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexcoriate%2Fterragrunt-ref-arch-v2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexcoriate%2Fterragrunt-ref-arch-v2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexcoriate%2Fterragrunt-ref-arch-v2/lists"}