prole/k8s/prole/prole-db.yaml
chrisfu 6b6e5e2aec nodeSelector and storage updates across k8s manifests
- Added `nodeSelector` for multiple Kubernetes resources to ensure scheduling on `myrddin.prole.org`.
- Modified `storage` requests and set `storageClassName` in `garage-statefulset.yaml`.
- Enhanced `install.py` for dynamic environment configuration and kubeconfig handling.
- Improved cgroup management tasks in Ansible with conflict resolution and parameter updates.
- Simplified vault token update process in playbooks and updated encryption checks.
2026-02-06 01:17:54 -08:00

97 lines
2.6 KiB
YAML

apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: prole-db
spec:
instances: 3
imageName: prole-db:17.7-059
postgresUID: 100
postgresGID: 101
maxSyncReplicas: 1
nodeSelector:
kubernetes.io/hostname: myrddin.prole.org
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 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;
enableSuperuserAccess: true
env:
- name: AWS_REGION
value: garage
- name: AWS_DEFAULT_REGION
value: garage
storage:
size: 1Gi
# pvcTemplate:
# accessModes:
# - ReadWriteOnce
# resources:
# requests:
# storage: 1Gi
# storageClassName: synology-nfs-storage
# volumeMode: Filesystem
walStorage:
size: 1Gi
plugins:
- name: barman-cloud.cloudnative-pg.io
isWALArchiver: true
parameters:
barmanObjectName: prole-db-barman-objectstore
monitoring:
enablePodMonitor: false
# 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