# 部署拓扑模板 本目录描述 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/`。运行前先执行: ```powershell ./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 的固定开发证书。 当前可执行验证: ```powershell 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` 会解析两类资产并拒绝 不存在的指标与禁止标签,指标改名或新增面板时必须同步更新该契约。