kustomization.yaml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # Kustomize entrypoint (task 46).
  2. #
  3. # Validate: `kustomize build deploy/k8s`
  4. # Dry-run against a cluster: `kubectl apply --dry-run=server -k deploy/k8s`
  5. #
  6. # Release pinning: the `images` entry below carries a
  7. # placeholder digest, never a floating tag. The `pin-digest` job in
  8. # `.github/workflows/supply-chain.yml` overwrites `images[].digest` with the
  9. # digest of the signed multi-arch build (`docker buildx bake`) after every
  10. # push to main and re-runs `scripts/check_manifests.py --strict-digest`. The
  11. # per-workload `image:` fields in `deployment.yaml` / `migrate-job.yaml` also
  12. # carry the placeholder; this entry overrides them in `kustomize build`.
  13. # `:latest` is never a shippable reference.
  14. apiVersion: kustomize.config.k8s.io/v1beta1
  15. kind: Kustomization
  16. namespace: d-oauth
  17. resources:
  18. - namespace.yaml
  19. - configmap.yaml
  20. - secret.yaml
  21. - service.yaml
  22. - deployment.yaml
  23. - migrate-job.yaml
  24. - pdb.yaml
  25. - networkpolicy.yaml
  26. images:
  27. - name: ghcr.io/syavne/d-oauth-server
  28. newName: ghcr.io/syavne/d-oauth-server
  29. # Placeholder (all zeroes), not a pullable reference: a rollout without
  30. # the pin step fails closed instead of silently floating on a tag. CI
  31. # replaces this with the released `sha256:<digest>` after signing.
  32. digest: sha256:0000000000000000000000000000000000000000000000000000000000000000
  33. # NOTE: no Ingress resource is shipped on purpose. In-process mTLS
  34. # verification needs L4/TCP passthrough (NLB gateway / TLSRoute); an L7
  35. # ingress that terminates TLS strips the client certificate. Adding an
  36. # Ingress while `D_OAUTH_TLS__CLIENT_CA_PATH` is set fails
  37. # `scripts/check_manifests.py`. See docs/DEPLOYMENT.md. Pod egress and ingress
  38. # are constrained by `networkpolicy.yaml` (default-deny egress except DNS +
  39. # Postgres/Redis scoped to their namespace).