diff --git a/.github/ct.yaml b/.github/ct.yaml index 6f7e3893..3674106f 100644 --- a/.github/ct.yaml +++ b/.github/ct.yaml @@ -5,3 +5,5 @@ chart-repos: check-version-increment: true debug: true target-branch: main +namespace: zammad +release-label: zammad diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cb54f59b..5e03f64e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -56,6 +56,7 @@ jobs: runs-on: ubuntu-22.04 needs: - lint-chart + - super-linter strategy: matrix: k8s: @@ -120,5 +121,11 @@ jobs: config: .github/kind-config.yaml node_image: kindest/node:${{ matrix.k8s }} + - name: Create Namespace 'zammad' + run: kubectl create namespace zammad + + - name: Install secrets + run: kubectl create --namespace zammad --filename zammad/ci/full-secrets.yaml + - name: Run chart-testing (install) - run: ct install --config .github/ct.yaml --helm-extra-args '--timeout 900s' + run: ct install --config .github/ct.yaml --helm-extra-args '--timeout 900s' \ No newline at end of file diff --git a/zammad/Chart.yaml b/zammad/Chart.yaml index 9d787fdd..1a4af95a 100644 --- a/zammad/Chart.yaml +++ b/zammad/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: zammad -version: 10.3.3 +version: 10.3.4 appVersion: 6.2.0-1 description: Zammad is a web based open source helpdesk/customer support system with many features to manage customer communication via several channels like telephone, facebook, twitter, chat and e-mails. home: https://zammad.org diff --git a/zammad/ci/README.md b/zammad/ci/README.md new file mode 100644 index 00000000..7a1ffc5e --- /dev/null +++ b/zammad/ci/README.md @@ -0,0 +1,3 @@ +# Chart-Testing + +This directory provides [files for testing different configurations with chart-testing](https://github.com/helm/chart-testing/blob/main/doc/ct_install.md). diff --git a/zammad/ci/default-values.yaml b/zammad/ci/default-values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/zammad/ci/full-secrets.yaml b/zammad/ci/full-secrets.yaml new file mode 100644 index 00000000..8f8f54ec --- /dev/null +++ b/zammad/ci/full-secrets.yaml @@ -0,0 +1,40 @@ +apiVersion: v1 +data: + root-password: emFtbWFkYWRtaW4= + root-user: emFtbWFkYWRtaW4= +kind: Secret +metadata: + name: minio-existing-secret +type: Opaque +--- +apiVersion: v1 +data: + redis-password: cmVkaXM= +kind: Secret +metadata: + name: redis-existing-secret +type: Opaque +--- +apiVersion: v1 +data: + postgresql-password: emFtbWFk +kind: Secret +metadata: + name: postgresql-existing-secret +type: Opaque +--- +apiVersion: v1 +data: + elasticsearch-password: emFtbWFk +kind: Secret +metadata: + name: elasticsearch-existing-secret +type: Opaque +--- +apiVersion: v1 +data: + autowizard: ZXdvZ0lDSlZjMlZ5Y3lJNklGc0tJQ0FnSUhzS0lDQWdJQ0FnSW14dloybHVJam9nSW1Ga2JXbHVRR1Y0WVcxd2JHVXVZMjl0SWl3S0lDQWdJQ0FnSW1acGNuTjBibUZ0WlNJNklDSlVaWE4wSUVGa2JXbHVJaXdLSUNBZ0lDQWdJbXhoYzNSdVlXMWxJam9nSWtGblpXNTBJaXdLSUNBZ0lDQWdJbVZ0WVdsc0lqb2dJbUZrYldsdVFHVjRZVzF3YkdVdVkyOXRJaXdLSUNBZ0lDQWdJbkJoYzNOM2IzSmtJam9nSW5SbGMzUWlDaUFnSUNCOUxBb2dJQ0FnZXdvZ0lDQWdJQ0FpYkc5bmFXNGlPaUFpWVdkbGJuUXhRR1Y0WVcxd2JHVXVZMjl0SWl3S0lDQWdJQ0FnSW1acGNuTjBibUZ0WlNJNklDSkJaMlZ1ZENBeElpd0tJQ0FnSUNBZ0lteGhjM1J1WVcxbElqb2dJbFJsYzNRaUxBb2dJQ0FnSUNBaVpXMWhhV3dpT2lBaVlXZGxiblF4UUdWNFlXMXdiR1V1WTI5dElpd0tJQ0FnSUNBZ0luQmhjM04zYjNKa0lqb2dJblJsYzNRaUxBb2dJQ0FnSUNBaWNtOXNaWE1pT2lCYklrRm5aVzUwSWwwS0lDQWdJSDBLSUNCZExBb2dJQ0pIY205MWNITWlPaUJiQ2lBZ0lDQjdDaUFnSUNBZ0lDSnVZVzFsSWpvZ0luTnZiV1VnWjNKdmRYQXhJaXdLSUNBZ0lDQWdJblZ6WlhKeklqb2dXeUpoWkcxcGJrQmxlR0Z0Y0d4bExtTnZiU0lzSUNKaFoyVnVkREZBWlhoaGJYQnNaUzVqYjIwaVhRb2dJQ0FnZlN3S0lDQWdJSHNLSUNBZ0lDQWdJbTVoYldVaU9pQWlWWE5sY25NaUxBb2dJQ0FnSUNBaWRYTmxjbk1pT2lCYkltRmtiV2x1UUdWNFlXMXdiR1V1WTI5dElpd2dJbUZuWlc1ME1VQmxlR0Z0Y0d4bExtTnZiU0pkTEFvZ0lDQWdJQ0FpYzJsbmJtRjBkWEpsSWpvZ0ltUmxabUYxYkhRaUxBb2dJQ0FnSUNBaVpXMWhhV3hmWVdSa2NtVnpjMTlwWkNJNklERUtJQ0FnSUgwS0lDQmRMQW9nSUNKRGFHRnVibVZzY3lJNklGc0tJQ0FnSUhzS0lDQWdJQ0FnSW1sa0lqb2dNU3dLSUNBZ0lDQWdJbUZ5WldFaU9pQWlSVzFoYVd3Nk9rRmpZMjkxYm5RaUxBb2dJQ0FnSUNBaVozSnZkWEFpT2lBaVZYTmxjbk1pTEFvZ0lDQWdJQ0FpYjNCMGFXOXVjeUk2SUhzS0lDQWdJQ0FnSUNBaWFXNWliM1Z1WkNJNklIc0tJQ0FnSUNBZ0lDQWdJQ0poWkdGd2RHVnlJam9nSW1sdFlYQWlMQW9nSUNBZ0lDQWdJQ0FnSW05d2RHbHZibk1pT2lCN0NpQWdJQ0FnSUNBZ0lDQWdJQ0pvYjNOMElqb2dJbTE0TVM1bGVHRnRjR3hsTG1OdmJTSXNDaUFnSUNBZ0lDQWdJQ0FnSUNKMWMyVnlJam9nSW01dmRGOWxlR2x6ZEdsdVp5SXNDaUFnSUNBZ0lDQWdJQ0FnSUNKd1lYTnpkMjl5WkNJNklDSnViM1JmWlhocGMzUnBibWNpTEFvZ0lDQWdJQ0FnSUNBZ0lDQWljM05zSWpvZ0luTnpiQ0lLSUNBZ0lDQWdJQ0FnSUgwS0lDQWdJQ0FnSUNCOUxBb2dJQ0FnSUNBZ0lDSnZkWFJpYjNWdVpDSTZJSHNLSUNBZ0lDQWdJQ0FnSUNKaFpHRndkR1Z5SWpvZ0luTmxibVJ0WVdsc0lnb2dJQ0FnSUNBZ0lIMEtJQ0FnSUNBZ2ZRb2dJQ0FnZlFvZ0lGMHNDaUFnSWtWdFlXbHNRV1JrY21WemMyVnpJam9nV3dvZ0lDQWdld29nSUNBZ0lDQWlhV1FpT2lBeExBb2dJQ0FnSUNBaVkyaGhibTVsYkY5cFpDSTZJREVzQ2lBZ0lDQWdJQ0p1WVcxbElqb2dJbHBoYlcxaFpDQklaV3h3WkdWemF5SXNDaUFnSUNBZ0lDSmxiV0ZwYkNJNklDSjZZVzF0WVdSQWJHOWpZV3hvYjNOMElnb2dJQ0FnZlFvZ0lGMHNDaUFnSWxObGRIUnBibWR6SWpvZ1d3b2dJQ0FnZXdvZ0lDQWdJQ0FpYm1GdFpTSTZJQ0p3Y205a2RXTjBYMjVoYldVaUxBb2dJQ0FnSUNBaWRtRnNkV1VpT2lBaVdtRnRiV0ZrSUZSbGMzUWdVM2x6ZEdWdElnb2dJQ0FnZlN3S0lDQWdJSHNLSUNBZ0lDQWdJbTVoYldVaU9pQWlaR1YyWld4dmNHVnlYMjF2WkdVaUxBb2dJQ0FnSUNBaWRtRnNkV1VpT2lCMGNuVmxDaUFnSUNCOUNpQWdYU3dLSUNBaVZHVjRkRTF2WkhWc1pVeHZZMkZzWlNJNklIc0tJQ0FnSUNKTWIyTmhiR1VpT2lBaVpHVXRaR1VpQ2lBZ2ZRcDlDZz09 +kind: Secret +metadata: + name: autowizard +type: Opaque \ No newline at end of file diff --git a/zammad/ci/full-values.yaml b/zammad/ci/full-values.yaml new file mode 100644 index 00000000..254cf8b8 --- /dev/null +++ b/zammad/ci/full-values.yaml @@ -0,0 +1,37 @@ +secrets: + autowizard: + useExisting: true + secretKey: autowizard + secretName: autowizard + elasticsearch: + useExisting: true + secretKey: elasticsearch-password + secretName: elasticsearch-existing-secret + postgresql: + useExisting: true + secretKey: postgresql-password + secretName: postgresql-existing-secret + redis: + useExisting: true + secretKey: redis-password + secretName: redis-existing-secret + +autoWizard: + enabled: true + +elasticsearch: + security: + existingSecret: elasticsearch-existing-secret + +minio: + auth: + existingSecret: minio-existing-secret + +redis: + auth: + existingSecret: redis-existing-secret + existingSecretPasswordKey: redis-password + +zammadConfig: + minio: + enabled: true diff --git a/zammad/templates/statefulset.yaml b/zammad/templates/statefulset.yaml index 064b1a38..54db72ce 100644 --- a/zammad/templates/statefulset.yaml +++ b/zammad/templates/statefulset.yaml @@ -132,8 +132,9 @@ spec: name: {{ template "zammad.postgresqlSecretName" . }} key: {{ .Values.secrets.postgresql.secretKey }} - name: DATABASE_URL - value: "postgres://{{ .Values.zammadConfig.postgresql.user }}:$(POSTGRESQL_PASS)@{{ if .Values.zammadConfig.postgresql.enabled }}{{ .Release.Name }}-postgresql{{ else }}{{ .Values.zammadConfig.postgresql.host }}{{ end }}:{{ .Values.zammadConfig.postgresql.port }}/{{ .Values.zammadConfig.postgresql.db }}" {{- if .Values.autoWizard.enabled }} + value: "postgres://{{ .Values.zammadConfig.postgresql.user }}:$(POSTGRESQL_PASS)@{{ if .Values.zammadConfig.postgresql.enabled }}{{ .Release.Name }}-postgresql{{ else }}{{ .Values.zammadConfig.postgresql.host }}{{ end }}:{{ .Values.zammadConfig.postgresql.port }}/{{ .Values.zammadConfig.postgresql.db }}" {{ include "zammad.env.S3_URL" . | nindent 12 }} + {{- if .Values.autoWizard.enabled }} - name: AUTOWIZARD_JSON valueFrom: secretKeyRef: diff --git a/zammad/values.yaml b/zammad/values.yaml index ad9d5077..647ad9c0 100644 --- a/zammad/values.yaml +++ b/zammad/values.yaml @@ -33,6 +33,9 @@ ingress: # hosts: # - chart-example.local +# Please note that passwords for PostgreSQL, Redis and S3 may not +# contain special characters which would require URL encoding. +# See also https://github.com/zammad/zammad-helm/issues/251 secrets: autowizard: useExisting: false