TazLab K8s Secrets Mapping
The cluster delivers secrets via two mechanisms: Vault Secrets Operator (VSO) (primary, 8 VaultStaticSecret + VaultPKISecret resources under infrastructure/operators/vso/) and legacy External Secrets Operator (ESO) (dormant, a few ExternalSecret resources retained). All secrets originate from HashiCorp Vault (tazlab-secrets-vault). Infisical (tazlab-secrets) has been fully decommissioned.
All secrets stored under secret/data/tazlab-k8s/static/<domain>/<consumer>/<KEY> in Vault KV v2. remoteRef.property: value used for all entries. Secrets are delivered via VSO (VaultStaticSecret) or legacy ESO (ExternalSecret).
| K8s Secret | Namespace | Vault Path (relative to secret/data/) |
|---|---|---|
cloudflare-api-token | cert-manager, cloudflare-ddns | tazlab-k8s/static/infra/cloudflare-ddns/CLOUDFLARE_API_TOKEN |
github-api-token | flux-system | tazlab-k8s/static/infra/github/GITHUB_TOKEN |
mnemosyne-mcp-secrets | tazlab-db | tazlab-k8s/static/apps/mnemosyne-mcp/GEMINI_API_KEY |
dex-google-secrets | dex | tazlab-k8s/static/auth/dex/DEX_GOOGLE_* |
dex-rendered-config | dex | tazlab-k8s/static/auth/dex/DEX_GOOGLE_* |
oauth2-proxy-secrets | auth | tazlab-k8s/static/auth/oauth2-proxy/OAUTH2_* |
s3-backrest-creds | tazlab-db | tazlab-k8s/static/storage/tazlab-db/AWS_* |
grafana-bootstrap-secret | flux-system | tazlab-k8s/static/monitoring/grafana/GRAFANA_DB_PASSWORD |
tailscale-operator-oauth | tailscale | tazlab-k8s/static/infra/tailscale/TAILSCALE_OPERATOR_* |
VaultPKISecret (mTLS Certificates)
Client and server certificates for PostgreSQL mTLS, provisioned by VSO from pki_int/:
| VaultPKISecret | Namespace | Common Name (CN) | Purpose |
|---|---|---|---|
vault-pki-tls | vso-system | *.tazlab.net | Wildcard TLS for ingress (auth, dex) |
db-client-grafana-tls | monitoring | grafana | Grafana → PostgreSQL client cert |
db-client-mnemosyne-tls | tazlab-db | mnemosyne | Mnemosyne → PostgreSQL client cert |
Vault Secrets Operator (VSO)
VSO is the primary delivery mechanism for cluster secrets. The infrastructure/operators/vso/ directory defines:
- 8
VaultStaticSecretresources covering static secrets (API tokens, database credentials, OAuth configs) VaultPKISecretresources for TLS certificates (e.g.,db-client-grafana-tls)VaultAuthresources for per-namespace Kubernetes auth (8 JWT auth roles onpki_int)VaultConnectionpointing to the Vault cluster
The Flux DAG ensures VSO operators deploy before VSO secret resources: infrastructure-operators-vso → infrastructure-vso-secrets → infrastructure-tls. See VSO Contract and Vault Entity for details.
See Also
- Vault: Vault Contract
- Architecture rule: Terraform vs Flux
- Hub: TazLab K8s Hub