Merge pull request '为 sandbox executor 暴露内网 Runner facade' (#127) from fix/expose-runner-facade-internal into main
yaml / yaml (push) Successful in 26s

This commit was merged in pull request #127.
This commit is contained in:
2026-09-21 09:18:16 +00:00
3 changed files with 6 additions and 5 deletions
+3 -3
View File
@@ -32,9 +32,9 @@ OpenSandbox chart 所有权边界。
`FetchTask`;所有 Ready 实例都可通过 backend metadata 恢复 claim 并服务 facade。 `FetchTask`;所有 Ready 实例都可通过 backend metadata 恢复 claim 并服务 facade。
- executor 镜像使用 digest;Pod 以 UID 2000 运行,SPIRE `ClusterStaticEntry` 同时绑定 - executor 镜像使用 digest;Pod 以 UID 2000 运行,SPIRE `ClusterStaticEntry` 同时绑定
具体 Pod UID 与 `unix:uid:2000`。 具体 Pod UID 与 `unix:uid:2000`。
- facade 只有 ClusterIP,executor 通过 - facade 通过仅内网可路由的 `192.168.10.127:30443` NodePort 提供给 sandbox executor;
`dynamic-runner-controller.dynamic-runner.svc:8443` 访问;双方使用 Workload API 双方使用 Workload API X509-SVID mTLS,并按 SPIFFE ID 而不是 IP/DNS 名验证服务端。
X509-SVID mTLS,不再保留公网 webhook/token endpoint。 该入口不经过公网或 Cloudflare Tunnel。
- controller 的 SPIFFE ID 固定为 - controller 的 SPIFFE ID 固定为
`spiffe://ddupan.top/ns/dynamic-runner/sa/dynamic-runner-controller`。 `spiffe://ddupan.top/ns/dynamic-runner/sa/dynamic-runner-controller`。
- NATS 保留既有最小权限分离:`ci-producer` 仅 publish,`ci-worker` 仅 pull/ACK。 - NATS 保留既有最小权限分离:`ci-producer` 仅 publish,`ci-worker` 仅 pull/ACK。
+1 -1
View File
@@ -63,7 +63,7 @@ spec:
- name: RUNNER_FACADE_LISTEN - name: RUNNER_FACADE_LISTEN
value: :8443 value: :8443
- name: RUNNER_FACADE_URL - name: RUNNER_FACADE_URL
value: https://dynamic-runner-controller.dynamic-runner.svc:8443 value: https://192.168.10.127:30443
- name: RUNNER_FACADE_SPIFFE_ID - name: RUNNER_FACADE_SPIFFE_ID
value: spiffe://ddupan.top/ns/dynamic-runner/sa/dynamic-runner-controller value: spiffe://ddupan.top/ns/dynamic-runner/sa/dynamic-runner-controller
- name: SPIFFE_ENDPOINT_SOCKET - name: SPIFFE_ENDPOINT_SOCKET
+2 -1
View File
@@ -4,10 +4,11 @@ metadata:
name: dynamic-runner-controller name: dynamic-runner-controller
namespace: dynamic-runner namespace: dynamic-runner
spec: spec:
type: ClusterIP type: NodePort
selector: selector:
app.kubernetes.io/name: dynamic-runner-controller app.kubernetes.io/name: dynamic-runner-controller
ports: ports:
- name: facade - name: facade
port: 8443 port: 8443
targetPort: facade targetPort: facade
nodePort: 30443