gabrielchangamire-arch/fleetpulse
GitHub: gabrielchangamire-arch/fleetpulse
FleetPulse 是一个以证据驱动、本地优先的 Linux 机群可靠性与事件响应平台,通过分阶段验证的方式展示生产级工程实践。
Stars: 0 | Forks: 0
# FleetPulse — Linux 机群可靠性与事件响应平台
FleetPulse 是一个本地优先的 Linux 机群可靠性与事件响应平台。它旨在通过可复现的实现和经测量的证据来展示生产级工程实践,而非未经证实的规模声明。
## 项目状态
阶段 0 到 6 已完成并验证。FleetPulse 现已具备持久化数据接入、Redis Stream worker、带有负载均衡和 cache-aside 机群读取功能的 Nginx/TLS 边缘节点、预配置的 Prometheus/Grafana/Alertmanager 技术栈、可复现的 kind/k3d 部署,以及一套可重复的本地性能/容量证据测试套件。运行时服务是按照每个已验证的阶段有意识地逐步引入的;请参阅 [ROADMAP.md](ROADMAP.md)。
## 当前已验证
- Linux 容器 agent 使用 `psutil` 采集有界的 CPU、内存、磁盘、进程、socket 和网络遥测数据。
- 数据批次在 agent 重启后能在有界的 SQLite spool 中留存,并在带有上限的指数退避和完全抖动机制下进行重试。
- FastAPI 对 agent 进行身份验证,传播 correlation ID,并以原子方式将遥测数据、幂等状态和 outbox 事件提交至 PostgreSQL。
- 重放 batch UUID 不会创建重复的遥测数据或 outbox 事件。
- Compose 和本地 Kubernetes 运行具有资源限制的非 root 应用容器,并配备健康探针、私有状态服务以及仅限 loopback 的 ingress。
证据:[阶段 1 验证](evidence/runs/20260717T080135Z-phase-1/summary.md)。
阶段 2 证据:[分布式处理验证](evidence/runs/20260717T081555Z-phase-2/summary.md)。
阶段 3 证据:[TLS 边缘节点与缓存验证](evidence/runs/20260717-phase-3/summary.md)。
阶段 4 证据:[SLO 可观测性验证](evidence/runs/20260717-phase-4/summary.md)。
阶段 5 证据:[本地 Kubernetes 验证](evidence/runs/20260717-phase-5/summary.md)。
阶段 6 证据:[性能与容量验证](evidence/runs/20260717-phase-6/summary.md)。
## 不可逾越的界限
- 本代码仓库独立于任何 Nemo 或 Oracle VM 项目。
- Docker Compose 以及本地 kind 或 k3d 集群是主要环境。
- 云部署是可选的,且永远不会成为本地开发的先决条件。
- PostgreSQL、Redis、Prometheus 和 Grafana 禁止公开暴露。
- AI 是可选的、只读的,且无法执行修复。
- 结果会被明确标注为测量值、预测值或目标值。
- 支持性能和可靠性声明的原始证据保存在 `evidence/` 下。
## 计划中的开发者工作流
初始的仓库检查可以使用 Python 3.11 或更高版本运行:
```
make bootstrap
make verify
```
要启动阶段 1 的 Compose 切片,请将 `.env.example` 复制到被忽略的 `.env` 中,将两个占位符替换为随机的本地值,然后运行:
```
make compose-up
make phase1-smoke
```
Nginx 是唯一的应用 ingress,并负责终止本地 TLS。PostgreSQL 和 Redis 没有主机端口;Prometheus、Grafana 和 Alertmanager 在 Compose 中仅绑定到 loopback,并在 Kubernetes 中保持 ClusterIP 类型。
对于本地 Kubernetes,请设置非生产环境的运行时凭据,并使用支持的任意一种 runtime:
```
make k8s-validate
make kind-up
# 或:make k3d-up
```
请参阅 [本地 Kubernetes 运行手册](docs/runbooks/local-kubernetes.md) 以了解启动、检查、
回滚和清理操作。阶段 7 将添加受控的故障与恢复演练。
要验证或重复本地性能测试套件,请安装 k6 并在
三次重复矩阵之前运行 smoke profile:
```
make performance-smoke
make performance-matrix
```
请参阅 [性能测试运行手册](docs/runbooks/performance-testing.md)。负载率为
输入参数,而非容量声明;测量的结果与预测值会分别标注。
## 架构
系统设计和网络边界记录在 [docs/architecture/system.md](docs/architecture/system.md) 中。安全假设位于 [docs/security/threat-model.md](docs/security/threat-model.md),未解决的工程风险在 [风险登记册](docs/risk-register.md) 中进行跟踪。
标签:API集成, AV绕过, FastAPI, 可观测性, 可靠性工程, 子域名突变, 搜索引擎查询, 测试用例, 版权保护, 自定义请求头, 运维监控, 逆向工具