50 lines
792 B
Bash
50 lines
792 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
. ../../ENVDB
|
||
|
|
||
|
DATABASE=zabbix
|
||
|
LOGIN=zabbix
|
||
|
PASSWORD=`openssl rand -base64 24`
|
||
|
NAMESPACE=$(cat namespace)
|
||
|
|
||
|
ARG1=$1
|
||
|
|
||
|
if [ "$ARG1" = "initial" ]; then
|
||
|
psql <<EOF
|
||
|
do
|
||
|
\$\$
|
||
|
begin
|
||
|
CREATE USER $LOGIN;
|
||
|
COMMIT;
|
||
|
CREATE DATABASE $DATABASE WITH OWNER $LOGIN;
|
||
|
end
|
||
|
\$\$
|
||
|
;
|
||
|
commit;
|
||
|
EOF
|
||
|
fi
|
||
|
|
||
|
psql <<EOF
|
||
|
do
|
||
|
\$\$
|
||
|
begin
|
||
|
ALTER USER $LOGIN WITH PASSWORD '$PASSWORD';
|
||
|
GRANT ALL PRIVILEGES ON DATABASE $DATABASE TO $LOGIN;
|
||
|
end
|
||
|
\$\$
|
||
|
;
|
||
|
commit;
|
||
|
EOF
|
||
|
|
||
|
kubectl create secret generic database-cred \
|
||
|
--dry-run=client \
|
||
|
-o yaml \
|
||
|
--save-config \
|
||
|
--from-literal=POSTGRES_USER="$LOGIN" \
|
||
|
--from-literal=POSTGRES_PASSWORD="$PASSWORD" | \
|
||
|
--from-literal=POSTGRES_DB="$DATABASE" | \
|
||
|
--from-literal=DB_SERVER_HOST="timescaledb.database.svc.cluster.local" | \
|
||
|
kubectl apply -f - -n $NAMESPACE
|
||
|
|
||
|
|