From 17be5ad1be555c4528b484c22efbac68390efa36 Mon Sep 17 00:00:00 2001 From: Antoine Bertin Date: Sat, 18 Jan 2025 18:09:04 +0100 Subject: [PATCH] feat(zigbee2mqtt): add secondary instance --- .../apps/home-automation/kustomization.yaml | 2 +- .../app/helmrelease.yaml | 51 +++++++++++-------- .../app/kustomization.yaml | 1 - .../app/secret.sops.yaml | 6 +-- .../ks.yaml | 4 +- 5 files changed, 37 insertions(+), 27 deletions(-) rename kubernetes/apps/home-automation/{zigbee2mqtt-old => zigbee2mqtt-secondary}/app/helmrelease.yaml (65%) rename kubernetes/apps/home-automation/{zigbee2mqtt-old => zigbee2mqtt-secondary}/app/kustomization.yaml (91%) rename kubernetes/apps/home-automation/{zigbee2mqtt-old => zigbee2mqtt-secondary}/app/secret.sops.yaml (84%) rename kubernetes/apps/home-automation/{zigbee2mqtt-old => zigbee2mqtt-secondary}/ks.yaml (84%) diff --git a/kubernetes/apps/home-automation/kustomization.yaml b/kubernetes/apps/home-automation/kustomization.yaml index daa897a255..fcc46ba101 100644 --- a/kubernetes/apps/home-automation/kustomization.yaml +++ b/kubernetes/apps/home-automation/kustomization.yaml @@ -9,4 +9,4 @@ resources: - ./go2rtc/ks.yaml - ./home-assistant/ks.yaml - ./zigbee2mqtt/ks.yaml - - ./zigbee2mqtt-old/ks.yaml + - ./zigbee2mqtt-secondary/ks.yaml diff --git a/kubernetes/apps/home-automation/zigbee2mqtt-old/app/helmrelease.yaml b/kubernetes/apps/home-automation/zigbee2mqtt-secondary/app/helmrelease.yaml similarity index 65% rename from kubernetes/apps/home-automation/zigbee2mqtt-old/app/helmrelease.yaml rename to kubernetes/apps/home-automation/zigbee2mqtt-secondary/app/helmrelease.yaml index da38915629..09f663e307 100644 --- a/kubernetes/apps/home-automation/zigbee2mqtt-old/app/helmrelease.yaml +++ b/kubernetes/apps/home-automation/zigbee2mqtt-secondary/app/helmrelease.yaml @@ -3,7 +3,7 @@ apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: - name: zigbee2mqtt-old + name: zigbee2mqtt-secondary spec: interval: 30m chart: @@ -29,7 +29,7 @@ spec: namespace: volsync-system values: controllers: - zigbee2mqtt-old: + zigbee2mqtt: annotations: reloader.stakater.com/auto: "true" pod: @@ -44,30 +44,39 @@ spec: app: image: repository: ghcr.io/koenkk/zigbee2mqtt - tag: 1.42.0@sha256:732ae43d714610040bd049487b60af3b2dbcfdefb5f169897455b60d715e2131 + tag: 2.0.0@sha256:6105a3a01a66bbfb98909a7c309d0707ec7b41728ac15d399747077225231545 env: ZIGBEE2MQTT_DATA: /data - ZIGBEE2MQTT_CONFIG_MQTT_BASE_TOPIC: zigbee2mqtt-old + # adapter + ZIGBEE2MQTT_CONFIG_SERIAL_PORT: tcp://tubeszb-cc2652.milkyway:6638 + ZIGBEE2MQTT_CONFIG_SERIAL_ADAPTER: zstack + # mqtt ZIGBEE2MQTT_CONFIG_MQTT_SERVER: mqtt://emqx-listeners.database.svc.cluster.local:1883 + ZIGBEE2MQTT_CONFIG_MQTT_BASE_TOPIC: zigbee2mqtt-secondary ZIGBEE2MQTT_CONFIG_MQTT_USER: ${EMQX_USER_USERNAME} ZIGBEE2MQTT_CONFIG_MQTT_PASSWORD: ${EMQX_USER_PASSWORD} ZIGBEE2MQTT_CONFIG_MQTT_VERSION: 5 - ZIGBEE2MQTT_CONFIG_SERIAL_PORT: tcp://zigbee.milkyway:6638 - ZIGBEE2MQTT_CONFIG_FRONTEND_URL: https://zigbee2mqtt-old.${DOMAIN} - ZIGBEE2MQTT_CONFIG_ADVANCED_LEGACY_API: "false" - ZIGBEE2MQTT_CONFIG_ADVANCED_LEGACY_AVAILABILITY_PAYLOAD: "false" + ZIGBEE2MQTT_CONFIG_ADVANCED_LAST_SEEN: ISO_8601 + # zigbee network + ZIGBEE2MQTT_CONFIG_ADVANCED_CHANNEL: 20 + # frontend + ZIGBEE2MQTT_CONFIG_FRONTEND_ENABLED: true + ZIGBEE2MQTT_CONFIG_FRONTEND_URL: https://zigbee2mqtt-secondary.${DOMAIN} + # devices and groups + ZIGBEE2MQTT_CONFIG_DEVICES: devices.yaml + ZIGBEE2MQTT_CONFIG_GROUPS: groups.yaml + # logging ZIGBEE2MQTT_CONFIG_ADVANCED_LOG_LEVEL: info ZIGBEE2MQTT_CONFIG_ADVANCED_LOG_OUTPUT: '["console"]' - ZIGBEE2MQTT_CONFIG_ADVANCED_HOMEASSISTANT_LEGACY_ENTITY_ATTRIBUTES: "false" - ZIGBEE2MQTT_CONFIG_ADVANCED_HOMEASSISTANT_LEGACY_TRIGGERS: "false" - ZIGBEE2MQTT_CONFIG_ADVANCED_HOMEASSISTANT_STATUS_TOPIC: homeassistant/status + # device-availability + ZIGBEE2MQTT_CONFIG_AVAILABILITY_ENABLED: true ZIGBEE2MQTT_CONFIG_AVAILABILITY_ACTIVE_TIMEOUT: 60 ZIGBEE2MQTT_CONFIG_AVAILABILITY_PASSIVE_TIMEOUT: 2000 - ZIGBEE2MQTT_CONFIG_DEVICE_OPTIONS_RETAIN: "true" - ZIGBEE2MQTT_CONFIG_HOMEASSISTANT: "true" - envFrom: - - secretRef: - name: zigbee2mqtt-old + ZIGBEE2MQTT_CONFIG_DEVICE_OPTIONS_RETAIN: true + # home-assistant + ZIGBEE2MQTT_CONFIG_HOMEASSISTANT_ENABLED: true + # security + ZIGBEE2MQTT_CONFIG_PERMIT_JOIN: false probes: liveness: enabled: true @@ -81,7 +90,9 @@ spec: securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true - capabilities: { drop: ["ALL"] } + capabilities: + drop: ["ALL"] + add: ["NET_BIND_SERVICE"] resources: requests: cpu: 20m @@ -90,7 +101,7 @@ spec: memory: 500Mi service: app: - controller: zigbee2mqtt-old + controller: zigbee2mqtt ports: http: port: 8080 @@ -98,7 +109,7 @@ spec: app: className: internal hosts: - - host: zigbee2mqtt-old.${DOMAIN} + - host: zigbee2mqtt-secondary.${DOMAIN} paths: - path: / service: @@ -106,4 +117,4 @@ spec: port: http persistence: data: - existingClaim: zigbee2mqtt-old + existingClaim: zigbee2mqtt-secondary diff --git a/kubernetes/apps/home-automation/zigbee2mqtt-old/app/kustomization.yaml b/kubernetes/apps/home-automation/zigbee2mqtt-secondary/app/kustomization.yaml similarity index 91% rename from kubernetes/apps/home-automation/zigbee2mqtt-old/app/kustomization.yaml rename to kubernetes/apps/home-automation/zigbee2mqtt-secondary/app/kustomization.yaml index d7de6246ae..e7cbdeaade 100644 --- a/kubernetes/apps/home-automation/zigbee2mqtt-old/app/kustomization.yaml +++ b/kubernetes/apps/home-automation/zigbee2mqtt-secondary/app/kustomization.yaml @@ -4,6 +4,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - ./helmrelease.yaml - - ./secret.sops.yaml - ../../../../templates/persistence - ../../../../templates/gatus/guarded diff --git a/kubernetes/apps/home-automation/zigbee2mqtt-old/app/secret.sops.yaml b/kubernetes/apps/home-automation/zigbee2mqtt-secondary/app/secret.sops.yaml similarity index 84% rename from kubernetes/apps/home-automation/zigbee2mqtt-old/app/secret.sops.yaml rename to kubernetes/apps/home-automation/zigbee2mqtt-secondary/app/secret.sops.yaml index f33baaea3a..8134788c9c 100644 --- a/kubernetes/apps/home-automation/zigbee2mqtt-old/app/secret.sops.yaml +++ b/kubernetes/apps/home-automation/zigbee2mqtt-secondary/app/secret.sops.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Secret metadata: - name: zigbee2mqtt-old + name: zigbee2mqtt-secondary stringData: ZIGBEE2MQTT_CONFIG_ADVANCED_PAN_ID: ENC[AES256_GCM,data:qy3wLrA=,iv:QVZQR88HFKMZP3hLVNpcleLLDj0da41HRumUkq7ZcPA=,tag:P4LbNgc+2HDZ4JS+jcEejA==,type:str] ZIGBEE2MQTT_CONFIG_ADVANCED_EXT_PAN_ID: ENC[AES256_GCM,data:XT0GGug4RXMNjSeNzwCRtwSoNRMI4fB6yQNyP96Y2sk=,iv:4JRTHLzI1aXygBMmQ8UdoJgV3cUj5rxd0/8XWKo5niU=,tag:B81despZn8ohWAN1pYUXRg==,type:str] @@ -22,8 +22,8 @@ sops: Um4xWW1NbzVtWWZwa0J5TVg2bjljRTgKuOYdmIdwA0NM4ZPZKtctRdV+Fuhh2VYu 01QWsAIomzh5fPc0+nbPvdNDwhGRVPuMEgKdPTA6FuVYqWIIXoM6vg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-01-11T09:09:34Z" - mac: ENC[AES256_GCM,data:9HCuhS2Q/z6fuMKMEd/bBTxxFypgd+EgXrrF9N1WaoD3zJSTzJwOfR/std/V5l1uIGf/2Lqc/f+1SoCVgE6MFz4na+ywKboVJVY99D3GI7qIJrhxV2Q4ZqXthFjvtBS5RQYqtp6XOLzgo3HQpb/w9rK0TtfqHNY8HsrcKUwHgNo=,iv:zwregG/VXbjgOxq25CwH0E02jzBKPQca3QJ0lYIamlA=,tag:Ht03zDhjzpaLoU6IRRTaug==,type:str] + lastmodified: "2025-01-18T17:08:06Z" + mac: ENC[AES256_GCM,data:7iEz/cWrOwM/k3CHu+XV/RcmZSqKLJQ21nQJeKnSCub1b3Fh61gBIY5bKJOeOd/BEPW9utAnHNP+JPrU9/kfE+SK0nQa2VrQxN4HhUSKq6ncTWNWCgpaDOB9wVA/J8HVOgF4L2FVW4RLTpSdliAPx0RHJG0HTpozqA0Y+yyjiyY=,iv:9i5XidThTezIUVy+et4cy4ulAI85cQN8/oslZUlJrEU=,tag:etAXZG+QjU97h3yrHMiAIg==,type:str] pgp: - created_at: "2024-06-22T15:24:38Z" enc: |- diff --git a/kubernetes/apps/home-automation/zigbee2mqtt-old/ks.yaml b/kubernetes/apps/home-automation/zigbee2mqtt-secondary/ks.yaml similarity index 84% rename from kubernetes/apps/home-automation/zigbee2mqtt-old/ks.yaml rename to kubernetes/apps/home-automation/zigbee2mqtt-secondary/ks.yaml index f95b90d18b..e4e871899d 100644 --- a/kubernetes/apps/home-automation/zigbee2mqtt-old/ks.yaml +++ b/kubernetes/apps/home-automation/zigbee2mqtt-secondary/ks.yaml @@ -3,14 +3,14 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: - name: &app zigbee2mqtt-old + name: &app zigbee2mqtt-secondary namespace: flux-system spec: targetNamespace: home-automation commonMetadata: labels: app.kubernetes.io/name: *app - path: ./kubernetes/apps/home-automation/zigbee2mqtt-old/app + path: ./kubernetes/apps/home-automation/zigbee2mqtt-secondary/app sourceRef: kind: GitRepository name: home-kubernetes