-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor README and ROADMAP for clarity; update Terraform configurati…
…ons and remove deprecated variables
- Loading branch information
Your Name
committed
Sep 4, 2025
1 parent
2d1a997
commit 94a5183
Showing
10 changed files
with
138 additions
and
171 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,62 +1,47 @@ | ||
| # EKS Cluster Template Roadmap | ||
| # EKS Cluster Deployment Roadmap | ||
|
|
||
| ## Current Architecture | ||
| - Template repository (`template-eks-cluster`) serves as the base for creating new EKS cluster configurations | ||
| - Uses Terraform GitHub repo module to create new repositories from the template | ||
| - Implements managed and non-managed extra files functionality | ||
| - Supports configuration through `config.json` | ||
| - **Terraform-Native Workflow**: The module provides a fully Terraform-native workflow for bootstrapping a single GitHub repository for an EKS cluster. | ||
| - **Declarative Configuration**: It uses a set of input variables (`account_config`, `vpc_config`, `cluster_config`) to define a cluster's configuration. | ||
| - **Dynamic HCL Generation**: The module automatically generates all necessary Terragrunt HCL files (`root.hcl`, `account.hcl`, `region.hcl`, etc.) from internal templates. | ||
| - **Wrapper Module**: This module acts as a sophisticated wrapper around the `terraform-github-repo` module, orchestrating repository creation, file generation, and team permission management. | ||
|
|
||
| ## Planned Enhancements | ||
|
|
||
| ### 1. Automated Cluster Setup (High Priority) | ||
| - [x] Add GitHub Actions workflows with workflow_dispatch triggers | ||
| - [x] Implement automated terragrunt command execution for cluster building | ||
| - [x] Support for plan/apply/destroy commands | ||
| - [x] Environment-specific execution | ||
| - [x] Automated testing framework | ||
| - [ ] Configure workflows to run on specific runners for credential management | ||
| - [ ] Create templatized GitHub Actions workflow files | ||
| - [ ] Enable direct cluster creation without manual repository cloning | ||
|
|
||
| ### 2. File Management System (Medium Priority) | ||
| - [ ] Implement wrapper module for repo module | ||
| - [ ] Add support for crafting and injecting various configuration files | ||
| - [ ] Define file lifecycle management strategy | ||
| - [ ] Managed files (controlled by workspace) | ||
| - [ ] Non-managed files (user-modifiable) | ||
|
|
||
| ### 3. Version Management (Medium Priority) | ||
| - [ ] Implement version control strategy for `default-versions.hcl` | ||
| - [ ] Create system for managing platform release versions | ||
| - [ ] Set up version override mechanism | ||
| - [ ] Default versions in template repo | ||
| - [ ] Override capability in workspace creating repos | ||
|
|
||
| ### 4. Configuration Management (Low Priority) | ||
| - [ ] Enhance Makefile and Ansible playbook integration | ||
| - [ ] Improve configuration file templating | ||
| - [ ] Add validation for configuration files | ||
| ### 1. Version and Configuration Management (High Priority) | ||
| - [x] Implement version control strategy for `default-versions.hcl` | ||
| - [x] Create system for managing platform release versions | ||
| - [x] Set up version override mechanism | ||
| - [ ] Add validation for configuration files to fail early on invalid inputs. | ||
| - [ ] Integrate a robust versioning strategy for the module itself, using tags. | ||
|
|
||
| ### 2. Automated Cluster Deployment (Medium Priority) | ||
| - [ ] Create templatized GitHub Actions workflow files that can be injected into the created repository. | ||
| - [ ] Configure workflows to run on specific runners for secure credential management. | ||
| - [ ] Implement automated `terragrunt plan/apply` execution within the generated workflows. | ||
|
|
||
| ### 3. Module and Documentation Refinements (Low Priority) | ||
| - [ ] Enhance documentation with more detailed examples, including edge cases. | ||
| - [ ] Add contribution guidelines and a developer guide. | ||
| - [ ] Refactor and clean up any legacy code or unused variables. | ||
|
|
||
| ## Completed Milestones | ||
|
|
||
| - **Terraform-Native Migration**: Successfully replaced the legacy Lambda/Ansible workflow with a unified, Terraform-native solution for repository bootstrapping. | ||
| - **File Management System**: Implemented a robust system for crafting and injecting configuration files directly via Terraform, fulfilling the core requirement of the "File Management System" epic. | ||
|
|
||
| ## Technical Considerations | ||
| 1. File Lifecycle Management: | ||
| - Managed files: Controlled by workspace | ||
| - Non-managed files: User-modifiable post-creation | ||
| - Version-specific files: Platform release coordination | ||
|
|
||
| 2. Automation Requirements: | ||
| - GitHub Actions runner configuration | ||
| - Credential management | ||
| - Workflow templating | ||
| - Terragrunt integration | ||
|
|
||
| 3. Version Control Strategy: | ||
| - Module version collections | ||
| - Platform release versions | ||
| - Override mechanisms | ||
| 1. **Automation Requirements**: | ||
| - GitHub Actions runner configuration for secure AWS authentication. | ||
| - Workflow templating to dynamically generate CI/CD pipelines. | ||
| - Seamless Terragrunt integration within the automated workflows. | ||
|
|
||
| 2. **Version Control Strategy**: | ||
| - Centralized management of component versions (EKS, Istio, etc.). | ||
| - Clear override mechanisms for environment-specific versioning. | ||
|
|
||
| ## Success Criteria | ||
| - Fully automated cluster creation process | ||
| - Minimal manual intervention required | ||
| - Proper version management system | ||
| - Clear file lifecycle management | ||
| - Secure credential handling | ||
| - Fully automated repository and cluster configuration process. | ||
| - A clear, maintainable, and scalable version management system. | ||
| - Secure and automated CI/CD pipelines for deploying EKS clusters. | ||
| - Comprehensive documentation that empowers users and contributors. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| [ | ||
| { | ||
| "commit_hash": "2d1a9976c65f53b370b4a3ff0829394449127d5a", | ||
| "commit_message": "Fix formatting of runs-on value in GitHub Actions workflow", | ||
| "author": "Your Name", | ||
| "timestamp": "2025-09-04T13:49:32.940158" | ||
| }, | ||
| { | ||
| "commit_hash": "2d1a9976c65f53b370b4a3ff0829394449127d5a", | ||
| "commit_message": "Fix formatting of runs-on value in GitHub Actions workflow", | ||
| "author": "Your Name", | ||
| "timestamp": "2025-09-04T13:52:48.384810" | ||
| }, | ||
| { | ||
| "commit_hash": "2d1a9976c65f53b370b4a3ff0829394449127d5a", | ||
| "commit_message": "Fix formatting of runs-on value in GitHub Actions workflow", | ||
| "author": "Your Name", | ||
| "timestamp": "2025-09-04T14:36:08.594715" | ||
| }, | ||
| { | ||
| "commit_hash": "2d1a9976c65f53b370b4a3ff0829394449127d5a", | ||
| "commit_message": "Fix formatting of runs-on value in GitHub Actions workflow", | ||
| "author": "Your Name", | ||
| "timestamp": "2025-09-04T15:59:08.094373" | ||
| } | ||
| ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| {} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.