configmap.yaml 1.2 KB

1234567891011121314151617181920212223242526272829
  1. # Non-secret server settings (task 46).
  2. #
  3. # Every key maps to a `D_OAUTH_*` environment variable read by
  4. # `Config::load` (prefix `D_OAUTH`, nested separator `__`). Secret material
  5. # (database/redis URLs, token pepper, TOTP key) lives in `secret.yaml` and
  6. # is NEVER added here.
  7. apiVersion: v1
  8. kind: ConfigMap
  9. metadata:
  10. name: d-oauth-config
  11. namespace: d-oauth
  12. labels:
  13. app.kubernetes.io/name: d-oauth-server
  14. app.kubernetes.io/part-of: d-oauth
  15. data:
  16. D_OAUTH_ISSUER: "https://auth.example.com"
  17. D_OAUTH_ENVIRONMENT: "production"
  18. D_OAUTH_BIND_ADDR: "0.0.0.0:8080"
  19. D_OAUTH_HEALTH_ADDR: "0.0.0.0:8081"
  20. D_OAUTH_TLS__CERT_PATH: "/certs/tls.crt"
  21. D_OAUTH_TLS__KEY_PATH: "/certs/tls.key"
  22. # Client-CA enables in-process mTLS verification. While set, the cluster
  23. # MUST use L4/TCP passthrough (NLB gateway / TLSRoute); an L7 ingress that
  24. # terminates TLS strips the client certificate. See docs/DEPLOYMENT.md and
  25. # scripts/check_manifests.py, which rejects the forbidden pairing.
  26. D_OAUTH_TLS__CLIENT_CA_PATH: "/certs/client-ca.crt"
  27. # Single-Redis topology takes a plain URL; the contract the server asserts
  28. # at startup is noeviction + AOF, configured on the Redis side.
  29. D_OAUTH_REDIS__DURABILITY: "waitaof"