Heyyprakhar1/sentinel-ai-platform
GitHub: Heyyprakhar1/sentinel-ai-platform
一个通过单条命令自动化完成本地 Kubernetes 集群搭建与监控栈部署的 DevOps 平台工程工具。
Stars: 5 | Forks: 2
# SentinelAI 平台
**一个面向 DevOps 和平台工程的本地优先 Kubernetes 自动化平台。**





[](https://github.com/Heyyprakhar1/sentinel-ai-platform/actions/workflows/ci.yml)


SentinelAI Platform 通过一条命令自动完成本地 Kubernetes 基础设施的搭建。它会配置一个 k3d 集群,设置 namespace,并部署一整套监控组件——随着项目的演进,它还将作为 GitOps、云端部署以及 AI 驱动运维的基础。
当前的重点是使用 k3d 进行本地 Kubernetes 自动化。
## 为什么选择 SentinelAI?
大多数 Kubernetes 教程仅停留在对单个 pod 执行 `kubectl apply`。而真正的平台工程,主要包含其背后那些可重复且相对基础枯燥的工作:安装正确的工具、以相同的方式创建集群、配置 namespace,以及在执行任何其他集群操作之前让监控先跑起来。
SentinelAI Platform 像专业的平台团队一样,自始至终自动化了这部分基础工作:提供一个易于发现的 Makefile 接口、模块化的 bash 脚本,以及一个可以随时运行的健康检查工具。
## 功能
- 自动安装 Docker、kubectl、Helm 和 k3d
- 通过单条命令创建 k3d 集群
- 自动导出 kubeconfig 及集群发现
- 为集群配置 Docker 网络
- 自动创建 namespace
- 部署监控组件 (`kube-prometheus-stack`)
- 平台健康诊断 (`make doctor`)
- 通过单条命令实现平台的搭建与拆除
- 基于 Makefile 的命令接口
- 通过 GitHub Actions 实现持续集成
## 架构
```
flowchart TD
A[Developer Machine] --> B[Makefile / Bash Scripts]
B --> C[k3d Kubernetes Cluster]
C --> D[Namespaces]
D --> E[kube-prometheus-stack]
E --> F[Prometheus]
E --> G[Grafana]
```
## 仓库结构
```
sentinel-ai-platform/
├── Makefile
├── docker-compose.yml
├── Dockerfile
├── requirements.txt
├── scripts/
│ ├── install/ # Docker, kubectl, Helm, k3d installers
│ ├── cluster/ # Cluster creation, kubeconfig, discovery, network
│ ├── deploy/ # Namespaces, monitoring, ArgoCD
│ ├── health/ # Platform Doctor
│ ├── utils/ # Shared shell helpers
│ ├── setup.sh # One-command bootstrap
│ └── teardown.sh # One-command teardown
├── monitoring/
│ ├── kubernetes/ # kube-prometheus-stack Helm values
│ └── compose/ # Docker Compose monitoring config
├── k8s/
│ ├── base/ # Core application manifests
│ ├── overlays/ # dev / staging / prod
│ ├── argocd/ # GitOps ApplicationSet
│ └── gatekeeper/ # OPA admission policies
├── argocd/
│ └── helm/ # ArgoCD Helm values
├── terraform/ # AWS EKS infrastructure
├── app/ # FastAPI backend
├── ai/ # AI engine
├── frontend/ # React dashboard
├── docs/ # Architecture & setup notes
├── tests/ # Test suite
└── README.md
```
## 安装说明
| 工具 | 是否必需 |
|---|---|
| Docker | 是 |
| kubectl | 是 |
| Helm | 是 |
| k3d | 是 |
| Git | 是 |
如果尚未安装 Docker、kubectl、Helm 和 k3d,安装脚本会自动进行安装。
## 本地配置
**方法 1**
```
make setup
```
**方法 2**
```
bash scripts/setup.sh
```
### 配置过程中会发生什么
1. 安装 Docker、kubectl、Helm 和 k3d(如已安装则跳过)
2. 检测环境并检查是否存在冲突的集群
3. 创建 k3d 集群
4. 导出 kubeconfig
5. 发现并验证集群
6. 配置 Docker 网络
7. 创建 namespace(`argocd`、`monitoring`、`sentinelai-dev`、`sentinelai-staging`、`sentinelai-prod`)
8. 部署监控组件(`kube-prometheus-stack`)
9. 运行平台健康检查工具
在配置过程中,默认会刻意跳过 ArgoCD 的部署。
## 验证安装
```
make doctor
kubectl get nodes
kubectl get pods -A
helm list -A
```
## 平台命令
| 命令 | 描述 |
|---|---|
| `make help` | 列出所有可用命令 |
| `make install` | 安装 Docker、kubectl、Helm 和 k3d |
| `make cluster` | 创建并配置 k3d 集群 |
| `make deploy` | 创建 namespace 并部署监控 |
| `make monitoring` | 部署 Prometheus + Grafana 技术栈 |
| `make argocd` | 部署 ArgoCD(手动,选择启用) |
| `make doctor` | 运行平台健康检查 |
| `make setup` | 端到端运行完整的引导程序 |
| `make teardown` | 移除整个平台 |
## 云端部署
通过 `make setup` 进行本地自动化目前已完全支持,这也是当前运行该平台的主要方式。
仓库还在 `terraform/` 目录下包含了用于 AWS EKS 的 Terraform 配置(VPC、EKS 集群、IAM、ECR),以及在 `k8s/argocd/` 目录下提供了用于基于 GitOps 交付的 ArgoCD 清单文件。目前这两者均尚未接入本地配置流程。不过,它们都可以手动运行:
```
cd terraform
terraform init
terraform plan
```
云端部署目前仍在开发中,暂未纳入自动化配置流程。
## GitHub Actions
在每次针对 `main` 分支的 push 和 pull request 时,都会自动运行两个工作流:
- **CI Pipeline** — 运行带有覆盖率统计的测试套件、SonarCloud 代码质量扫描,以及带有 Trivy 漏洞扫描的 Docker 构建
- **Security Checks** — 针对 Python 代码库运行 Bandit 和 pip-audit,并对前端进行依赖项检查
```
flowchart TD
A[Developer] --> B[GitHub]
B --> C[GitHub Actions]
C --> D[Docker]
D --> E[Kubernetes]
E --> F[Monitoring]
```
目前,GitHub Actions 涵盖了测试、代码质量以及镜像构建/扫描。Kubernetes 的部署和监控设置仍然通过 Makefile 在本地进行——它们尚未由 CI 触发。
## 路线图
### ✅ 已完成
- Docker、kubectl、Helm 和 k3d 安装自动化
- 集群创建、kubeconfig 导出及集群发现
- Docker 网络配置
- Namespace 创建
- 部署监控组件 (`kube-prometheus-stack`)
- 平台健康诊断 (`make doctor`)
- 通过单条命令实现平台的搭建与拆除
- Makefile 自动化
- GitHub Actions CI
### 🚧 进行中
- ArgoCD GitOps — 清单已就绪,目前故意禁用了部署
- Terraform / AWS EKS — 已存在于仓库中,尚未集成到自动化配置中
- AI 引擎 — 已存在于仓库中,尚未成为平台引导程序的一部分
### 🔜 计划中
- 将 ArgoCD 接入自动化配置流程
- 将基于 Terraform 的云端资源调配集成到 Makefile 中
- 待 GitOps 和云部署路径稳定后,将 AI 引擎接入平台
- 扩展 CI/CD 以包含自动化部署
## 许可证
基于 [MIT License](LICENSE) 授权。标签:AV绕过, FastAPI, React, Syscalls, 子域名突变, 本地开发环境, 监控可视化, 自动化运维, 自定义请求头, 请求拦截, 逆向工具