image:
  repository: tccr.io/truecharts/eclipse-mosquitto
  tag: v2.0.14@sha256:3a706bd94ae6f98a9eacf56c4ba43f3895e567f23eb0c9bdd74a0d912052c883
  pullPolicy: IfNotPresent

service:
  main:
    ports:
      main:
        port: 1883
        targetPort: 1883

auth:
  # -- By enabling this, `allow_anonymous` gets set to `false` in the mosquitto config.
  enabled: false

configmap:
  config:
    enabled: true
    data:
      mosquitto.conf: |
        listener {{ .Values.service.main.ports.main.port }}
        {{- if .Values.auth.enabled }}
        allow_anonymous false
        {{- else }}
        allow_anonymous true
        {{- end }}
        {{- if .Values.persistence.data.enabled }}
        persistence true
        persistence_location {{ .Values.persistence.data.mountPath }}
        autosave_interval 1800
        {{- end }}
        {{- if .Values.persistence.configinc.enabled }}
        include_dir {{ .Values.persistence.configinc.mountPath }}
        {{- end }}

persistence:
  data:
    enabled: true
    mountPath: "/mosquitto/data"
  configinc:
    enabled: true
    mountPath: "/mosquitto/configinc"
  mosquitto-config:
    enabled: "true"
    mountPath: "/mosquitto/config/mosquitto.conf"
    subPath: "mosquitto.conf"
    type: "custom"
    volumeSpec:
      configMap:
        name: '{{ template "tc.common.names.fullname" . }}-config'
