stuff
This commit is contained in:
35
database/main.yml
Normal file
35
database/main.yml
Normal file
@ -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
|
||||
|
||||
|
8
database/restart.yml
Normal file
8
database/restart.yml
Normal file
@ -0,0 +1,8 @@
|
||||
apiVersion: stackgres.io/v1
|
||||
kind: SGDbOps
|
||||
metadata:
|
||||
name: restart-002
|
||||
spec:
|
||||
sgCluster: database
|
||||
op: restart
|
||||
|
48
database/setup-database.sh
Executable file
48
database/setup-database.sh
Executable file
@ -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 <<EOF
|
||||
do
|
||||
\$\$
|
||||
begin
|
||||
if not exists (SELECT * FROM pg_database WHERE datname = '$DATABASE') then
|
||||
CREATE DATABASE $DATABASE;
|
||||
end if;
|
||||
if not exists (SELECT * FROM pg_user WHERE usename = '$LOGIN') then
|
||||
CREATE USER $LOGIN WITH PASSWORD '$PASSWORD';
|
||||
else
|
||||
ALTER USER $LOGIN WITH PASSWORD '$PASSWORD';
|
||||
end if;
|
||||
GRANT ALL PRIVILEGES ON DATABASE $DATABASE TO $LOGIN;
|
||||
end
|
||||
\$\$
|
||||
;
|
||||
commit;
|
||||
EOF
|
||||
|
||||
kubectl create secret generic sinkserver-secret \
|
||||
--dry-run=client \
|
||||
-o yaml \
|
||||
--save-config \
|
||||
--from-literal=dbpass="$PASSWORD" | \
|
||||
kubectl apply -f - -n $NAMESPACE
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user