AjayKumar9375/eks-gitops-aiops-platform

GitHub: AjayKumar9375/eks-gitops-aiops-platform

一个基于 Terraform、GitHub Actions 和 ArgoCD 构建的多环境 EKS GitOps 平台项目,当前已完成 AWS 基础设施层,后续规划纳入可观测性与 AI 辅助运维能力。

Stars: 0 | Forks: 0

# GitOps DevOps 平台 本仓库是一个多环境 EKS 平台的实际构建项目。当前签入的部分是 AWS 基础设施层;应用、GitOps、监控和 AI-Ops 部分被特意保留为文件夹,以便通过小而易于审查的更改逐步添加。 第一个版本特意将范围缩小。它避免了一次性演示脚本,并按照团队仓库通常需要的方式组织 Terraform:remote state、可复用的环境根目录、pinned providers、明确的提升控制,以及用于首次集群启动的 runbook。 ## 当前状态 已完成: - 带有 S3 state 和 DynamoDB locking 的 Terraform backend bootstrap。 - VPC、EKS、ECR、AWS Load Balancer Controller、S3 artifact bucket 和 PostgreSQL RDS 模块。 - Dev、staging 和 prod 环境根目录。 - 用于 Terraform validate、plan 和手动 apply 的 GitHub Actions 工作流。 尚未构建: - 示例服务和 Dockerfiles。 - Helm charts 和 ArgoCD applications。 - Prometheus、Grafana、ELK 和 Alertmanager 配置。 - FastAPI AI-Ops 服务和 Slack 审批流程。 ## 布局 ``` gitops-devops-platform/ |-- terraform/ | |-- bootstrap/ # one-time state backend | |-- modules/ # reusable AWS modules | `-- environments/ | |-- dev/ | |-- staging/ | `-- prod/ |-- app/ # service code will land here |-- docker/ # Dockerfiles and build helpers |-- helm/ # service charts |-- gitops-config/ # ArgoCD-owned values/manifests |-- monitoring/ # rules, dashboards, alert routing |-- aiops/ # incident responder service `-- docs/ ``` ## 首次运行 首先 bootstrap state: ``` cd terraform/bootstrap terraform init terraform apply -var-file=terraform.tfvars.example ``` 然后将输出的 bucket 和表名复制到每个 `backend.hcl` 中,例如: ``` cd ../environments/dev terraform init -backend-config=backend.hcl terraform workspace select dev || terraform workspace new dev terraform plan -var-file=terraform.tfvars ``` 完整的操作员笔记位于 [docs/runbook.md](docs/runbook.md) 中。 ## 注意事项 - 该仓库支持 Terraform workspaces,但对于真正的生产环境,使用独立的 AWS 账户仍然是更清晰的隔离边界。 - Staging 和 prod 在 `terraform.tfvars` 中使用了文档中的 CIDR。在 apply 之前,请将它们替换为 VPN、办公室 NAT 或自托管 runner 的 CIDR。 - Apply 应通过带有审批的 GitHub Environments 运行,对于 prod 尤其如此。
标签:AIOps, AWS EKS, ECS, GitOps, Terraform, 开源框架, 持续集成, 自定义请求头, 请求拦截