diff --git a/database/main.yml b/database/main.yml new file mode 100644 index 0000000..d324835 --- /dev/null +++ b/database/main.yml @@ -0,0 +1,35 @@ +--- +apiVersion: stackgres.io/v1 +kind: SGPostgresConfig +metadata: + name: database + namespace: mainscnt +spec: + postgresVersion: '15' + postgresql.conf: + shared_preload_libraries: timescaledb + max_worker_processes: '32' + max_parallel_workers: '16' +--- +apiVersion: stackgres.io/v1 +kind: SGCluster +metadata: + name: database + namespace: mainscnt +spec: + instances: 1 + postgres: + version: '15' + extensions: + - name: timescaledb + ssl: + enabled: true + configurations: + sgPostgresConfig: database + pods: + persistentVolume: + size: '1000Gi' + storageClass: nfs-client + disableConnectionPooling: true + + diff --git a/database/restart.yml b/database/restart.yml new file mode 100644 index 0000000..8e4c033 --- /dev/null +++ b/database/restart.yml @@ -0,0 +1,8 @@ +apiVersion: stackgres.io/v1 +kind: SGDbOps +metadata: + name: restart-002 +spec: + sgCluster: database + op: restart + diff --git a/database/setup-database.sh b/database/setup-database.sh new file mode 100755 index 0000000..ed6ade4 --- /dev/null +++ b/database/setup-database.sh @@ -0,0 +1,48 @@ +#!/bin/bash + + +DATABASE=mainscnt +LOGIN=sink +PASSWORD=`openssl rand -base64 24` +SUPERUSER_LOGIN=$(kubectl get secret -n mainscnt database -o jsonpath="{.data.superuser-username}" | base64 --decode) +SUPERUSER_PASSWORD=$(kubectl get secret -n mainscnt database -o jsonpath="{.data.superuser-password}" | base64 --decode) + + +kubectl run psql \ + --stdin=true \ + --tty=true \ + --rm=true \ + --image=postgres:15-alpine \ + -n $NAMESPACE \ + --restart=Never \ + --env="PGPASSWORD=$SUPERUSER_PASSWORD" \ + --env="PGUSER=$SUPERUSER_LOGIN" \ + -- \ + psql -h database.mainscnt.svc.cluster.local <