ci: validate local deployment configuration
This commit is contained in:
parent
5c3c893c71
commit
51158007b4
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@ -49,6 +49,10 @@ jobs:
|
||||
cache: true
|
||||
- name: Render Compose configuration
|
||||
run: docker compose -f deploy/docker-compose.yml config --quiet
|
||||
- name: Render integration Compose configuration
|
||||
run: docker compose -f deploy/docker-compose.test.yml config --quiet
|
||||
- name: Validate local Compose configuration
|
||||
run: go run ./deploy/tools/configcheck deploy/config/local.yaml
|
||||
- name: Render Kubernetes base
|
||||
run: kubectl kustomize deploy/kubernetes/base > /dev/null
|
||||
- name: Render Kubernetes development mTLS overlay
|
||||
|
||||
@ -31,6 +31,8 @@ func TestCIValidatesProtocolAndDeploymentAssets(t *testing.T) {
|
||||
"./scripts/verify-openapi.ps1",
|
||||
"./scripts/verify-proto.ps1",
|
||||
"docker compose -f deploy/docker-compose.yml config --quiet",
|
||||
"docker compose -f deploy/docker-compose.test.yml config --quiet",
|
||||
"go run ./deploy/tools/configcheck deploy/config/local.yaml",
|
||||
"kubectl kustomize deploy/kubernetes/base",
|
||||
"kubectl kustomize deploy/kubernetes/overlays/development-mtls",
|
||||
"go run ./deploy/tools/configcheck deploy/kubernetes/overlays/development-mtls/config.yaml",
|
||||
|
||||
@ -375,7 +375,8 @@ OpenAPI 结构契约由 Go 测试在双平台 CI 执行;`scripts/verify-openap
|
||||
Gateway 热路径。`platform/logging` 以 JSON `slog` 输出进程级致命错误,字段、URL
|
||||
用户信息、查询 Secret 和错误对象均经过脱敏,且不在请求热路径逐条写日志。
|
||||
CI 另有独立 Deployment job,在占位凭据下渲染 Compose,并使用 `kubectl kustomize`
|
||||
渲染 Kubernetes base 和单副本 development mTLS Overlay;它不启动容器、不访问真实存储或密钥。
|
||||
渲染 Kubernetes base 和单副本 development mTLS Overlay;该 job 同时展开测试 Compose、
|
||||
校验本地 Compose 配置。它不启动容器、不访问真实存储或密钥。
|
||||
development Overlay 已挂载独立 Controller/Gateway/Checker TLS Secret、启用 Checker 和最小
|
||||
网络策略,并从固定开发证书派生 `gateway-a`、`checker-a` 身份且 HPA 锁为单副本,不能代替生产证书轮换。
|
||||
控制面 TLS 叶证书和信任根已在每次新握手时从文件加载,短暂文件不一致时保留最后一次有效材料;
|
||||
|
||||
@ -274,3 +274,9 @@ Routing 自上而下匹配,首条命中停止;支持 Gateway 与 Extract 两
|
||||
- Dockerfile 构建阶段需要 `COPY . .`,因此根 `.dockerignore` 是隔离本地工作区与镜像上下文的
|
||||
必要边界。它显式排除 Git 元数据、环境文件、本地配置、控制面证书/私钥、PEM/CRT/KEY 文件及
|
||||
构建和测试产物;部署测试会在清单被删除或放宽时失败。
|
||||
|
||||
## 部署静态门禁审计(2026-08-07)
|
||||
|
||||
- GitHub Actions 的 Deployment job 在同一组无敏感值 fixture 下渲染生产 Compose、测试 Compose
|
||||
以及 Kubernetes base/development mTLS Overlay,并对两份配置运行严格校验;它仍不替代
|
||||
需要镜像网络和真实服务的容器端到端测试。
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
|
||||
## 2026-08-07
|
||||
|
||||
- GitHub Actions Deployment job 现同时静态展开生产与测试 Compose,并对本地 Compose 配置和
|
||||
开发 mTLS 配置执行严格校验,避免仅检查 Kubernetes 覆盖层。
|
||||
- Docker 构建上下文现由根 `.dockerignore` 保护:本地控制面证书/私钥、环境文件、凭据文件、
|
||||
Git 元数据和构建产物不会被 `COPY . .` 发送到镜像构建器;部署测试固定该清单。
|
||||
- OpenAPI 标准验证已固定为 `@redocly/cli@2.25.4`:`verify-openapi.ps1` 对两份 OpenAPI
|
||||
|
||||
Loading…
Reference in New Issue
Block a user