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, 开源框架, 持续集成, 自定义请求头, 请求拦截