ci: build linux application image
Some checks failed
ci / openapi (push) Has been cancelled
ci / proto (push) Has been cancelled
ci / image (push) Has been cancelled
ci / deployment (push) Has been cancelled
ci / test (ubuntu-latest) (push) Has been cancelled
ci / test (windows-latest) (push) Has been cancelled
ci / race (push) Has been cancelled
ci / integration (push) Has been cancelled
Some checks failed
ci / openapi (push) Has been cancelled
ci / proto (push) Has been cancelled
ci / image (push) Has been cancelled
ci / deployment (push) Has been cancelled
ci / test (ubuntu-latest) (push) Has been cancelled
ci / test (windows-latest) (push) Has been cancelled
ci / race (push) Has been cancelled
ci / integration (push) Has been cancelled
This commit is contained in:
parent
4f0245a7ec
commit
d6ac783c1d
7
.github/workflows/ci.yml
vendored
7
.github/workflows/ci.yml
vendored
@ -29,6 +29,13 @@ jobs:
|
||||
- shell: pwsh
|
||||
run: ./scripts/verify-proto.ps1
|
||||
|
||||
image:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Build Linux application image
|
||||
run: docker build --file deploy/docker/Dockerfile --tag proxy-pool:ci .
|
||||
|
||||
deployment:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
|
||||
@ -22,7 +22,7 @@ func TestCIValidatesProtocolAndDeploymentAssets(t *testing.T) {
|
||||
if !ok {
|
||||
t.Fatal("ci workflow has no jobs")
|
||||
}
|
||||
for _, name := range []string{"openapi", "proto", "deployment", "test", "race", "integration"} {
|
||||
for _, name := range []string{"openapi", "proto", "image", "deployment", "test", "race", "integration"} {
|
||||
if _, exists := jobs[name]; !exists {
|
||||
t.Errorf("ci workflow has no %s job", name)
|
||||
}
|
||||
@ -30,6 +30,7 @@ func TestCIValidatesProtocolAndDeploymentAssets(t *testing.T) {
|
||||
for _, required := range []string{
|
||||
"./scripts/verify-openapi.ps1",
|
||||
"./scripts/verify-proto.ps1",
|
||||
"docker build --file deploy/docker/Dockerfile --tag proxy-pool:ci .",
|
||||
"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",
|
||||
|
||||
@ -377,6 +377,8 @@ Gateway 热路径。`platform/logging` 以 JSON `slog` 输出进程级致命错
|
||||
CI 另有独立 Deployment job,在占位凭据下渲染 Compose,并使用 `kubectl kustomize`
|
||||
渲染 Kubernetes base 和单副本 development mTLS Overlay;该 job 同时展开测试 Compose、
|
||||
校验本地 Compose 配置。它不启动容器、不访问真实存储或密钥。
|
||||
独立 Image job 会构建 Linux 多阶段应用镜像,覆盖 Dockerfile、Linux 交叉编译与运行时层;
|
||||
容器服务编排和业务运行链路仍需在具备镜像网络的环境中验证。
|
||||
development Overlay 已挂载独立 Controller/Gateway/Checker TLS Secret、启用 Checker 和最小
|
||||
网络策略,并从固定开发证书派生 `gateway-a`、`checker-a` 身份且 HPA 锁为单副本,不能代替生产证书轮换。
|
||||
控制面 TLS 叶证书和信任根已在每次新握手时从文件加载,短暂文件不一致时保留最后一次有效材料;
|
||||
|
||||
@ -114,6 +114,9 @@ SPIFFE URI 解析器:X.509-SVID 叶证书必须且只能包含一个 URI SAN
|
||||
生产环境仍必须通过独立 Overlay 为每个弹性 Worker 注入唯一 SPIFFE URI,且容器端到端
|
||||
启动仍待具备镜像网络的环境验证。
|
||||
|
||||
GitHub Actions 另行执行 Dockerfile 的 Linux 多阶段镜像构建;该门禁证明镜像可以构建,
|
||||
不替代 Controller/Gateway/Checker 与真实 Redis/PostgreSQL 的容器运行验证。
|
||||
|
||||
运维手册已覆盖管理面/活动池恢复顺序、发布与兼容回滚、Secret 轮换、容量计算,以及
|
||||
主机内核、文件描述符、NAT/conntrack 的只读基线和证据采集要求;这些文档不替代真实环境
|
||||
的备份恢复、驱逐或容量演练。
|
||||
|
||||
@ -286,3 +286,9 @@ Routing 自上而下匹配,首条命中停止;支持 Gateway 与 Extract 两
|
||||
- development mTLS Overlay 的 ConfigMap 采用 Kustomize 内容哈希,渲染契约要求三个工作负载
|
||||
都引用同一版本化名称,因此配置变更进入 Pod 模板并触发滚动。外部固定名称 Secret 不含内容哈希,
|
||||
它们的轮换需要平台侧 reloader 或受控显式滚动;这一限制已写入运行手册。
|
||||
|
||||
## Linux 镜像构建审计(2026-08-07)
|
||||
|
||||
- GitHub Actions 现在在 Linux Runner 执行 Dockerfile 多阶段构建,覆盖目标平台 Go 编译和最小
|
||||
运行时层。该 job 依赖 Runner 镜像网络;它不启动 Compose 服务,因此不能作为 mTLS、存储、
|
||||
探针或优雅停机端到端证据。
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
|
||||
## 2026-08-07
|
||||
|
||||
- GitHub Actions 新增 Linux Dockerfile 镜像构建 job,覆盖多阶段交叉编译和运行时镜像层;
|
||||
本机不具备基础镜像网络,因此未将其替代为本地 Compose 运行验证。
|
||||
- 已校正 `proxy-loadgen` 架构文档:HTTP、CONNECT 长连接和 Extract 都已实现;仅故障注入、
|
||||
进程级资源采样和代表性集群报告仍未完成。
|
||||
- Kubernetes 开发 mTLS Overlay 恢复 ConfigMap 内容哈希:配置更新会重写 Controller、Gateway
|
||||
|
||||
Loading…
Reference in New Issue
Block a user