charts/charts/stable/zwavejs2mqtt/README.md
2021-06-17 22:16:41 +00:00

175 lines
5.8 KiB
Markdown

# zwavejs2mqtt
![Version: 4.1.0](https://img.shields.io/badge/Version-4.1.0-informational?style=flat-square) ![AppVersion: 5.0.2](https://img.shields.io/badge/AppVersion-5.0.2-informational?style=flat-square)
Fully configurable Zwave to MQTT Gateway and Control Panel
**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)**
## Source Code
* <https://github.com/zwave-js/zwavejs2mqtt>
* <https://hub.docker.com/r/zwavejs/zwavejs2mqtt>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.k8s-at-home.com | common | 3.2.0 |
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install zwavejs2mqtt k8s-at-home/zwavejs2mqtt
```
## Installing the Chart
To install the chart with the release name `zwavejs2mqtt`
```console
helm install zwavejs2mqtt k8s-at-home/zwavejs2mqtt
```
## Uninstalling the Chart
To uninstall the `zwavejs2mqtt` deployment
```console
helm uninstall zwavejs2mqtt
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install zwavejs2mqtt \
--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.
```console
helm install zwavejs2mqtt k8s-at-home/zwavejs2mqtt -f values.yaml
```
## Custom configuration
**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`
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | Affinity constraint rules to place the Pod on a specific node. [[ref]](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) |
| env | object | See below | environment variables. See [image docs](https://zwave-js.github.io/zwavejs2mqtt/#/guide/env-vars) for more details. |
| env.NETWORK_KEY | string | `nil` | Zwave Network key |
| env.TZ | string | `"UTC"` | Set the container timezone |
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"zwavejs/zwavejs2mqtt"` | image repository |
| image.tag | string | `"5.0.2"` | image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| persistence.usb | object | See values.yaml | Configure a hostPathMount to mount a USB device in the container. |
| securityContext.privileged | bool | `true` | (bool) Privileged securityContext may be required if USB devices are accessed directly through the host machine |
| service | object | See values.yaml | Configures service settings for the chart. |
## Changelog
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#changelog).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [4.0.0]
#### Changed
- **BREAKING**: Upgraded the common library dependency to version 3.1.1. This introduces several breaking changes (`service`, `ingress` and `persistence` keys have been refactored).
Be sure to check out the [library chart](https://github.com/k8s-at-home/library-charts/blob/common-3.1.1/charts/stable/common/) for the up-to-date values.
- Changed image tag to ``.
### [3.4.2]
#### Added
- N/A
#### Changed
- Updated icon url.
#### Removed
- N/A
### [1.0.0]
#### Added
- N/A
#### Changed
- N/A
#### Removed
- N/A
[3.4.2]: #342
[1.0.0]: #100
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)