prole/k8s/prole/prole-db.yaml

87 lines
2.4 KiB
YAML

apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: prole-db
spec:
instances: 3
imageName: prole-db:17.7-037
postgresUID: 100
postgresGID: 101
maxSyncReplicas: 1
postgresql:
parameters:
shared_buffers: 256MB
pg_stat_statements.max: '10000'
pg_stat_statements.track: all
shared_preload_libraries:
- pg_stat_statements
- pg_tde
pg_hba:
# allow password access from remote hosts if environment is "#dev"
- local all postgres trust
- host all postgres all scram-sha-256
- host prole prole-db all scram-sha-256
- host all all all scram-sha-256
- hostssl prole prole-db all scram-sha-256
- host all all all gss include_realm=1 krb_realm=EXAMPLE.COM
bootstrap:
initdb:
database: prole-db
owner: prole
localeCollate: 'en_US.utf8'
localeCType: 'en_US.utf8'
secret:
name: prole-db-user
postInitTemplateSQL:
- CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
postInitSQL:
- CREATE EXTENSION IF NOT EXISTS pg_tde;
- CREATE EXTENSION IF NOT EXISTS pgcrypto;
- GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO prole;
- CREATE EXTENSION IF NOT EXISTS postgis;
- CREATE EXTENSION IF NOT EXISTS postgis_topology;
- CREATE EXTENSION IF NOT EXISTS postgis_tiger_geocoder;
- CREATE EXTENSION IF NOT EXISTS vector;
- CREATE EXTENSION IF NOT EXISTS tds_fdw;
- GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO prole;
- GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA topology TO prole;
- GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA tiger TO prole;
enableSuperuserAccess: true
storage:
size: 1Gi
# pvcTemplate:
# accessModes:
# - ReadWriteOnce
# resources:
# requests:
# storage: 1Gi
# storageClassName: synology-nfs-storage
# volumeMode: Filesystem
walStorage:
size: 1Gi
monitoring:
enablePodMonitor: true
# managed rw service
managed:
services:
additional:
- selectorType: rw
serviceTemplate:
metadata:
name: "prole-db-001"
labels:
test-label: "true"
annotations:
test-annotation: "true"
prometheus.io/scrape: "true"
prometheus.io/port: "9187"
prometheus.io/path: "/metrics"
spec:
type: LoadBalancer