--- # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: &app zwave-js-ui namespace: default spec: interval: 30m chart: spec: chart: app-template version: 3.5.1 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system maxHistory: 2 install: createNamespace: true remediation: retries: 3 upgrade: cleanupOnFail: true remediation: strategy: rollback retries: 3 uninstall: keepHistory: false values: defaultPodOptions: nodeSelector: aeotec.feature.node.kubernetes.io/zwave: "true" controllers: zwave-js-ui: annotations: reloader.stakater.com/auto: "true" containers: app: image: repository: ghcr.io/zwave-js/zwave-js-ui tag: 9.24.0@sha256:ed648be6b058c6aa74abca1868c3ac48cb82b06b22ef0ef4f7ba66dd9d331bfc env: TZ: ${TIMEZONE} probes: liveness: &probes enabled: true custom: true spec: httpGet: path: /health port: &port 8091 initialDelaySeconds: 0 periodSeconds: 10 timeoutSeconds: 1 failureThreshold: 3 readiness: *probes startup: enabled: false securityContext: privileged: true resources: requests: cpu: 50m memory: 64Mi limits: memory: 512Mi service: app: controller: *app ports: http: port: *port websocket: port: 3000 serviceMonitor: app: serviceName: *app enabled: true # requires https://github.com/kvaster/zwavejs-prom endpoints: - port: http scheme: http path: /metrics interval: 1m scrapeTimeout: 10s ingress: app: enabled: true className: nginx annotations: nginx.ingress.kubernetes.io/auth-method: GET nginx.ingress.kubernetes.io/auth-url: http://authelia.default.svc.cluster.local.:8888/api/verify nginx.ingress.kubernetes.io/auth-signin: https://auth.${SECRET_EXTERNAL_DOMAIN}?rm=$request_method nginx.ingress.kubernetes.io/auth-response-headers: Remote-User,Remote-Name,Remote-Groups,Remote-Email nginx.ingress.kubernetes.io/auth-snippet: proxy_set_header X-Forwarded-Method $request_method; hajimari.io/icon: mdi:z-wave gethomepage.dev/enabled: "true" gethomepage.dev/name: Zwave-js-ui gethomepage.dev/description: Bridge for connecting Zwave devices to MQTT networks. gethomepage.dev/group: Applications gethomepage.dev/icon: zwave-js-ui.png gethomepage.dev/pod-selector: >- app in ( zwave-js-ui ) hosts: - host: &host "zwave.${SECRET_EXTERNAL_DOMAIN}" paths: - path: / pathType: Prefix service: identifier: app port: http tls: - hosts: - *host persistence: config: enabled: true existingClaim: *app globalMounts: - path: /usr/src/app/store usb: type: hostPath hostPath: /dev/serial/by-id/usb-0658_0200-if00 hostPathType: CharDevice globalMounts: - path: /dev/serial/by-id/usb-0658_0200-if00