Files
rogee 0d29b828bb
Build web service image / build (push) Successful in 48s
feat: harden control-plane deployment
2026-09-12 11:09:42 +08:00

57 lines
1.7 KiB
YAML

services:
control-plane:
image: ${WXAGENT_CONTROL_PLANE_IMAGE:?set image tag}
restart: unless-stopped
read_only: true
user: "65532:65532"
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
tmpfs:
- /tmp:rw,noexec,nosuid,size=16m
ports:
- "${CONTROL_PLANE_BIND:-127.0.0.1:18090}:8090"
volumes:
- control-plane-data:/data
secrets:
- node_tokens
- web_users
- tls_cert
- tls_key
- client_ca
- revoked_client_certificates
environment:
WXAGENT_CONTROL_PLANE_ADDR: 0.0.0.0:8090
WXAGENT_CONTROL_PLANE_DATA: /data/control-plane-data.json
WXAGENT_CONTROL_PLANE_BACKUP_DIR: /data/backups
WXAGENT_CONTROL_PLANE_BACKUP_COUNT: "7"
WXAGENT_CONTROL_PLANE_BACKUP_INTERVAL: 5m
WXAGENT_CONTROL_PLANE_TASK_RETENTION: 720h
WXAGENT_CONTROL_PLANE_EVENT_RETENTION: 720h
WXAGENT_CONTROL_PLANE_AUDIT_RETENTION: 2160h
WXAGENT_CONTROL_PLANE_TLS_CERT_FILE: /run/secrets/tls_cert
WXAGENT_CONTROL_PLANE_TLS_KEY_FILE: /run/secrets/tls_key
WXAGENT_MTLS_CLIENT_CA_FILE: /run/secrets/client_ca
WXAGENT_MTLS_REQUIRE_NODE_CERT: "true"
WXAGENT_MTLS_REVOKED_CERTS_FILE: /run/secrets/revoked_client_certificates
WXAGENT_NODE_TOKENS_FILE: /run/secrets/node_tokens
WXAGENT_WEB_USERS_FILE: /run/secrets/web_users
secrets:
node_tokens:
file: ./secrets/node-tokens.json
web_users:
file: ./secrets/web-users.json
tls_cert:
file: ./secrets/server.crt
tls_key:
file: ./secrets/server.key
client_ca:
file: ./secrets/client-ca.crt
revoked_client_certificates:
file: ./secrets/revoked-client-certificates.txt
volumes:
control-plane-data: