diff --git a/CHANGELOG.md b/CHANGELOG.md index 819ad4b7da53263c9983bb897cc1a8a089d46291..e372004eff42ed8e4b6203331a51f350d9e52b7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). --- +## [0.1.4-bb.0] - 2021-04-23 +### Added +- Added Elastic Search declaritive coniguration. ## [0.1.3-bb.2] - 2021-04-19 ### Changed diff --git a/chart/Chart.yaml b/chart/Chart.yaml index 4c7ffe9e0c4d4930825c7ec1e3c2038bcbe995b7..d9a77fb99e24668e9f1e5bdfc66c40b4416b17d5 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: mattermost type: application -version: "0.1.3-bb.2" +version: "0.1.4-bb.0" appVersion: "5.32.1" description: "Deployment of mattermost" keywords: diff --git a/chart/templates/env-secret.yaml b/chart/templates/env-secret.yaml index 792de57b75b77960d6927e589d70cc04c0260d37..9dd5e1e513130438f6884fe3d6ccbca6105b77ef 100644 --- a/chart/templates/env-secret.yaml +++ b/chart/templates/env-secret.yaml @@ -1,4 +1,4 @@ -{{- if or .Values.mattermostEnvs .Values.sso.enabled .Values.minio.install }} +{{- if or .Values.mattermostEnvs .Values.sso.enabled .Values.minio.install .Values.elasticsearch.enabled }} apiVersion: v1 kind: Secret metadata: @@ -25,4 +25,25 @@ stringData: {{- if .Values.minio.install }} MM_FILESETTINGS_AMAZONS3SSL: "false" {{- end }} + {{- if .Values.elasticsearch.enabled }} + MM_ELASTICSEARCHSETTINGS_CONNECTIONURL: "{{ .Values.elasticsearch.connectionurl }}" + MM_ELASTICSEARCHSETTINGS_ENABLEAUTOCOMPLETE: "{{ .Values.elasticsearch.enableautocomplete }}" + MM_ELASTICSEARCHSETTINGS_ENABLEINDEXING: "{{ .Values.elasticsearch.enableindexing }}" + MM_ELASTICSEARCHSETTINGS_INDEXPREFIX: "{{ .Values.elasticsearch.indexprefix }}" + MM_ELASTICSEARCHSETTINGS_BULKINDEXINGTIMEWINDOWSECONDS: "{{ .Values.elasticsearch.bulkindexingtimewindowseconds }}" + MM_ELASTICSEARCHSETTINGS_ENABLESEARCHING: "{{ .Values.elasticsearch.enablesearching }}" + MM_ELASTICSEARCHSETTINGS_SKIPTLSVERIFICATION: "{{ .Values.elasticsearch.skiptlsverification }}" + MM_ELASTICSEARCHSETTINGS_SNIFF: "{{ .Values.elasticsearch.sniff }}" + MM_ELASTICSEARCHSETTINGS_USERNAME: {{ .Values.elasticsearch.username | default "elastic" }} + {{- end }} + {{- if .Values.elasticsearch.password }} + MM_ELASTICSEARCHSETTINGS_PASSWORD: {{ .Values.elasticsearch.password }} + {{- else }} + {{ $secretname := printf "%s-es-elastic-user" ( .Values.elasticsearch.name | default "logging-ek" )}} + SECRET_NAME: {{ $secretname }} + NAMESPACE: {{ .Values.elasticsearch.namespace | default "logging" }} + {{- with lookup "v1" "Secret" (.Values.elasticsearch.namespace | default "logging" ) $secretname }} + MM_ELASTICSEARCHSETTINGS_PASSWORD: {{ .data.elastic | b64dec }} + {{- end }} + {{- end }} {{- end }} diff --git a/chart/templates/mattermost.yaml b/chart/templates/mattermost.yaml index 353c9bb4e55fffa596692244349dd43bb88804ba..190ebebb02981f46b75b085f8d05df9ca265b3a8 100644 --- a/chart/templates/mattermost.yaml +++ b/chart/templates/mattermost.yaml @@ -72,6 +72,58 @@ spec: key: MM_FILESETTINGS_AMAZONS3SSL name: "mattermost-envs" {{- end }} + {{- if .Values.elasticsearch.enabled }} + - name: MM_ELASTICSEARCHSETTINGS_CONNECTIONURL + valueFrom: + secretKeyRef: + key: MM_ELASTICSEARCHSETTINGS_CONNECTIONURL + name: "mattermost-envs" + - name: MM_ELASTICSEARCHSETTINGS_ENABLEAUTOCOMPLETE + valueFrom: + secretKeyRef: + key: MM_ELASTICSEARCHSETTINGS_ENABLEAUTOCOMPLETE + name: "mattermost-envs" + - name: MM_ELASTICSEARCHSETTINGS_ENABLEINDEXING + valueFrom: + secretKeyRef: + key: MM_ELASTICSEARCHSETTINGS_ENABLEINDEXING + name: "mattermost-envs" + - name: MM_ELASTICSEARCHSETTINGS_INDEXPREFIX + valueFrom: + secretKeyRef: + key: MM_ELASTICSEARCHSETTINGS_INDEXPREFIX + name: "mattermost-envs" + - name: MM_ELASTICSEARCHSETTINGS_BULKINDEXINGTIMEWINDOWSECONDS + valueFrom: + secretKeyRef: + key: MM_ELASTICSEARCHSETTINGS_BULKINDEXINGTIMEWINDOWSECONDS + name: "mattermost-envs" + - name: MM_ELASTICSEARCHSETTINGS_ENABLESEARCHING + valueFrom: + secretKeyRef: + key: MM_ELASTICSEARCHSETTINGS_ENABLESEARCHING + name: "mattermost-envs" + - name: MM_ELASTICSEARCHSETTINGS_SKIPTLSVERIFICATION + valueFrom: + secretKeyRef: + key: MM_ELASTICSEARCHSETTINGS_SKIPTLSVERIFICATION + name: "mattermost-envs" + - name: MM_ELASTICSEARCHSETTINGS_SNIFF + valueFrom: + secretKeyRef: + key: MM_ELASTICSEARCHSETTINGS_SNIFF + name: "mattermost-envs" + - name: MM_ELASTICSEARCHSETTINGS_USERNAME + valueFrom: + secretKeyRef: + key: MM_ELASTICSEARCHSETTINGS_USERNAME + name: "mattermost-envs" + - name: MM_ELASTICSEARCHSETTINGS_PASSWORD + valueFrom: + secretKeyRef: + key: MM_ELASTICSEARCHSETTINGS_PASSWORD + name: "mattermost-envs" + {{- end }} {{- range .Values.existingSecretEnvs }} - {{ tpl (toYaml .) $ | nindent 4 }} {{- end }} diff --git a/chart/values.yaml b/chart/values.yaml index 293e31447e559f7e2e0ac3330111e5aa3c5ccb05..f10de223bc3698be83eaa5d3b57b6d9207fe5c3b 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -152,3 +152,26 @@ fileStore: url: "" # Bucket for existing file store, leave empty for chart created minio bucket: "" + +elasticsearch: + # NOTE: Elasticsearch settings can be defined, but will not work unless enterprise mode is enabled. + enabled: false + # The address of the Elasticsearch server, default is internal elasticsearch + connectionurl: "https://logging-ek-es-http.logging.svc.cluster.local:9200" + # if using BB elasticsearch leave user/pass blank + username: "" + password: "" + # When true, indexing of new posts occurs automatically. Search queries will use database search until "Enable Elasticsearch for search queries" is enabled. + enableindexing: true + # Elasticsearch index prefix + indexprefix: "mm-" + # When true, Mattermost will not require the Elasticsearch certificate to be signed by a trusted Certificate Authority + skiptlsverification: true + # Frequency to index to elasticsearch + bulkindexingtimewindowseconds: 3600 + # When true, sniffing finds and connects to all data nodes in your cluster automatically. + sniff: false + # When true, Elasticsearch will be used for all search queries using the latest index. Search results may be incomplete until a bulk index of the existing post database is finished. When false, database search is used. + enablesearching: true + # When true, Elasticsearch will be used for all autocompletion queries on users and channels using the latest index. Autocompletion results may be incomplete until a bulk index of the existing users and channels database is finished. When false, database autocomplete is used. + enableautocomplete: true