diff --git a/deploy/charts/emqx/templates/StatefulSet.yaml b/deploy/charts/emqx/templates/StatefulSet.yaml index 3c2ff54f2..8df226335 100644 --- a/deploy/charts/emqx/templates/StatefulSet.yaml +++ b/deploy/charts/emqx/templates/StatefulSet.yaml @@ -1,3 +1,8 @@ +{{ $configData := printf "%s\n%s\n%s\n%s" + (include (print $.Template.BasePath "/configmap.env.yaml") .) + (include (print $.Template.BasePath "/configmap.acl.yaml") .) + (include (print $.Template.BasePath "/configmap.loadedPlugins.yaml") .) + (include (print $.Template.BasePath "/configmap.loadedModules.yaml") .) }} apiVersion: apps/v1 kind: StatefulSet metadata: @@ -50,28 +55,34 @@ spec: app.kubernetes.io/instance: {{ .Release.Name }} {{- if .Values.recreatePods }} annotations: - checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum | quote }} + checksum/config: {{ $configData | sha256sum | quote }} {{- end }} spec: volumes: + {{- if .Values.emqxLoadedPlugins }} - name: emqx-loaded-plugins configMap: name: {{ include "emqx.fullname" . }}-loaded-plugins items: - key: loaded_plugins path: loaded_plugins + {{- end }} + {{- if .Values.emqxLoadedPlugins }} - name: emqx-loaded-modules configMap: name: {{ include "emqx.fullname" . }}-loaded-modules items: - key: loaded_modules path: loaded_modules + {{- end }} + {{- if .Values.emqxAclConfig }} - name: emqx-acl configMap: name: {{ include "emqx.fullname" . }}-acl items: - key: acl.conf path: acl.conf + {{- end }} {{- if not .Values.persistence.enabled }} - name: emqx-data emptyDir: {} @@ -155,16 +166,22 @@ spec: volumeMounts: - name: emqx-data mountPath: "/opt/emqx/data" + {{- if .Values.emqxAclConfig }} - name: emqx-acl mountPath: "/opt/emqx/etc/acl.conf" subPath: "acl.conf" + {{- end }} + {{- if .Values.emqxLoadedPlugins }} - name: emqx-loaded-plugins mountPath: "/opt/emqx/data/loaded_plugins" subPath: "loaded_plugins" + {{- end }} + {{- if .Values.emqxLoadedModules }} - name: emqx-loaded-modules mountPath: "/opt/emqx/data/loaded_modules" subPath: "loaded_modules" - {{ if .Values.emqxLicenseSecretName }} + {{- end }} + {{- if .Values.emqxLicenseSecretName }} - name: emqx-license mountPath: "/opt/emqx/etc/emqx.lic" subPath: "emqx.lic" diff --git a/deploy/charts/emqx/templates/configmap.acl.yaml b/deploy/charts/emqx/templates/configmap.acl.yaml new file mode 100644 index 000000000..897ea0f48 --- /dev/null +++ b/deploy/charts/emqx/templates/configmap.acl.yaml @@ -0,0 +1,15 @@ +{{ if .Values.emqxAclConfig }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "emqx.fullname" . }}-acl + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: {{ include "emqx.name" . }} + helm.sh/chart: {{ include "emqx.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +data: + "acl.conf": | + {{ .Values.emqxAclConfig }} +{{ end }} \ No newline at end of file diff --git a/deploy/charts/emqx/templates/configmap.env.yaml b/deploy/charts/emqx/templates/configmap.env.yaml new file mode 100644 index 000000000..ffd1b66dc --- /dev/null +++ b/deploy/charts/emqx/templates/configmap.env.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "emqx.fullname" . }}-env + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: {{ include "emqx.name" . }} + helm.sh/chart: {{ include "emqx.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +data: + {{- range $index, $value := .Values.emqxConfig}} + {{$index}}: "{{ $value }}" + {{- end}} diff --git a/deploy/charts/emqx/templates/configmap.loadedModules.yaml b/deploy/charts/emqx/templates/configmap.loadedModules.yaml new file mode 100644 index 000000000..099db396a --- /dev/null +++ b/deploy/charts/emqx/templates/configmap.loadedModules.yaml @@ -0,0 +1,15 @@ +{{ if .Values.emqxLoadedModules }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "emqx.fullname" . }}-loaded-modules + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: {{ include "emqx.name" . }} + helm.sh/chart: {{ include "emqx.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +data: + "loaded_modules": | + {{ .Values.emqxLoadedModules }} +{{ end }} \ No newline at end of file diff --git a/deploy/charts/emqx/templates/configmap.loadedPlugins.yaml b/deploy/charts/emqx/templates/configmap.loadedPlugins.yaml new file mode 100644 index 000000000..df77368f9 --- /dev/null +++ b/deploy/charts/emqx/templates/configmap.loadedPlugins.yaml @@ -0,0 +1,15 @@ +{{ if .Values.emqxLoadedPlugins }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "emqx.fullname" . }}-loaded-plugins + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: {{ include "emqx.name" . }} + helm.sh/chart: {{ include "emqx.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +data: + "loaded_plugins": | + {{ .Values.emqxLoadedPlugins }} +{{ end }} \ No newline at end of file diff --git a/deploy/charts/emqx/templates/configmap.yaml b/deploy/charts/emqx/templates/configmap.yaml deleted file mode 100644 index c9c4b4770..000000000 --- a/deploy/charts/emqx/templates/configmap.yaml +++ /dev/null @@ -1,59 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "emqx.fullname" . }}-env - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: {{ include "emqx.name" . }} - helm.sh/chart: {{ include "emqx.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -data: - {{- range $index, $value := .Values.emqxConfig}} - {{$index}}: "{{ $value }}" - {{- end}} - ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "emqx.fullname" . }}-acl - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: {{ include "emqx.name" . }} - helm.sh/chart: {{ include "emqx.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -data: - "acl.conf": | - {{ .Values.emqxAclConfig }} - ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "emqx.fullname" . }}-loaded-plugins - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: {{ include "emqx.name" . }} - helm.sh/chart: {{ include "emqx.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -data: - "loaded_plugins": | - {{ .Values.emqxLoadedPlugins }} - ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "emqx.fullname" . }}-loaded-modules - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: {{ include "emqx.name" . }} - helm.sh/chart: {{ include "emqx.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -data: - "loaded_modules": | - {{ .Values.emqxLoadedModules }}