From 9bc49e562243437832cd164efd9560458637cd06 Mon Sep 17 00:00:00 2001 From: Haitao Pan Date: Wed, 12 Apr 2023 10:43:24 +0800 Subject: [PATCH] roles/postgresq: add post-setup-postgresql.sh --- playbook/jobs/init_keycloak | 1 + playbook/jobs/init_postgresql | 1 + playbook/roles/postgresql/files/post-setup-postgresql.sh | 5 +++++ playbook/roles/postgresql/files/setup-postgresql.sh | 6 ++++-- playbook/roles/postgresql/tasks/main.yml | 8 ++++++-- 5 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 playbook/roles/postgresql/files/post-setup-postgresql.sh diff --git a/playbook/jobs/init_keycloak b/playbook/jobs/init_keycloak index 2b53edc3..1dbc506e 100644 --- a/playbook/jobs/init_keycloak +++ b/playbook/jobs/init_keycloak @@ -11,3 +11,4 @@ namespace: itsm domain: onwalk.net secret: keycloak-tls + db_namespace: database diff --git a/playbook/jobs/init_postgresql b/playbook/jobs/init_postgresql index f380adee..e019a8dd 100644 --- a/playbook/jobs/init_postgresql +++ b/playbook/jobs/init_postgresql @@ -8,3 +8,4 @@ name: postgresql vars: group: master + db_namespace: database diff --git a/playbook/roles/postgresql/files/post-setup-postgresql.sh b/playbook/roles/postgresql/files/post-setup-postgresql.sh new file mode 100644 index 00000000..09a4f3f4 --- /dev/null +++ b/playbook/roles/postgresql/files/post-setup-postgresql.sh @@ -0,0 +1,5 @@ +#!/bin/bash +export namespace=$1 + +export POSTGRES_PASSWORD=$(kubectl get secret --namespace $namespace postgresql -o jsonpath="{.data.postgres-password}" | base64 -d) +kubectl run postgresql-client --rm --tty -i --restart='Never' --namespace $namespace --image docker.io/bitnami/postgresql:15.2.0-debian-11-r11 --env="PGPASSWORD=$POSTGRES_PASSWORD" --command -- psql --host postgresql -U postgres -d postgres -p 5432 -w -c "CREATE DATABASE keycloak;" diff --git a/playbook/roles/postgresql/files/setup-postgresql.sh b/playbook/roles/postgresql/files/setup-postgresql.sh index e3cc3234..92b15d0c 100644 --- a/playbook/roles/postgresql/files/setup-postgresql.sh +++ b/playbook/roles/postgresql/files/setup-postgresql.sh @@ -1,6 +1,8 @@ #!/bin/bash +export namespace=$1 + helm repo add bitnami https://charts.bitnami.com/bitnami || echo true helm repo up -kubectl create ns database || echo true -helm upgrade --install postgresql bitnami/postgresql -n database +kubectl create ns $namespace || echo true +helm upgrade --install postgresql bitnami/postgresql -n $namespace diff --git a/playbook/roles/postgresql/tasks/main.yml b/playbook/roles/postgresql/tasks/main.yml index 45ed79a4..8ff58d10 100755 --- a/playbook/roles/postgresql/tasks/main.yml +++ b/playbook/roles/postgresql/tasks/main.yml @@ -1,3 +1,7 @@ -- name: Setup PostgreSQL Server - script: setup-postgresql.sh +- name: Install PostgreSQL Server + script: files/setup-postgresql.sh {{ db_namespace }} + when: inventory_hostname in groups[group] + +- name: Post Setup PostgreSQL Server + script: files/post-setup-postgresql.sh {{ db_namespace }} when: inventory_hostname in groups[group]