Heyyprakhar1/sentinel-ai-platform

GitHub: Heyyprakhar1/sentinel-ai-platform

一个通过单条命令自动化完成本地 Kubernetes 集群搭建与监控栈部署的 DevOps 平台工程工具。

Stars: 5 | Forks: 2

# SentinelAI 平台 **一个面向 DevOps 和平台工程的本地优先 Kubernetes 自动化平台。** ![Kubernetes](https://img.shields.io/badge/Kubernetes-K3d-326CE5?style=flat-square&logo=kubernetes&logoColor=white) ![Docker](https://img.shields.io/badge/Docker-Containerized-2496ED?style=flat-square&logo=docker&logoColor=white) ![Helm](https://img.shields.io/badge/Helm-3.x-0F1689?style=flat-square&logo=helm&logoColor=white) ![Prometheus](https://img.shields.io/badge/Prometheus-Monitoring-E6522C?style=flat-square&logo=prometheus&logoColor=white) ![Grafana](https://img.shields.io/badge/Grafana-Dashboards-F46800?style=flat-square&logo=grafana&logoColor=white) [![GitHub Actions](https://static.pigsec.cn/wp-content/uploads/repos/cas/ce/cea496ad6f53b4abefbb206138ade3917d58a3f280aab75c2cb0a231301cfe90.svg)](https://github.com/Heyyprakhar1/sentinel-ai-platform/actions/workflows/ci.yml) ![Python](https://img.shields.io/badge/Python-3.12-3776AB?style=flat-square&logo=python&logoColor=white) ![License](https://img.shields.io/badge/License-MIT-green?style=flat-square)
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, 子域名突变, 本地开发环境, 监控可视化, 自动化运维, 自定义请求头, 请求拦截, 逆向工具