diff --git a/deployments/helm-chart/README.md b/deployments/helm-chart/README.md index 1091ffdc..60ca2af4 100644 --- a/deployments/helm-chart/README.md +++ b/deployments/helm-chart/README.md @@ -51,6 +51,9 @@ The following table lists the configurable parameters of the SMSGate chart and t | `database.port` | Database port | `3306` | | `database.user` | Database user | `sms` | | `database.password` | Database password | `""` | +| `database.existingSecret` | Existing secret for database | `{}` | +| `database.existingSecret.secretName` | Existing secret name | `""` | +| `database.existingSecret.passwordKey` | Existing secret password key | `""` | | `database.name` | Database name | `sms` | | `database.deployInternal` | Deploy internal MariaDB | `true` | | `gateway.privateToken` | Private token for device registration | `""` | @@ -154,4 +157,4 @@ This Helm chart is licensed under the Apache-2.0 license. See [LICENSE](LICENSE) ## Legal Notice -Android is a trademark of Google LLC. \ No newline at end of file +Android is a trademark of Google LLC. diff --git a/deployments/helm-chart/templates/database.yaml b/deployments/helm-chart/templates/database.yaml index 7a6af9df..3aab8385 100644 --- a/deployments/helm-chart/templates/database.yaml +++ b/deployments/helm-chart/templates/database.yaml @@ -35,8 +35,8 @@ spec: - name: MARIADB_PASSWORD valueFrom: secretKeyRef: - name: {{ include "sms-gateway.fullname" . }}-db-secrets - key: database-password + name: {{ .Values.database.existingSecret.secretName | default (printf "%s-db-secrets" (include "sms-gateway.fullname" .)) }} + key: {{ .Values.database.existingSecret.passwordKey | default ("database-password") }} ports: - name: mysql containerPort: 3306 @@ -92,7 +92,9 @@ metadata: type: Opaque data: root-password: {{ .Values.database.mariadb.rootPassword | b64enc | quote }} +{{- if not .Values.database.existingSecret }} database-password: {{ .Values.database.password | b64enc | quote }} +{{- end }} --- # Database Persistent Volume Claim @@ -111,4 +113,4 @@ spec: {{- if .Values.database.mariadb.persistence.storageClass }} storageClassName: {{ .Values.database.mariadb.persistence.storageClass }} {{- end }} -{{- end }} \ No newline at end of file +{{- end }} diff --git a/deployments/helm-chart/templates/deployment.yaml b/deployments/helm-chart/templates/deployment.yaml index 2a4b33c6..b7f8f6ab 100644 --- a/deployments/helm-chart/templates/deployment.yaml +++ b/deployments/helm-chart/templates/deployment.yaml @@ -59,15 +59,15 @@ spec: - name: DATABASE__HOST value: {{ .Values.database.host }} {{- end }} - - name: DATABASE__NAME + - name: DATABASE__DATABASE value: {{ .Values.database.name }} - name: DATABASE__USER value: {{ .Values.database.user }} - name: DATABASE__PASSWORD valueFrom: secretKeyRef: - name: {{ include "sms-gateway.fullname" . }}-secrets - key: database-password + name: {{ .Values.database.existingSecret.secretName | default (printf "%s-secret" (include "sms-gateway.fullname" .)) }} + key: {{ .Values.database.existingSecret.passwordKey | default ("database-password") }} {{- if .Values.gateway.privateToken }} - name: GATEWAY__MODE value: "private" @@ -197,15 +197,15 @@ spec: - name: DATABASE__HOST value: {{ .Values.database.host }} {{- end }} - - name: DATABASE__NAME + - name: DATABASE__DATABASE value: {{ .Values.database.name }} - name: DATABASE__USER value: {{ .Values.database.user }} - name: DATABASE__PASSWORD valueFrom: secretKeyRef: - name: {{ include "sms-gateway.fullname" . }}-secrets - key: database-password + name: {{ .Values.database.existingSecret.secretName | default (printf "%s-secret" (include "sms-gateway.fullname" .)) }} + key: {{ .Values.database.existingSecret.passwordKey | default ("database-password") }} {{- range $key, $value := .Values.env }} - name: {{ $key }} value: {{ $value | quote }} @@ -237,4 +237,4 @@ spec: {{- with .Values.tolerations }} tolerations: {{- toYaml . | nindent 8 }} - {{- end }} \ No newline at end of file + {{- end }} diff --git a/deployments/helm-chart/templates/secrets.yaml b/deployments/helm-chart/templates/secrets.yaml index 2f716f4c..b6aeb7de 100644 --- a/deployments/helm-chart/templates/secrets.yaml +++ b/deployments/helm-chart/templates/secrets.yaml @@ -6,10 +6,12 @@ metadata: {{- include "sms-gateway.labels" . | nindent 4 }} type: Opaque data: + {{- if not .Values.database.existingSecret }} database-password: {{ .Values.database.password | b64enc | quote }} + {{- end }} {{- if .Values.gateway.privateToken }} private-token: {{ .Values.gateway.privateToken | b64enc | quote }} {{- end }} {{- if .Values.gateway.fcmCredentials }} fcm-credentials: {{ .Values.gateway.fcmCredentials | b64enc | quote }} - {{- end }} \ No newline at end of file + {{- end }} diff --git a/deployments/helm-chart/values.yaml b/deployments/helm-chart/values.yaml index aebf0c77..9985cb7f 100644 --- a/deployments/helm-chart/values.yaml +++ b/deployments/helm-chart/values.yaml @@ -81,6 +81,9 @@ database: user: sms password: "" # REQUIRED: Set a strong password for the database user name: sms + existingSecret: {} + # secretName: existing-secret-name + # passwordKey: password # Set to true to deploy a MariaDB instance with the chart deployInternal: true mariadb: