proxy-pool/deploy
2026-08-07 16:35:11 +08:00
..
config feat: run compose control plane with mtls 2026-08-07 16:35:11 +08:00
docker build: include checker in deployment image 2026-07-31 22:35:58 +08:00
grafana feat: add proxy pool design and core architecture 2026-07-28 20:10:54 +08:00
haproxy feat: add proxy pool design and core architecture 2026-07-28 20:10:54 +08:00
kubernetes/base fix: account for queued loadgen rate starts 2026-08-07 16:00:09 +08:00
prometheus feat: run compose control plane with mtls 2026-08-07 16:35:11 +08:00
tools/configcheck feat: add ephemeral proxy activity pool 2026-07-29 12:51:18 +08:00
compose_test.go feat: run compose control plane with mtls 2026-08-07 16:35:11 +08:00
docker-compose.test.yml test: isolate postgres integration fixture 2026-07-29 21:53:33 +08:00
docker-compose.yml feat: run compose control plane with mtls 2026-08-07 16:35:11 +08:00
README.md feat: run compose control plane with mtls 2026-08-07 16:35:11 +08:00

部署拓扑模板

本目录描述 Proxy Pool 的部署拓扑,覆盖 Compose、HAProxy、Prometheus、 Grafana 与 Kubernetes。镜像会构建 proxy-controllerproxy-gatewayproxy-checkerController 已装配 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 中的一致性、安全、恢复、竞态与容量门禁, 并完成代表性集群容量验证。