apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-config labels: app.kubernetes.io/name: {{ .Chart.Name }} app.kubernetes.io/instance: {{ .Release.Name }} data: config.yml: | service: update_interval: {{ .Values.config.service.update_interval }} log_level: {{ .Values.config.service.log_level }} mqtt: server: {{ .Values.config.mqtt.server | quote }} {{- if .Values.existingSecret }} user: ${MQTT_USER} password: ${MQTT_PASSWORD} {{- else }} user: {{ .Values.config.mqtt.user | quote }} password: {{ .Values.config.mqtt.password | quote }} {{- end }} client_id: {{ .Values.config.mqtt.client_id | quote }} discovery: {{ .Values.config.mqtt.discovery }} discovery_prefix: {{ .Values.config.mqtt.discovery_prefix | quote }} topic_prefix: {{ .Values.config.mqtt.topic_prefix | quote }} state_topic: {{ .Values.config.mqtt.state_topic | quote }} command_topic: {{ .Values.config.mqtt.command_topic | quote }} availability_topic: {{ .Values.config.mqtt.availability_topic | quote }} {{- with .Values.config.mqtt.ca_cert }} ca_cert: {{ . | quote }} {{- end }} {{- with .Values.config.mqtt.client_cert }} client_cert: {{ . | quote }} {{- end }} {{- with .Values.config.mqtt.client_key }} client_key: {{ . | quote }} {{- end }} devices: {{- range .Values.config.devices }} - ip: {{ .ip | quote }} mac: {{ .mac | quote }} name: {{ .name | quote }} {{- with .port }} port: {{ . }} {{- end }} {{- with .temp_unit }} temp_unit: {{ . | quote }} {{- end }} {{- end }}