[zwavejs2mqtt] new chart (#483)

Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <6213398+bjw-s@users.noreply.github.com>
This commit is contained in:
ᗪєνιη ᗷυнʟ 2021-01-08 10:34:54 -05:00 committed by GitHub
parent 72f2dedacd
commit adf03889a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 256 additions and 0 deletions

View File

@ -0,0 +1,24 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# OWNERS file for Kubernetes
OWNERS

View File

@ -0,0 +1,21 @@
apiVersion: v2
appVersion: 1.0.0-alpha.2
description: Fully configurable Zwave to MQTT Gateway and Control Panel
name: zwavejs2mqtt
version: 1.0.0
keywords:
- zwave
- mqtt
- home-assistant
home: https://github.com/k8s-at-home/charts/tree/master/charts/zwavejs2mqtt
icon: https://github.com/OpenZWave/Zwave2Mqtt/raw/master/docs/OZW_Logo.png
sources:
- https://github.com/zwave-js/zwavejs2mqtt
- https://hub.docker.com/r/zwavejs/zwavejs2mqtt
maintainers:
- name: billimek
email: jeff@billimek.com
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 2.2.1

View File

@ -0,0 +1,8 @@
approvers:
- billimek
- onedr0p
- bjw-s
reviewers:
- billimek
- onedr0p
- bjw-s

View File

@ -0,0 +1,97 @@
# zwavejs2mqtt
This is a helm chart for [zwavejs2mqtt](https://github.com/zwave-js/zwavejs2mqtt).
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
## TL;DR;
```shell
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/zwavejs2mqtt
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/zwavejs2mqtt
```
**IMPORTANT NOTE:** a zwave controller device must be accessible on the node where this pod runs, in order for this chart to function properly.
First, you will need to mount your zwave device into the pod, you can do so by adding the following to your values:
```yaml
additionalVolumeMounts:
- name: usb
mountPath: /path/to/device
additionalVolumes:
- name: usb
hostPath:
path: /path/to/device
```
Second you will need to set a nodeAffinity rule, for example:
```yaml
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: app
operator: In
values:
- zwave-controller
```
... where a node with an attached zwave controller USB device is labeled with `app: zwave-controller`
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```console
helm delete my-release --purge
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/zwavejs2mqtt/values.yaml)
file. It has several commented out suggested values.
Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install my-release \
--set env.TZ="America/New_York" \
k8s-at-home/zwavejs2mqtt
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install my-release k8s-at-home/zwavejs2mqtt --values values.yaml
```
```yaml
image:
tag: ...
```
---
**NOTE**
If you get
```console
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...`
```
it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`.
---
## Upgrading an existing Release to a new major version
A major chart version change (like 4.0.1 -> 5.0.0) indicates that there is an incompatible breaking change potentially needing manual actions.

View File

@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@ -0,0 +1 @@
{{ include "common.all" . }}

View File

@ -0,0 +1,104 @@
# Default values for zwavejs2mqtt.
image:
repository: zwavejs/zwavejs2mqtt
pullPolicy: IfNotPresent
tag: 1.0.0-alpha.2
strategy:
type: Recreate
# # See more environment variables in the zwavejs2mqtt documentation
# https://zwave-js.github.io/zwavejs2mqtt/#/guide/env-vars
env: {}
# OZW_NETWORK_KEY:
probes:
liveness:
enabled: true
# custom: true
# spec:
# failureThreshold: 5
# httpGet:
# path: /health
# port: http
# httpHeaders:
# - name: Accept
# value: text/plain
# initialDelaySeconds: 30
# periodSeconds: 10
# timeoutSeconds: 10
readiness:
enabled: true
# custom: true
# spec:
# failureThreshold: 5
# httpGet:
# path: /health
# port: http
# httpHeaders:
# - name: Accept
# value: text/plain
# initialDelaySeconds: 30
# periodSeconds: 10
# timeoutSeconds: 10
startup:
enabled: false
# custom: true
# spec:
# failureThreshold: 5
# httpGet:
# path: /health
# port: http
# httpHeaders:
# - name: Accept
# value: text/plain
# initialDelaySeconds: 30
# periodSeconds: 10
# timeoutSeconds: 10
service:
port:
port: 8091
securityContext:
privileged: true
persistence:
config:
enabled: false
emptyDir: false
mountPath: /usr/src/app/store
## Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
# storageClass: "-"
# accessMode: ReadWriteOnce
# size: 1Gi
## Do not delete the pvc upon helm uninstall
# skipuninstall: false
# existingClaim: ""
# Path to your zwave device in the container
additionalVolumeMounts:
- name: usb
mountPath: /dev/serial/by-id/usb-0658_0200-if00
# Path to your zwave device on the host
additionalVolumes:
- name: usb
hostPath:
path: /dev/serial/by-id/usb-0658_0200-if00
# affinity:
# nodeAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# nodeSelectorTerms:
# - matchExpressions:
# - key: app
# operator: In
# values:
# - zwave-controller