gitops/databases/postgresql
2026-04-03 15:43:06 +08:00
..
helmrelease.yaml refactor(gitops): regroup core services under services 2026-04-02 18:21:18 +08:00
initdb-configmap.yaml refactor(gitops): regroup core services under services 2026-04-02 18:21:18 +08:00
kustomization.yaml fix(gitops): remove platform kustomization and vault secret dependencies 2026-04-03 12:15:53 +08:00
oci-repository.yaml refactor(gitops): regroup core services under services 2026-04-02 18:21:18 +08:00
README.md refactor(gitops): move cluster roots to apps and split db chain 2026-04-03 15:43:06 +08:00
stunnel-client-configmap.yaml fix(gitops): add stunnel client config and clean server config 2026-04-02 19:21:36 +08:00
stunnel-client-deployment.yaml fix(gitops): add stunnel client config and clean server config 2026-04-02 19:21:36 +08:00
stunnel-client-service.yaml fix(gitops): align postgresql stunnel client with compose runtime 2026-04-02 18:44:42 +08:00
stunnel-server-configmap.yaml fix(gitops): add stunnel client config and clean server config 2026-04-02 19:21:36 +08:00
stunnel-server-deployment.yaml refactor(gitops): move cluster roots to apps and split db chain 2026-04-03 15:43:06 +08:00
stunnel-server-service.yaml refactor(gitops): split postgresql stunnel server 2026-04-02 18:30:50 +08:00
values.yaml fix(gitops): align postgresql auth key and tag 2026-04-02 19:29:45 +08:00

PostgreSQL GitOps Bootstrap

This stack uses ExternalSecrets to materialize runtime credentials from Vault. The GitOps manifests intentionally do not store secret values.

Vault paths expected by this stack

  • postgresql.svc.plus
    • POSTGRES_USER
    • POSTGRES_PASSWORD
    • GHCR_USERNAME
    • GHCR_TOKEN

Bootstrap rule

Before or during initial reconciliation, the Vault key postgresql.svc.plus must be seeded with the runtime credentials expected by the manifests in this directory. Otherwise the ExternalSecrets controller will report Secret does not exist.

Helper

Use scripts/seed-vault-postgresql.sh from a trusted admin shell to write the expected Vault keys from local environment variables or existing K8s Secrets. The shared TLS Secret for postgresql-vultr.svc.plus is synchronized by the k3s-platform Helm chart into database/postgresql-vultr-tls, which stunnel-server consumes directly. Do not commit the secret values to Git.