From d3a0a3412c876ef18a5cb43b541dc1b829198cab Mon Sep 17 00:00:00 2001 From: jorlila <64639359+AcquaDiGiorgio@users.noreply.github.com> Date: Mon, 9 Sep 2024 12:50:09 +0200 Subject: [PATCH 01/12] feat: postgres chart uploaded --- diracx/Chart.lock | 3 +++ diracx/Chart.yaml | 5 +++++ diracx/charts/postgresql-15.5.27.tgz | Bin 0 -> 75773 bytes 3 files changed, 8 insertions(+) create mode 100644 diracx/charts/postgresql-15.5.27.tgz diff --git a/diracx/Chart.lock b/diracx/Chart.lock index 1ac4e05..8dfdc65 100644 --- a/diracx/Chart.lock +++ b/diracx/Chart.lock @@ -17,6 +17,9 @@ dependencies: - name: mysql repository: https://charts.bitnami.com/bitnami/ version: 9.11.0 +- name: postgresql + repository: https://charts.bitnami.com/bitnami/ + version: 15.5.27 - name: cert-manager repository: https://charts.jetstack.io version: v1.13.1 diff --git a/diracx/Chart.yaml b/diracx/Chart.yaml index e7d108b..0f63131 100644 --- a/diracx/Chart.yaml +++ b/diracx/Chart.yaml @@ -52,6 +52,11 @@ dependencies: repository: https://charts.bitnami.com/bitnami/ condition: mysql.enabled +- name: postgresqlsql + version: 15.5.27 + repository: https://charts.bitnami.com/bitnami/ + condition: postgresql.enabled + - name: cert-manager version: 1.13.1 diff --git a/diracx/charts/postgresql-15.5.27.tgz b/diracx/charts/postgresql-15.5.27.tgz new file mode 100644 index 0000000000000000000000000000000000000000..8f5bfc779d265812be0bb16bfe5f938d5ee5d088 GIT binary patch literal 75773 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 ZhwI^bxc<=fTL1t6|NjpdEoA_v2mph`k>CIT literal 0 HcmV?d00001 From fb305af0bd5d41cbaeff257e6c74e88fb74e43f4 Mon Sep 17 00:00:00 2001 From: jorlila <64639359+AcquaDiGiorgio@users.noreply.github.com> Date: Mon, 9 Sep 2024 15:09:08 +0200 Subject: [PATCH 02/12] fix: spelling error --- diracx/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/diracx/Chart.yaml b/diracx/Chart.yaml index 0f63131..8c01cce 100644 --- a/diracx/Chart.yaml +++ b/diracx/Chart.yaml @@ -52,7 +52,7 @@ dependencies: repository: https://charts.bitnami.com/bitnami/ condition: mysql.enabled -- name: postgresqlsql +- name: postgresql version: 15.5.27 repository: https://charts.bitnami.com/bitnami/ condition: postgresql.enabled From c48f8b33fef74f5c2d9404f21778946cd0c0968b Mon Sep 17 00:00:00 2001 From: jorlila <64639359+AcquaDiGiorgio@users.noreply.github.com> Date: Tue, 10 Sep 2024 16:17:39 +0200 Subject: [PATCH 03/12] feat: PostgreSQL chart initialization MUST fix: PostgreSQL AsyncPgEnum error on diracx project during the execution of init-db at main of diracx.db --- diracx/templates/diracx/deployment.yaml | 5 + .../diracx/diracx-postgresql-init-dbs.yaml | 25 +++ .../diracx/init-secrets/_init-secrets.sh.tpl | 159 ++++++++++++------ diracx/templates/diracx/init-sql/job.yaml | 9 +- diracx/values.yaml | 19 ++- 5 files changed, 160 insertions(+), 57 deletions(-) create mode 100644 diracx/templates/diracx/diracx-postgresql-init-dbs.yaml diff --git a/diracx/templates/diracx/deployment.yaml b/diracx/templates/diracx/deployment.yaml index c239373..d884589 100644 --- a/diracx/templates/diracx/deployment.yaml +++ b/diracx/templates/diracx/deployment.yaml @@ -90,6 +90,11 @@ spec: image: busybox:latest imagePullPolicy: IfNotPresent command: ['sh', '-c', 'until nc -vz {{ .Release.Name }}-mysql 3306; do echo "Waiting for mysql..."; sleep 3; done;'] + {{- else if .Values.postgresql.enabled }} + - name: wait-for-postgresql + image: busybox:latest + imagePullPolicy: IfNotPresent + command: ['sh', '-c', 'until nc -vz {{ .Release.Name }}-postgresql 5432; do echo "Waiting for postgresql..."; sleep 3; done;'] {{- end }} {{- if .Values.opensearch.enabled }} - name: wait-for-opensearch diff --git a/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml b/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml new file mode 100644 index 0000000..1ebc605 --- /dev/null +++ b/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml @@ -0,0 +1,25 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: postgresql-init-diracx-dbs +data: + # Create the databases for DiracX and grant privileges + init-diracx-dbs.sql: | +{{- range $dbName, $dbSettings := .Values.diracx.sqlDbs.dbs }} + SELECT 'CREATE DATABASE "{{ $dbName }}"' + WHERE NOT EXISTS ( + SELECT FROM pg_database + WHERE datname = '{{ $dbName }}' + );\gexec + + REVOKE CONNECT ON DATABASE your_database FROM PUBLIC; + + GRANT CONNECT, TEMPORARY + ON DATABASE "{{ $dbName }}" + TO "{{ $.Values.postgresql.auth.username }}"; + + ALTER DEFAULT PRIVILEGES + FOR USER "{{ $.Values.postgresql.auth.username }}" + IN SCHEMA public + GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO "{{ $.Values.postgresql.auth.username }}"; +{{- end }} \ No newline at end of file diff --git a/diracx/templates/diracx/init-secrets/_init-secrets.sh.tpl b/diracx/templates/diracx/init-secrets/_init-secrets.sh.tpl index f11f4b4..9167752 100644 --- a/diracx/templates/diracx/init-secrets/_init-secrets.sh.tpl +++ b/diracx/templates/diracx/init-secrets/_init-secrets.sh.tpl @@ -5,6 +5,7 @@ IFS=$'\n\t' namespace={{ .Release.Namespace }} release={{ .Release.Name }} +connStart="" pushd $(mktemp -d) @@ -48,6 +49,23 @@ function generate_secret_if_needed(){ fi } +# Args database_instance +function set_sql_connection_driver(){ + case $1 in + "MySQL") + connStart="mysql+aiomysql" + ;; + "PostgreSQL") + connStart="postgresql+asyncpg" + ;; + *) + # Throw some kind of error + echo "SQL Database \"" $1 "\" unknown" 1>&2 + exit 1 + ;; + esac +} + # Generate the token signing key ssh-keygen -P '' -trsa -b4096 -mPEM -f"$PWD/rsa256.key" generate_secret_if_needed diracx-token-signing-key --from-file "$PWD/rsa256.key" @@ -61,70 +79,103 @@ generate_secret_if_needed {{ .Values.rabbitmq.auth.existingPasswordSecret }} --f generate_secret_if_needed {{ .Values.rabbitmq.auth.existingErlangSecret }} --from-literal=rabbitmq-erlang-cookie=$(gen_random 'a-zA-Z0-9' 32) {{- end }} +{{- $externalDB := false }} + # If we deploy MySQL ourselves {{- if .Values.mysql.enabled }} -# Make sure that there are no default connection settings -{{ if .Values.diracx.sqlDbs.default }} -{{ fail "There should be no default connection settings if running mysql from this Chart" }} -{{ end }} - -# Generate the secrets for mysql -generate_secret_if_needed {{ .Values.mysql.auth.existingSecret }} --from-literal=mysql-root-password=$(gen_random 'a-zA-Z0-9' 32) -generate_secret_if_needed {{ .Values.mysql.auth.existingSecret }} --from-literal=mysql-replication-password=$(gen_random 'a-zA-Z0-9' 32) -generate_secret_if_needed {{ .Values.mysql.auth.existingSecret }} --from-literal=mysql-password=$(gen_random 'a-zA-Z0-9' 32) - -# Make secrets for the sqlalchemy connection urls -mysql_password=$(kubectl get secret {{ .Values.mysql.auth.existingSecret }} -ojsonpath="{.data.mysql-password}" | base64 -d) -mysql_root_password=$(kubectl get secret {{ .Values.mysql.auth.existingSecret }} -ojsonpath="{.data.mysql-root-password}" | base64 -d) - -{{- range $dbName,$dbSettings := .Values.diracx.sqlDbs.dbs }} - - -# Make sure there are no connection settings -{{ if $dbSettings }} -{{ fail "There should be no connection settings if running mysql from this Chart" }} -{{ end }} - -generate_secret_if_needed diracx-sql-connection-urls \ - --from-literal=DIRACX_DB_URL_{{ $dbName | upper }}="mysql+aiomysql://{{ $.Values.mysql.auth.username }}:${mysql_password}@{{ $.Release.Name }}-mysql:3306/{{ $dbName }}" -generate_secret_if_needed diracx-sql-root-connection-urls \ - --from-literal=DIRACX_DB_URL_{{ $dbName | upper }}="mysql+aiomysql://root:${mysql_root_password}@{{ $.Release.Name }}-mysql:3306/{{ $dbName }}" -{{- end }} - -# If we use an external MySQL instance + # Make sure that there are no default connection settings + {{ if .Values.diracx.sqlDbs.default }} + {{ fail "There should be no default connection settings if running mysql from this Chart" }} + {{ end }} + + # Get the start of the connection string of MySQL (db+driver) + set_sql_connection_driver "MySQL" + + # Generate the secrets for MySQL + generate_secret_if_needed {{ .Values.mysql.auth.existingSecret }} --from-literal=mysql-root-password='password12345' #$(gen_random 'a-zA-Z0-9' 32) + generate_secret_if_needed {{ .Values.mysql.auth.existingSecret }} --from-literal=mysql-replication-password='password12345' #$(gen_random 'a-zA-Z0-9' 32) + generate_secret_if_needed {{ .Values.mysql.auth.existingSecret }} --from-literal=mysql-password='password12345' #$(gen_random 'a-zA-Z0-9' 32) + + # Set the values for the sqlalchemy connection urls + user={{ $.Values.mysql.auth.username }} + root_user="root" + password=$(kubectl get secret {{ .Values.mysql.auth.existingSecret }} -ojsonpath="{.data.mysql-password}" | base64 -d) + root_password=$(kubectl get secret {{ .Values.mysql.auth.existingSecret }} -ojsonpath="{.data.mysql-root-password}" | base64 -d) + host={{ $.Release.Name }}-mysql:3306 + +# If we deploy PostgreSQL ourselves +{{- else if .Values.postgresql.enabled }} + + # Make sure that there are no default connection settings + {{ if .Values.diracx.sqlDbs.default }} + {{ fail "There should be no default connection settings if running PostgreSQL from this Chart" }} + {{ end }} + + # Get the start of the connection string of PostgreSQL (db+driver) + set_sql_connection_driver "PostgreSQL" + + # Generate the secrets for PostgreSQL + generate_secret_if_needed {{ .Values.postgresql.auth.existingSecret }} --from-literal=postgres-password='password12345' # $(gen_random 'a-zA-Z0-9' 32) + #generate_secret_if_needed {{ .Values.postgresql.auth.existingSecret }} --from-literal=postgresql-replication-password=$(gen_random 'a-zA-Z0-9' 32) + generate_secret_if_needed {{ .Values.postgresql.auth.existingSecret }} --from-literal=password='password12345' # $(gen_random 'a-zA-Z0-9' 32) + + # Set the values for the sqlalchemy connection urls + user={{ $.Values.postgresql.auth.username }} + root_user="postgres" + password=$(kubectl get secret {{ .Values.postgresql.auth.existingSecret }} -ojsonpath="{.data.password}" | base64 -d) + root_password=$(kubectl get secret {{ .Values.postgresql.auth.existingSecret }} -ojsonpath="{.data.postgres-password}" | base64 -d) + host={{ $.Release.Name }}-postgresql:5432 + +# If we use an external DB {{- else }} + {{- $externalDB = true }} -{{- $default_db_host := $.Values.diracx.sqlDbs.default.host }} -{{- $default_db_root_user := $.Values.diracx.sqlDbs.default.rootUser }} -{{- $default_db_root_password := $.Values.diracx.sqlDbs.default.rootPassword }} -{{- $default_db_user := $.Values.diracx.sqlDbs.default.user }} -{{- $default_db_password := $.Values.diracx.sqlDbs.default.password }} + set_sql_connection_driver {{ .Values.diracx.sqlDbs.default.type }} -{{- range $dbName, $db_settings := .Values.diracx.sqlDbs.dbs }} + # Set the default values + user={{ $.Values.diracx.sqlDbs.default.user }} + root_user={{ $.Values.diracx.sqlDbs.default.rootUser }} + password={{ $.Values.diracx.sqlDbs.default.password }} + root_password={{ $.Values.diracx.sqlDbs.default.rootPassword }} + host={{ $.Values.diracx.sqlDbs.default.host }} - -{{- if kindIs "map" $db_settings }} -{{- $db_host := $db_settings.host | default $default_db_host }} -{{- $db_root_user := $db_settings.rootUser | default $default_db_root_user }} -{{- $db_root_password := $db_settings.rootPassword | default $default_db_root_password }} -{{- $db_user := $db_settings.user | default $default_db_user }} -{{- $db_password := $db_settings.password | default $default_db_password }} -{{- $db_internal_name := $db_settings.internalName | default $dbName }} - -generate_secret_if_needed diracx-sql-connection-urls \ - --from-literal=DIRACX_DB_URL_{{ $dbName | upper }}="mysql+aiomysql://{{ $db_user }}:{{ $db_password }}@{{ $db_host }}/{{ $db_internal_name }}" -generate_secret_if_needed diracx-sql-root-connection-urls \ - --from-literal=DIRACX_DB_URL_{{ $dbName | upper }}="mysql+aiomysql://{{ $db_root_user }}:{{ $db_root_password }}@{{ $db_host }}/{{ $db_internal_name }}" -{{- else }} -generate_secret_if_needed diracx-sql-connection-urls \ - --from-literal=DIRACX_DB_URL_{{ $dbName | upper }}="mysql+aiomysql://{{ $default_db_user }}:{{ $default_db_password }}@{{ $default_db_host }}/{{ $dbName }}" -generate_secret_if_needed diracx-sql-root-connection-urls \ - --from-literal=DIRACX_DB_URL_{{ $dbName | upper }}="mysql+aiomysql://{{ $default_db_root_user }}:{{ $default_db_root_password }}@{{ $default_db_host }}/{{ $dbName }}" {{- end }} -{{- end }} +# Configure the Connections +{{- range $dbName, $dbSettings := .Values.diracx.sqlDbs.dbs }} + # If is not an external db and has settings + {{ if and (not $externalDB) $dbSettings }} + {{ fail "There should be no connection settings if running a local database from this Chart" }} + {{ end }} + + db_connStart=$connStart # Configurable at database level? + + {{- if kindIs "map" $dbSettings }} + db_user={{ $dbSettings.user | default $.Values.diracx.sqlDbs.default.user }} + db_root_user={{ $dbSettings.rootUser | default $.Values.diracx.sqlDbs.default.rootUser }} + db_password={{ $dbSettings.password | default $.Values.diracx.sqlDbs.default.password }} + db_root_password={{ $dbSettings.rootPassword | default $.Values.diracx.sqlDbs.default.rootPassword }} + db_host={{ $dbSettings.host | default $.Values.diracx.sqlDbs.default.host }} + db_name={{ $dbSettings.internalName | default $dbName }} + {{- else }} + db_user=$user + db_root_user=$root_user + db_password=$password + db_root_password=$root_password + db_host=$host + db_name={{ $dbName }} + {{- end }} + + # User connection string + generate_secret_if_needed diracx-sql-connection-urls \ + --from-literal=DIRACX_DB_URL_{{ $dbName | upper }}="${db_connStart}://${db_user}:${db_password}@${db_host}/${db_name}" + + # Root connection string + generate_secret_if_needed diracx-sql-root-connection-urls \ + --from-literal=DIRACX_DB_URL_{{ $dbName | upper }}="${db_connStart}://${db_root_user}:${db_root_password}@${db_host}/${db_name}" + {{- end }} diff --git a/diracx/templates/diracx/init-sql/job.yaml b/diracx/templates/diracx/init-sql/job.yaml index 3dd7eb5..37ef21f 100644 --- a/diracx/templates/diracx/init-sql/job.yaml +++ b/diracx/templates/diracx/init-sql/job.yaml @@ -36,13 +36,18 @@ spec: {{- end }} spec: restartPolicy: Never - {{- if .Values.mysql.enabled }} initContainers: + {{- if .Values.mysql.enabled }} - name: wait-for-mysql image: busybox:latest imagePullPolicy: IfNotPresent command: ['sh', '-c', 'until nc -vz {{ .Release.Name }}-mysql 3306; do echo "Waiting for mysql..."; sleep 3; done;'] - {{ end }} + {{- else if .Values.postgresql.enabled }} + - name: wait-for-postgresql + image: busybox:latest + imagePullPolicy: IfNotPresent + command: ['sh', '-c', 'until nc -vz {{ .Release.Name }}-postgresql 5432; do echo "Waiting for postgresql..."; sleep 3; done;'] + {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.global.images.services }}:{{ .Values.global.images.tag | default .Chart.AppVersion }}" diff --git a/diracx/values.yaml b/diracx/values.yaml index 3f7cdff..509414f 100644 --- a/diracx/values.yaml +++ b/diracx/values.yaml @@ -341,8 +341,10 @@ indigoiam: ########################## +# ONLY ONE CAN BE ENABLED + mysql: - enabled: true + enabled: false auth: existingSecret: mysql-secret username: sqldiracx @@ -361,6 +363,21 @@ mysql: # failureThreshold: 30 # successThreshold: 1 +# postgresPassword +# username: "" +# password: "" +postgresql: + enabled: true + auth: + existingSecret: postgresql-secret + username: sqldiracx + createDatabase: false + + primary: + initdb: + scriptsConfigMap: postgresql-init-diracx-dbs + + ########################## rabbitmq: From 8f5c6cb4ca74ec11e086195bca6c057d0b3d0a20 Mon Sep 17 00:00:00 2001 From: Jorge Lisa <64639359+AcquaDiGiorgio@users.noreply.github.com> Date: Mon, 16 Sep 2024 17:09:55 +0200 Subject: [PATCH 04/12] fix: removed debug password values --- .../diracx/init-secrets/_init-secrets.sh.tpl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/diracx/templates/diracx/init-secrets/_init-secrets.sh.tpl b/diracx/templates/diracx/init-secrets/_init-secrets.sh.tpl index 9167752..bfcf5cb 100644 --- a/diracx/templates/diracx/init-secrets/_init-secrets.sh.tpl +++ b/diracx/templates/diracx/init-secrets/_init-secrets.sh.tpl @@ -93,9 +93,9 @@ generate_secret_if_needed {{ .Values.rabbitmq.auth.existingErlangSecret }} --fro set_sql_connection_driver "MySQL" # Generate the secrets for MySQL - generate_secret_if_needed {{ .Values.mysql.auth.existingSecret }} --from-literal=mysql-root-password='password12345' #$(gen_random 'a-zA-Z0-9' 32) - generate_secret_if_needed {{ .Values.mysql.auth.existingSecret }} --from-literal=mysql-replication-password='password12345' #$(gen_random 'a-zA-Z0-9' 32) - generate_secret_if_needed {{ .Values.mysql.auth.existingSecret }} --from-literal=mysql-password='password12345' #$(gen_random 'a-zA-Z0-9' 32) + generate_secret_if_needed {{ .Values.mysql.auth.existingSecret }} --from-literal=mysql-root-password=$(gen_random 'a-zA-Z0-9' 32) + generate_secret_if_needed {{ .Values.mysql.auth.existingSecret }} --from-literal=mysql-replication-password=$(gen_random 'a-zA-Z0-9' 32) + generate_secret_if_needed {{ .Values.mysql.auth.existingSecret }} --from-literal=mysql-password=$(gen_random 'a-zA-Z0-9' 32) # Set the values for the sqlalchemy connection urls user={{ $.Values.mysql.auth.username }} @@ -116,9 +116,9 @@ generate_secret_if_needed {{ .Values.rabbitmq.auth.existingErlangSecret }} --fro set_sql_connection_driver "PostgreSQL" # Generate the secrets for PostgreSQL - generate_secret_if_needed {{ .Values.postgresql.auth.existingSecret }} --from-literal=postgres-password='password12345' # $(gen_random 'a-zA-Z0-9' 32) + generate_secret_if_needed {{ .Values.postgresql.auth.existingSecret }} --from-literal=postgres-password=$(gen_random 'a-zA-Z0-9' 32) #generate_secret_if_needed {{ .Values.postgresql.auth.existingSecret }} --from-literal=postgresql-replication-password=$(gen_random 'a-zA-Z0-9' 32) - generate_secret_if_needed {{ .Values.postgresql.auth.existingSecret }} --from-literal=password='password12345' # $(gen_random 'a-zA-Z0-9' 32) + generate_secret_if_needed {{ .Values.postgresql.auth.existingSecret }} --from-literal=password=$(gen_random 'a-zA-Z0-9' 32) # Set the values for the sqlalchemy connection urls user={{ $.Values.postgresql.auth.username }} @@ -127,7 +127,7 @@ generate_secret_if_needed {{ .Values.rabbitmq.auth.existingErlangSecret }} --fro root_password=$(kubectl get secret {{ .Values.postgresql.auth.existingSecret }} -ojsonpath="{.data.postgres-password}" | base64 -d) host={{ $.Release.Name }}-postgresql:5432 -# If we use an external DB +# If we use an external DB instance {{- else }} {{- $externalDB = true }} From 24675202491ae9d26c925ef7ab3e6c7b6057783e Mon Sep 17 00:00:00 2001 From: Jorge Lisa <64639359+AcquaDiGiorgio@users.noreply.github.com> Date: Mon, 16 Sep 2024 17:11:56 +0200 Subject: [PATCH 05/12] fix: grant database permisions correcly --- .../diracx/diracx-postgresql-init-dbs.yaml | 14 ++++++++------ diracx/values.yaml | 1 + 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml b/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml index 1ebc605..3852b0c 100644 --- a/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml +++ b/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml @@ -12,14 +12,16 @@ data: WHERE datname = '{{ $dbName }}' );\gexec - REVOKE CONNECT ON DATABASE your_database FROM PUBLIC; + \c "{{ $dbName }}"; + + ALTER DEFAULT PRIVILEGES + FOR USER postgres + IN SCHEMA public + GRANT SELECT, INSERT, UPDATE, DELETE + ON TABLES + TO "{{ $.Values.postgresql.auth.username }}"; GRANT CONNECT, TEMPORARY ON DATABASE "{{ $dbName }}" TO "{{ $.Values.postgresql.auth.username }}"; - - ALTER DEFAULT PRIVILEGES - FOR USER "{{ $.Values.postgresql.auth.username }}" - IN SCHEMA public - GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO "{{ $.Values.postgresql.auth.username }}"; {{- end }} \ No newline at end of file diff --git a/diracx/values.yaml b/diracx/values.yaml index 509414f..4afe687 100644 --- a/diracx/values.yaml +++ b/diracx/values.yaml @@ -375,6 +375,7 @@ postgresql: primary: initdb: + user: postgres scriptsConfigMap: postgresql-init-diracx-dbs From 2115d32f9030f19e40c646e9be062c2c15599acf Mon Sep 17 00:00:00 2001 From: Jorge Lisa <64639359+AcquaDiGiorgio@users.noreply.github.com> Date: Mon, 16 Sep 2024 18:03:57 +0200 Subject: [PATCH 06/12] fix: pre-commit --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cff8854..a9ae40c 100644 --- a/README.md +++ b/README.md @@ -221,6 +221,7 @@ Note that this configuration is trivial and does not follow production recommand |------------|------|---------| | | cert-manager-issuer | *.*.* | | https://charts.bitnami.com/bitnami/ | mysql | 9.11.0 | +| https://charts.bitnami.com/bitnami/ | postgresql | 15.5.27 | | https://charts.bitnami.com/bitnami/ | rabbitmq | 12.0.10 | | https://charts.dexidp.io/ | dex | 0.14.2 | | https://charts.jetstack.io | cert-manager | 1.13.1 | @@ -379,7 +380,7 @@ Note that this configuration is trivial and does not follow production recommand | mysql.auth.createDatabase | bool | `false` | | | mysql.auth.existingSecret | string | `"mysql-secret"` | | | mysql.auth.username | string | `"sqldiracx"` | | -| mysql.enabled | bool | `true` | | +| mysql.enabled | bool | `false` | | | mysql.initdbScriptsConfigMap | string | `"mysql-init-diracx-dbs"` | | | nameOverride | string | `""` | type=kubernetes.io/dockerconfigjson imagePullSecrets: - name: regcred | | nodeSelector | object | `{}` | | @@ -426,6 +427,12 @@ Note that this configuration is trivial and does not follow production recommand | opentelemetry-collector.presets.logsCollection.enabled | bool | `false` | | | podAnnotations | object | `{}` | | | podSecurityContext | object | `{}` | | +| postgresql.auth.createDatabase | bool | `false` | | +| postgresql.auth.existingSecret | string | `"postgresql-secret"` | | +| postgresql.auth.username | string | `"sqldiracx"` | | +| postgresql.enabled | bool | `true` | | +| postgresql.primary.initdb.scriptsConfigMap | string | `"postgresql-init-diracx-dbs"` | | +| postgresql.primary.initdb.user | string | `"postgres"` | | | prometheus.alertmanager.enabled | bool | `false` | | | prometheus.enabled | bool | `false` | | | prometheus.kube-state-metrics.enabled | bool | `false` | | From 1a086961ac5dbb7115f9f9123f5bd7f2bab84513 Mon Sep 17 00:00:00 2001 From: Jorge Lisa <64639359+AcquaDiGiorgio@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:33:27 +0200 Subject: [PATCH 07/12] fix: Remove useless postgresql values --- README.md | 1 - diracx/values.yaml | 5 ----- 2 files changed, 6 deletions(-) diff --git a/README.md b/README.md index a9ae40c..36237cf 100644 --- a/README.md +++ b/README.md @@ -427,7 +427,6 @@ Note that this configuration is trivial and does not follow production recommand | opentelemetry-collector.presets.logsCollection.enabled | bool | `false` | | | podAnnotations | object | `{}` | | | podSecurityContext | object | `{}` | | -| postgresql.auth.createDatabase | bool | `false` | | | postgresql.auth.existingSecret | string | `"postgresql-secret"` | | | postgresql.auth.username | string | `"sqldiracx"` | | | postgresql.enabled | bool | `true` | | diff --git a/diracx/values.yaml b/diracx/values.yaml index 4afe687..d20a4b1 100644 --- a/diracx/values.yaml +++ b/diracx/values.yaml @@ -363,16 +363,11 @@ mysql: # failureThreshold: 30 # successThreshold: 1 -# postgresPassword -# username: "" -# password: "" postgresql: enabled: true auth: existingSecret: postgresql-secret username: sqldiracx - createDatabase: false - primary: initdb: user: postgres From f85dc95f7fa2e12d1950f767c221f2ea22807b8f Mon Sep 17 00:00:00 2001 From: Jorge Lisa <64639359+AcquaDiGiorgio@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:36:44 +0200 Subject: [PATCH 08/12] feat: Change default db to mysql and add parameter to run_demo script to accept postgres as the database --- README.md | 4 ++-- .../templates/diracx/diracx-postgresql-init-dbs.yaml | 2 +- diracx/values.yaml | 4 ++-- run_demo.sh | 10 +++++++++- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 36237cf..f0f6430 100644 --- a/README.md +++ b/README.md @@ -380,7 +380,7 @@ Note that this configuration is trivial and does not follow production recommand | mysql.auth.createDatabase | bool | `false` | | | mysql.auth.existingSecret | string | `"mysql-secret"` | | | mysql.auth.username | string | `"sqldiracx"` | | -| mysql.enabled | bool | `false` | | +| mysql.enabled | bool | `true` | | | mysql.initdbScriptsConfigMap | string | `"mysql-init-diracx-dbs"` | | | nameOverride | string | `""` | type=kubernetes.io/dockerconfigjson imagePullSecrets: - name: regcred | | nodeSelector | object | `{}` | | @@ -429,7 +429,7 @@ Note that this configuration is trivial and does not follow production recommand | podSecurityContext | object | `{}` | | | postgresql.auth.existingSecret | string | `"postgresql-secret"` | | | postgresql.auth.username | string | `"sqldiracx"` | | -| postgresql.enabled | bool | `true` | | +| postgresql.enabled | bool | `false` | | | postgresql.primary.initdb.scriptsConfigMap | string | `"postgresql-init-diracx-dbs"` | | | postgresql.primary.initdb.user | string | `"postgres"` | | | prometheus.alertmanager.enabled | bool | `false` | | diff --git a/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml b/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml index 3852b0c..27af4ae 100644 --- a/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml +++ b/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml @@ -12,7 +12,7 @@ data: WHERE datname = '{{ $dbName }}' );\gexec - \c "{{ $dbName }}"; + \c "{{ $dbName }}" ALTER DEFAULT PRIVILEGES FOR USER postgres diff --git a/diracx/values.yaml b/diracx/values.yaml index d20a4b1..9d560be 100644 --- a/diracx/values.yaml +++ b/diracx/values.yaml @@ -344,7 +344,7 @@ indigoiam: # ONLY ONE CAN BE ENABLED mysql: - enabled: false + enabled: true auth: existingSecret: mysql-secret username: sqldiracx @@ -364,7 +364,7 @@ mysql: # successThreshold: 1 postgresql: - enabled: true + enabled: false auth: existingSecret: postgresql-secret username: sqldiracx diff --git a/run_demo.sh b/run_demo.sh index 8d18868..ca544a1 100755 --- a/run_demo.sh +++ b/run_demo.sh @@ -97,7 +97,7 @@ function element_not_in_array() { return $found } -usage="${0##*/} [-h|--help] [--exit-when-done] [--offline] [--enable-coverage] [--no-mount-containerd] [--set-value key=value] [--ci-values=values.yaml] [--] [source directories]" +usage="${0##*/} [-h|--help] [--exit-when-done] [--offline] [--enable-coverage] [--no-mount-containerd] [--postgres] [--set-value key=value] [--ci-values=values.yaml] [--] [source directories]" usage+="\n\n" usage+=" -h|--help: Print this help message and exit\n" usage+=" --exit-when-done: Exit after the demo has been started (it will be left running in the background)\n" @@ -111,6 +111,8 @@ usage+=" This option avoids needing to pull container im usage+=" WARNING: There is no garbage collection so the directory will grow without bound.\n" usage+=" --enable-open-telemetry: lauches OpenTelemetry collection.\n" usage+=" WARNING: experimental and resource hungry.\n" +usage+=" --postgres: Runs the demo using a the PostgreSQL database.\n" +usage+=" If not specified, it will default to MySQL.\n" usage+=" --set-value: Set a value in the Helm values file. This can be used to override the default values.\n" usage+=" For example, to enable coverage reporting pass: --set-value developer.enableCoverage=true\n" usage+=" --ci-values: Path to a values.yaml file which contains diracx dev settings only enabled for CI\n" @@ -211,6 +213,12 @@ while [ -n "${1:-}" ]; do case $1 in shift continue ;; + --postgres) + helm_arguments+=("--set" "postgresql.enabled=true") + helm_arguments+=("--set" "mysql.enabled=false") + shift + continue ;; + # Double-dash: Terminate option parsing --) shift From 7050513863f9d5abb53f2f0e9b80c7c3f8265c6c Mon Sep 17 00:00:00 2001 From: Jorge Lisa <64639359+AcquaDiGiorgio@users.noreply.github.com> Date: Fri, 20 Sep 2024 11:16:36 +0200 Subject: [PATCH 09/12] fix: set localhost and local postgres excution to trust to admit login without password fix: pre-commit on _init-secrets.sh.tpl --- README.md | 1 + diracx/templates/diracx/deployment.yaml | 2 +- .../diracx/diracx-postgresql-init-dbs.yaml | 14 +++++++------- .../diracx/init-secrets/_init-secrets.sh.tpl | 4 ++-- diracx/values.yaml | 5 +++++ run_demo.sh | 6 ++++-- 6 files changed, 20 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index f0f6430..fa3db34 100644 --- a/README.md +++ b/README.md @@ -432,6 +432,7 @@ Note that this configuration is trivial and does not follow production recommand | postgresql.enabled | bool | `false` | | | postgresql.primary.initdb.scriptsConfigMap | string | `"postgresql-init-diracx-dbs"` | | | postgresql.primary.initdb.user | string | `"postgres"` | | +| postgresql.primary.pgHbaConfiguration | string | `"local all all trust\nhost all all localhost trust\nhost all all 0.0.0.0/0 md5"` | | | prometheus.alertmanager.enabled | bool | `false` | | | prometheus.enabled | bool | `false` | | | prometheus.kube-state-metrics.enabled | bool | `false` | | diff --git a/diracx/templates/diracx/deployment.yaml b/diracx/templates/diracx/deployment.yaml index d884589..69692b4 100644 --- a/diracx/templates/diracx/deployment.yaml +++ b/diracx/templates/diracx/deployment.yaml @@ -82,7 +82,7 @@ spec: {{- end }} {{- end }} {{- end }} - {{- if or .Values.mysql.enabled .Values.opensearch.enabled .Values.minio.enabled }} + {{- if or .Values.mysql.enabled .Values.postgresql.enabled .Values.opensearch.enabled .Values.minio.enabled }} initContainers: {{- end }} {{- if .Values.mysql.enabled }} diff --git a/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml b/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml index 27af4ae..d3d9872 100644 --- a/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml +++ b/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml @@ -8,20 +8,20 @@ data: {{- range $dbName, $dbSettings := .Values.diracx.sqlDbs.dbs }} SELECT 'CREATE DATABASE "{{ $dbName }}"' WHERE NOT EXISTS ( - SELECT FROM pg_database + SELECT FROM pg_database WHERE datname = '{{ $dbName }}' );\gexec - \c "{{ $dbName }}" + \c "{{ $dbName }}"; - ALTER DEFAULT PRIVILEGES + ALTER DEFAULT PRIVILEGES FOR USER postgres IN SCHEMA public - GRANT SELECT, INSERT, UPDATE, DELETE - ON TABLES + GRANT SELECT, INSERT, UPDATE, DELETE + ON TABLES TO "{{ $.Values.postgresql.auth.username }}"; GRANT CONNECT, TEMPORARY - ON DATABASE "{{ $dbName }}" + ON DATABASE "{{ $dbName }}" TO "{{ $.Values.postgresql.auth.username }}"; -{{- end }} \ No newline at end of file +{{- end }} diff --git a/diracx/templates/diracx/init-secrets/_init-secrets.sh.tpl b/diracx/templates/diracx/init-secrets/_init-secrets.sh.tpl index bfcf5cb..ff50577 100644 --- a/diracx/templates/diracx/init-secrets/_init-secrets.sh.tpl +++ b/diracx/templates/diracx/init-secrets/_init-secrets.sh.tpl @@ -149,7 +149,7 @@ generate_secret_if_needed {{ .Values.rabbitmq.auth.existingErlangSecret }} --fro {{ if and (not $externalDB) $dbSettings }} {{ fail "There should be no connection settings if running a local database from this Chart" }} {{ end }} - + db_connStart=$connStart # Configurable at database level? {{- if kindIs "map" $dbSettings }} @@ -171,7 +171,7 @@ generate_secret_if_needed {{ .Values.rabbitmq.auth.existingErlangSecret }} --fro # User connection string generate_secret_if_needed diracx-sql-connection-urls \ --from-literal=DIRACX_DB_URL_{{ $dbName | upper }}="${db_connStart}://${db_user}:${db_password}@${db_host}/${db_name}" - + # Root connection string generate_secret_if_needed diracx-sql-root-connection-urls \ --from-literal=DIRACX_DB_URL_{{ $dbName | upper }}="${db_connStart}://${db_root_user}:${db_root_password}@${db_host}/${db_name}" diff --git a/diracx/values.yaml b/diracx/values.yaml index 9d560be..97fe44d 100644 --- a/diracx/values.yaml +++ b/diracx/values.yaml @@ -132,6 +132,7 @@ diracx: # user: dirac # password: password123 # host: sqlHost:123 + # type: MySQL # -- Which DiracX MySQL DBs are used? dbs: # AuthDB: @@ -369,6 +370,10 @@ postgresql: existingSecret: postgresql-secret username: sqldiracx primary: + pgHbaConfiguration: |- + local all all trust + host all all localhost trust + host all all 0.0.0.0/0 md5 initdb: user: postgres scriptsConfigMap: postgresql-init-diracx-dbs diff --git a/run_demo.sh b/run_demo.sh index ca544a1..231bf3b 100755 --- a/run_demo.sh +++ b/run_demo.sh @@ -214,8 +214,10 @@ while [ -n "${1:-}" ]; do case $1 in continue ;; --postgres) - helm_arguments+=("--set" "postgresql.enabled=true") - helm_arguments+=("--set" "mysql.enabled=false") + helm_arguments+=("--set") + helm_arguments+=("postgresql.enabled=true") + helm_arguments+=("--set") + helm_arguments+=("mysql.enabled=false") shift continue ;; From 7f9bd22e00ad58ac35b3c2a0ec974dee023fc2b3 Mon Sep 17 00:00:00 2001 From: Jorge Lisa <64639359+AcquaDiGiorgio@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:39:05 +0200 Subject: [PATCH 10/12] fix: change postgres chart version to match jaeger dependency with bitnami common version 1.x.x --- diracx/Chart.lock | 2 +- diracx/Chart.yaml | 3 +-- diracx/charts/postgresql-11.7.6.tgz | Bin 0 -> 57197 bytes diracx/charts/postgresql-15.5.27.tgz | Bin 75773 -> 0 bytes 4 files changed, 2 insertions(+), 3 deletions(-) create mode 100644 diracx/charts/postgresql-11.7.6.tgz delete mode 100644 diracx/charts/postgresql-15.5.27.tgz diff --git a/diracx/Chart.lock b/diracx/Chart.lock index 8dfdc65..9f296ea 100644 --- a/diracx/Chart.lock +++ b/diracx/Chart.lock @@ -19,7 +19,7 @@ dependencies: version: 9.11.0 - name: postgresql repository: https://charts.bitnami.com/bitnami/ - version: 15.5.27 + version: 11.7.6 - name: cert-manager repository: https://charts.jetstack.io version: v1.13.1 diff --git a/diracx/Chart.yaml b/diracx/Chart.yaml index 8c01cce..faf2676 100644 --- a/diracx/Chart.yaml +++ b/diracx/Chart.yaml @@ -53,11 +53,10 @@ dependencies: condition: mysql.enabled - name: postgresql - version: 15.5.27 + version: 11.7.6 repository: https://charts.bitnami.com/bitnami/ condition: postgresql.enabled - - name: cert-manager version: 1.13.1 repository: https://charts.jetstack.io diff --git a/diracx/charts/postgresql-11.7.6.tgz b/diracx/charts/postgresql-11.7.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dcebaab0f8c3bf039c45f0cc756caa4bd6c2f23a GIT binary patch literal 57197 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 ZhwI^bxc<=fTL1t6|NjpdEoA_v2mph`k>CIT From 86a56dbefaeb7ffb91aea503a1e60a137302b2de Mon Sep 17 00:00:00 2001 From: Jorge Lisa <64639359+AcquaDiGiorgio@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:41:06 +0200 Subject: [PATCH 11/12] fix: pre-commit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fa3db34..fe5aa4b 100644 --- a/README.md +++ b/README.md @@ -221,7 +221,7 @@ Note that this configuration is trivial and does not follow production recommand |------------|------|---------| | | cert-manager-issuer | *.*.* | | https://charts.bitnami.com/bitnami/ | mysql | 9.11.0 | -| https://charts.bitnami.com/bitnami/ | postgresql | 15.5.27 | +| https://charts.bitnami.com/bitnami/ | postgresql | 11.7.6 | | https://charts.bitnami.com/bitnami/ | rabbitmq | 12.0.10 | | https://charts.dexidp.io/ | dex | 0.14.2 | | https://charts.jetstack.io | cert-manager | 1.13.1 | From f89126e6181c4499aaca7e5bfe3a1664ffbaaeab Mon Sep 17 00:00:00 2001 From: Jorge Lisa <64639359+AcquaDiGiorgio@users.noreply.github.com> Date: Tue, 24 Sep 2024 13:08:59 +0200 Subject: [PATCH 12/12] fix: Add needed priviliges to postgres sequences --- diracx/templates/diracx/diracx-postgresql-init-dbs.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml b/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml index d3d9872..3463285 100644 --- a/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml +++ b/diracx/templates/diracx/diracx-postgresql-init-dbs.yaml @@ -21,6 +21,13 @@ data: ON TABLES TO "{{ $.Values.postgresql.auth.username }}"; + ALTER DEFAULT PRIVILEGES + FOR USER postgres + IN SCHEMA public + GRANT USAGE + ON SEQUENCES + TO "{{ $.Values.postgresql.auth.username }}"; + GRANT CONNECT, TEMPORARY ON DATABASE "{{ $dbName }}" TO "{{ $.Values.postgresql.auth.username }}";