feat(helm-chart): split configs into multiple files for readability
feat(helm-chart): added conditional volumes in StatefulSet feat(helm-chart): revised checksum logic to include all config
This commit is contained in:
parent
ec902871cf
commit
6a5dc485e2
|
@ -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
|
apiVersion: apps/v1
|
||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
metadata:
|
metadata:
|
||||||
|
@ -50,28 +55,34 @@ spec:
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
{{- if .Values.recreatePods }}
|
{{- if .Values.recreatePods }}
|
||||||
annotations:
|
annotations:
|
||||||
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum | quote }}
|
checksum/config: {{ $configData | sha256sum | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
volumes:
|
volumes:
|
||||||
|
{{- if .Values.emqxLoadedPlugins }}
|
||||||
- name: emqx-loaded-plugins
|
- name: emqx-loaded-plugins
|
||||||
configMap:
|
configMap:
|
||||||
name: {{ include "emqx.fullname" . }}-loaded-plugins
|
name: {{ include "emqx.fullname" . }}-loaded-plugins
|
||||||
items:
|
items:
|
||||||
- key: loaded_plugins
|
- key: loaded_plugins
|
||||||
path: loaded_plugins
|
path: loaded_plugins
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.emqxLoadedPlugins }}
|
||||||
- name: emqx-loaded-modules
|
- name: emqx-loaded-modules
|
||||||
configMap:
|
configMap:
|
||||||
name: {{ include "emqx.fullname" . }}-loaded-modules
|
name: {{ include "emqx.fullname" . }}-loaded-modules
|
||||||
items:
|
items:
|
||||||
- key: loaded_modules
|
- key: loaded_modules
|
||||||
path: loaded_modules
|
path: loaded_modules
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.emqxAclConfig }}
|
||||||
- name: emqx-acl
|
- name: emqx-acl
|
||||||
configMap:
|
configMap:
|
||||||
name: {{ include "emqx.fullname" . }}-acl
|
name: {{ include "emqx.fullname" . }}-acl
|
||||||
items:
|
items:
|
||||||
- key: acl.conf
|
- key: acl.conf
|
||||||
path: acl.conf
|
path: acl.conf
|
||||||
|
{{- end }}
|
||||||
{{- if not .Values.persistence.enabled }}
|
{{- if not .Values.persistence.enabled }}
|
||||||
- name: emqx-data
|
- name: emqx-data
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
|
@ -155,16 +166,22 @@ spec:
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: emqx-data
|
- name: emqx-data
|
||||||
mountPath: "/opt/emqx/data"
|
mountPath: "/opt/emqx/data"
|
||||||
|
{{- if .Values.emqxAclConfig }}
|
||||||
- name: emqx-acl
|
- name: emqx-acl
|
||||||
mountPath: "/opt/emqx/etc/acl.conf"
|
mountPath: "/opt/emqx/etc/acl.conf"
|
||||||
subPath: "acl.conf"
|
subPath: "acl.conf"
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.emqxLoadedPlugins }}
|
||||||
- name: emqx-loaded-plugins
|
- name: emqx-loaded-plugins
|
||||||
mountPath: "/opt/emqx/data/loaded_plugins"
|
mountPath: "/opt/emqx/data/loaded_plugins"
|
||||||
subPath: "loaded_plugins"
|
subPath: "loaded_plugins"
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.emqxLoadedModules }}
|
||||||
- name: emqx-loaded-modules
|
- name: emqx-loaded-modules
|
||||||
mountPath: "/opt/emqx/data/loaded_modules"
|
mountPath: "/opt/emqx/data/loaded_modules"
|
||||||
subPath: "loaded_modules"
|
subPath: "loaded_modules"
|
||||||
{{ if .Values.emqxLicenseSecretName }}
|
{{- end }}
|
||||||
|
{{- if .Values.emqxLicenseSecretName }}
|
||||||
- name: emqx-license
|
- name: emqx-license
|
||||||
mountPath: "/opt/emqx/etc/emqx.lic"
|
mountPath: "/opt/emqx/etc/emqx.lic"
|
||||||
subPath: "emqx.lic"
|
subPath: "emqx.lic"
|
||||||
|
|
|
@ -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 }}
|
|
@ -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}}
|
|
@ -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 }}
|
|
@ -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 }}
|
|
@ -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 }}
|
|
Loading…
Reference in New Issue