Postgres (Operator and test database)
This page outlines the PostgreSQL resources that are available in the Sandbox for developing codebundles.
The postgres-database namespace contains:
- The Zalando Postgres Operator deployed via the Helm Chart
- A minimal 2 instance postresql instance
Copy
apiVersion: "acid.zalan.do/v1"kind: postgresqlmetadata: name: acid-minimal-clusterspec: teamId: "acid" volume: size: 1Gi numberOfInstances: 2 users: zalando: # database owner - superuser - createdb foo_user: [] # role for application foo databases: foo: zalando # dbname: owner preparedDatabases: bar: {} postgresql: version: "15"The runwhen-authors service account has access to get, list, watch the resources in this namespace, along with:
- Viewing secrets (in order to test database codebundles)
- Pod exec capabilities
Viewing Pods
Copy
# kubectl get pods -n postgres-databaseNAME READY STATUS RESTARTS AGEacid-minimal-cluster-0 1/1 Running 0 13macid-minimal-cluster-1 1/1 Running 0 7m48spostgres-operator-7d446d785-vhb98 1/1 Running 0 36mViewing Secrets
Copy
# kubectl get secret -n postgres-databaseNAME TYPE DATA AGEfoo-user.acid-minimal-cluster.credentials.postgresql.acid.zalan.do Opaque 2 13mpostgres.acid-minimal-cluster.credentials.postgresql.acid.zalan.do Opaque 2 13msh.helm.release.v1.postgres-operator.v1 helm.sh/release.v1 1 36mstandby.acid-minimal-cluster.credentials.postgresql.acid.zalan.do Opaque 2 13mzalando.acid-minimal-cluster.credentials.postgresql.acid.zalan.do Opaque 2 13mExec into the PostgreSQL Pod
Copy
# kubectl exec -it acid-minimal-cluster-0 -n postgres-database -- /bin/bash
____ _ _/ ___| _ __ (_) | ___\___ \| '_ \| | |/ _ \ ___) | |_) | | | (_) ||____/| .__/|_|_|\___/ |_|
This container is managed by runit, when stopping/starting services use sv
Examples:
sv stop cronsv restart patroni
Current status: (sv status /etc/service/*)
run: /etc/service/patroni: (pid 33) 920srun: /etc/service/pgqd: (pid 34) 920sroot@acid-minimal-cluster-0:/home/postgres#