## FROM: https://github.com/OpenZWave/Zwave2Mqtt --- apiVersion: apps/v1 kind: Deployment metadata: name: zwave2mqtt spec: replicas: 1 selector: matchLabels: name: zwave2mqtt template: metadata: labels: name: zwave2mqtt spec: containers: - name: zwave2mqtt image: docker-registry.lan/zwave2mqtt:arm64 livenessProbe: failureThreshold: 12 httpGet: httpHeaders: - name: Accept value: text/plain path: / port: http initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 2 ports: - containerPort: 8091 name: http protocol: TCP resources: limits: cpu: '1' memory: 512Mi requests: cpu: '1' memory: 200Mi securityContext: allowPrivilegeEscalation: true privileged: true volumeMounts: - mountPath: /usr/src/app/store name: data # - mountPath: /usr/local/etc/openzwave # name: ozwdatabase # - mountPath: /usr/src/app/store/settings.json <-- if putting your settings.json in a secret # name: config # readOnly: true # subPath: settings.json # nodeSelector: # kubernetes.io/hostname: stick1 #<--- the name of your cluster node that the zwave usb stick in # - name: socat # image: docker-registry.lan/socat:arm64 # args: # - pty,link=/dev/ttySER2NET0,raw,user=root,group=root,mode=660 # - tcp:auto:3333 # securityContext: # allowPrivilegeEscalation: true # privileged: true volumes: # - name: config <-- if putting your settings.json in a secret # secret: # defaultMode: 420 # secretName: zwave2mqtt #- name: zwavestick # hostPath: # path: /dev/ttyACM0 # type: File - name: data persistentVolumeClaim: claimName: zwave2mqtt-storage # - name: ozwdatabase # hostPath: # path: /zwave2mqtt/database --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: zwave2mqtt-storage labels: app: zwave2mqtt spec: storageClassName: nfs-ssd accessModes: - ReadWriteOnce resources: requests: storage: 20Mi --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: zwave2mqtt spec: rules: - host: zwave.lan http: paths: - backend: serviceName: zwave2mqtt servicePort: http --- apiVersion: v1 kind: Service metadata: name: zwave2mqtt spec: ports: - name: http port: 80 targetPort: http selector: name: zwave2mqtt