| .. | ||
| config | ||
| docker | ||
| grafana | ||
| haproxy | ||
| kubernetes/base | ||
| prometheus | ||
| tools/configcheck | ||
| compose_test.go | ||
| docker-compose.test.yml | ||
| docker-compose.yml | ||
| README.md | ||
部署拓扑模板
本目录描述 Proxy Pool 的部署拓扑,覆盖 Compose、HAProxy、Prometheus、
Grafana 与 Kubernetes。镜像会构建 proxy-controller、proxy-gateway 与
proxy-checker;Controller 已装配 Redis BASIC 检查任务,Checker 可通过认证
控制面执行 HTTP/HTTPS BASIC 探测。
Compose 使用 config/local.yaml 启用 Controller、两个 Gateway 和一个 Checker 的
mTLS 控制面。generate-local-controlplane-certs.ps1 为三个固定工作负载生成不同的
SPIFFE URI 证书,私钥只写入被忽略的 deploy/.control-plane-tls/。运行前先执行:
./scripts/generate-local-controlplane-certs.ps1
docker compose -f deploy/docker-compose.yml up -d --build
Kubernetes Base 仍保持 controlPlane.enabled: false,并保留 checker.yaml 作为
环境 Overlay 模板。生产 Overlay 必须为每个弹性 Gateway/Checker 工作负载配置唯一
身份与证书轮换,不能复用 Compose 的固定开发证书。
当前可执行验证:
docker compose -f deploy/docker-compose.yml config --quiet
docker compose -f deploy/docker-compose.test.yml config --quiet
kubectl kustomize deploy/kubernetes/base | Out-Null
go run ./deploy/tools/configcheck deploy/config/local.yaml
docker-compose.test.yml 为 Redis 与 PostgreSQL 18 提供互相独立的本地集成测试
服务。两者只绑定回环地址;Redis 禁止持久化,PostgreSQL 使用
/var/lib/postgresql tmpfs。test-redis.ps1 通过专属 Compose 项目只启动 Redis;
PostgreSQL Adapter 和对应执行脚本完成前,不把数据库契约记为通过。
发布前仍须通过 production-readiness.md 中的一致性、安全、恢复、竞态与容量门禁,
并完成代表性集群容量验证。
Grafana Overview 与 Prometheus 规则只引用代码已注册的低基数指标。它们覆盖 Gateway
请求/Outcome、Controller 容量、Provider、Extraction、Checker 和 Drain;不按 Proxy、IP、
Client、Upstream、Worker、Session 或完整 URL 聚合。go test ./deploy 会解析两类资产并拒绝
不存在的指标与禁止标签,指标改名或新增面板时必须同步更新该契约。