apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: zigbee2mqtt namespace: zigbee2mqtt spec: interval: 30m chart: spec: chart: zigbee2mqtt version: "2.12.1" sourceRef: kind: HelmRepository name: zigbee2mqtt driftDetection: mode: enabled values: service: type: ClusterIP port: 8080 statefulset: storage: enabled: true size: 1Gi storageClassName: longhorn secrets: name: zigbee2mqtt-secrets configmap: enabled: true # devices.yaml / groups.yaml already exist on the PV and are the live source # of truth (zigbee2mqtt mutates them as devices pair/rename). Do not set # configmap.devices here — the chart only seeds devices.yaml from it when # the file is missing, but leaving it unset avoids any risk of clobbering # the real data and any drift between this file and reality. zigbee2mqtt: homeassistant: enabled: true experimental_event_entities: true permit_join: false timezone: Europe/Moscow mqtt: server: "mqtt://mosquitto.mqtt.svc.cluster.local:1883" user: iot password: "!secret.yaml mqtt_password" include_device_information: true keepalive: 60 reject_unauthorized: true version: 4 serial: port: "tcp://10.0.64.72:6638" adapter: ember baudrate: 115200 rtscts: false frontend: enabled: true port: 8080 url: "https://zigbee2mqtt.aggtaa.com" advanced: channel: 11 pan_id: 7410 ext_pan_id: [46, 22, 201, 245, 48, 186, 40, 6] network_key: "!secret.yaml network_key" log_level: info ingress: enabled: true ingressClassName: traefik annotations: cert-manager.io/cluster-issuer: letsencrypt-prod traefik.ingress.kubernetes.io/router.middlewares: auth-tinyauth@kubernetescrd hosts: - host: zigbee2mqtt.aggtaa.com paths: - path: / pathType: Prefix tls: - secretName: zigbee2mqtt-tls hosts: - zigbee2mqtt.aggtaa.com