diff --git a/packages/apps/postgres/Chart.yaml b/packages/apps/postgres/Chart.yaml index 6a71a330..8ada1201 100644 --- a/packages/apps/postgres/Chart.yaml +++ b/packages/apps/postgres/Chart.yaml @@ -16,7 +16,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.5.0 +version: 0.6.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/packages/apps/postgres/templates/dashboard-resourcemap.yaml b/packages/apps/postgres/templates/dashboard-resourcemap.yaml index f80abd29..dc80d4cb 100644 --- a/packages/apps/postgres/templates/dashboard-resourcemap.yaml +++ b/packages/apps/postgres/templates/dashboard-resourcemap.yaml @@ -8,7 +8,14 @@ rules: resources: - services resourceNames: - - postgres-service-r - - postgres-service-ro - - postgres-service-rw + - {{ .Release.Name }}-r + - {{ .Release.Name }}-ro + - {{ .Release.Name }}-rw + verbs: ["get", "list", "watch"] +- apiGroups: + - "" + resources: + - secrets + resourceNames: + - {{ .Release.Name }}-credentials verbs: ["get", "list", "watch"] diff --git a/packages/apps/postgres/templates/init-script.yaml b/packages/apps/postgres/templates/init-script.yaml index 68ee856f..d02a1894 100644 --- a/packages/apps/postgres/templates/init-script.yaml +++ b/packages/apps/postgres/templates/init-script.yaml @@ -1,3 +1,30 @@ +{{- $existingSecret := lookup "v1" "Secret" .Release.Namespace (printf "%s-credentials" .Release.Name) }} +{{- $passwords := dict }} + +{{- with (index $existingSecret "data") }} + {{- range $k, $v := . }} + {{- $_ := set $passwords $k (b64dec $v) }} + {{- end }} +{{- end }} + +{{- range $user, $u := .Values.users }} + {{- if $u.password }} + {{- $_ := set $passwords $user $u.password }} + {{- else if not (index $passwords $user) }} + {{- $_ := set $passwords $user (randAlphaNum 16) }} + {{- end }} +{{- end }} + +{{- if .Values.users }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Release.Name }}-credentials +stringData: + {{- range $user, $u := .Values.users }} + {{ quote $user }}: {{ quote (index $passwords $user) }} + {{- end }} +{{- end }} --- apiVersion: v1 kind: Secret @@ -13,7 +40,7 @@ stringData: {{- range $user, $u := .Values.users }} SELECT 'CREATE ROLE {{ $user }} LOGIN INHERIT;' WHERE NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = '{{ $user }}')\gexec - ALTER ROLE {{ $user }} WITH PASSWORD '{{ $u.password }}' LOGIN INHERIT {{ ternary "REPLICATION" "NOREPLICATION" (default false $u.replication) }}; + ALTER ROLE {{ $user }} WITH PASSWORD '{{ index $passwords $user }}' LOGIN INHERIT {{ ternary "REPLICATION" "NOREPLICATION" (default false $u.replication) }}; COMMENT ON ROLE {{ $user }} IS 'user managed by helm'; {{- end }} EOT diff --git a/packages/apps/versions_map b/packages/apps/versions_map index 0687c0a9..0ce16c98 100644 --- a/packages/apps/versions_map +++ b/packages/apps/versions_map @@ -40,10 +40,12 @@ postgres 0.2.1 4a97e297 postgres 0.3.0 995dea6f postgres 0.4.0 ec283c33 postgres 0.4.1 5ca8823 -postgres 0.5.0 HEAD +postgres 0.5.0 c07c4bbd +postgres 0.6.0 HEAD rabbitmq 0.1.0 f642698 rabbitmq 0.2.0 5ca8823 -rabbitmq 0.3.0 HEAD +rabbitmq 0.3.0 9e33dc0 +rabbitmq 0.4.0 HEAD redis 0.1.1 f642698 redis 0.2.0 5ca8823 redis 0.3.0 HEAD