fix(ring-mqtt): move to stable + docs (#3675)

* fix(ring-mqtt): move to stable + docs

* update files

* Apply suggestions from code review

* update md

* lint

* lint

Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
This commit is contained in:
Xstar97
2022-09-03 23:28:51 +03:00
committed by GitHub
co-authored by Stavros Kois
parent a7726e8134
commit baf2f5ea8e
10 changed files with 445 additions and 299 deletions
+30
View File
@@ -0,0 +1,30 @@
# 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
# helm-docs templates
*.gotmpl
# docs folder
/docs
# icon
icon.png
+164
View File
@@ -0,0 +1,164 @@
# Changelog
## [ring-mqtt-0.0.23](https://github.com/truecharts/charts/compare/ring-mqtt-0.0.22...ring-mqtt-0.0.23) (2022-09-01)
### Chore
- update docker general non-major ([#3649](https://github.com/truecharts/charts/issues/3649))
## [ring-mqtt-0.0.22](https://github.com/truecharts/charts/compare/ring-mqtt-0.0.20...ring-mqtt-0.0.22) (2022-08-30)
### Chore
- Auto-update chart README [skip ci]
- update helm general non-major ([#3639](https://github.com/truecharts/charts/issues/3639))
- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626))
## [ring-mqtt-0.0.21](https://github.com/truecharts/charts/compare/ring-mqtt-0.0.20...ring-mqtt-0.0.21) (2022-08-30)
### Chore
- update helm chart common to v10.5.5 ([#3626](https://github.com/truecharts/charts/issues/3626))
## [ring-mqtt-0.0.20](https://github.com/truecharts/charts/compare/ring-mqtt-0.0.19...ring-mqtt-0.0.20) (2022-08-29)
### Chore
- update helm general non-major ([#3619](https://github.com/truecharts/charts/issues/3619))
## [ring-mqtt-0.0.19](https://github.com/truecharts/charts/compare/ring-mqtt-0.0.17...ring-mqtt-0.0.19) (2022-08-26)
### Fix
- some cleanup ([#3586](https://github.com/truecharts/charts/issues/3586))
## [ring-mqtt-0.0.17](https://github.com/truecharts/charts/compare/ring-mqtt-0.0.16...ring-mqtt-0.0.17) (2022-08-23)
### Chore
- update helm general non-major helm releases ([#3545](https://github.com/truecharts/charts/issues/3545))
## [ring-mqtt-0.0.16](https://github.com/truecharts/charts/compare/ring-mqtt-0.0.15...ring-mqtt-0.0.16) (2022-08-12)
### Chore
- add documentation checkbox/section to all SCALE Apps
- update helm general non-major helm releases ([#3456](https://github.com/truecharts/charts/issues/3456))
### Fix
- move extraArgs from .Values.controller to .Values ([#3447](https://github.com/truecharts/charts/issues/3447))
## [ring-mqtt-0.0.15](https://github.com/truecharts/charts/compare/ring-mqtt-0.0.14...ring-mqtt-0.0.15) (2022-08-08)
### Chore
- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376))
- replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402))
## [ring-mqtt-0.0.14](https://github.com/truecharts/apps/compare/ring-mqtt-0.0.13...ring-mqtt-0.0.14) (2022-07-26)
### Chore
- update home links ([#3291](https://github.com/truecharts/apps/issues/3291))
- update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302))
## [ring-mqtt-0.0.13](https://github.com/truecharts/apps/compare/ring-mqtt-0.0.12...ring-mqtt-0.0.13) (2022-07-25)
### Chore
- update docker general non-major ([#3300](https://github.com/truecharts/apps/issues/3300))
### Chore
- add fake digest to new incubator Apps to fetch digests
## [ring-mqtt-0.0.12](https://github.com/truecharts/apps/compare/ring-mqtt-0.0.11...ring-mqtt-0.0.12) (2022-07-23)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280))
## [ring-mqtt-0.0.12](https://github.com/truecharts/apps/compare/ring-mqtt-0.0.11...ring-mqtt-0.0.12) (2022-07-23)
### Chore
- Auto-update chart README [skip ci]
- update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280))
## [ring-mqtt-0.0.12](https://github.com/truecharts/apps/compare/ring-mqtt-0.0.11...ring-mqtt-0.0.12) (2022-07-23)
### Chore
- update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280))
## [ring-mqtt-0.0.11]ring-mqtt-0.0.11 (2022-07-22)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Bump all charts to generate config and container references due to huge increase of repository
- Move Dev to incubator and some cleanup
## [ring-mqtt-0.0.10]ring-mqtt-0.0.10 (2022-07-22)
### Chore
- Auto-update chart README [skip ci]
- Move Dev to incubator and some cleanup
## [ring-mqtt-0.0.10]ring-mqtt-0.0.10 (2022-07-22)
### Chore
- Move Dev to incubator and some cleanup
+32
View File
@@ -0,0 +1,32 @@
apiVersion: v2
appVersion: "5.0.3"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.5.6
deprecated: false
description: Interact with Ring Inc products (cameras/alarms/smart lighting) via MQTT.
home: https://truecharts.org/docs/charts/stable/ring-mqtt
icon: https://truecharts.org/img/hotlink-ok/chart-icons/ring-mqtt.png
keywords:
- ring-mqtt
- HomeAutomation
- Tools-Utilities
kubeVersion: ">=1.16.0-0"
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: ring-mqtt
sources:
- https://github.com/truecharts/charts/tree/master/charts/stable/ring-mqtt
- https://github.com/tsightler/ring-mqtt
- https://hub.docker.com/r/tsightler/ring-mqtt/
type: application
version: 1.0.0
annotations:
truecharts.org/catagories: |
- HomeAutomation
- Tools-Utilities
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U
+109
View File
@@ -0,0 +1,109 @@
# ring-mqtt
![Version: 0.0.23](https://img.shields.io/badge/Version-0.0.23-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square)
Interact with Ring Inc products (cameras/alarms/smart lighting) via MQTT - See the project page for token auth procedure - https://github.com/tsightler/ring-mqtt#authentication
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
For more information, please click here: [ring-mqtt](https://truecharts.org/docs/charts/incubator/ring-mqtt)
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
## Source Code
* <https://github.com/truecharts/charts/tree/master/charts/incubator/ring-mqtt>
* <https://github.com/tsightler/ring-mqtt>
* <https://hub.docker.com/r/tsightler/ring-mqtt/>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.truecharts.org | common | 10.5.6 |
## Installing the Chart
### TrueNAS SCALE
To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Installing-an-App).
### Helm
To install the chart with the release name `ring-mqtt`
```console
helm repo add TrueCharts https://charts.truecharts.org
helm repo update
helm install ring-mqtt TrueCharts/ring-mqtt
```
## Uninstall
### TrueNAS SCALE
**Upgrading, Rolling Back and Uninstalling the Chart**
To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Upgrade-rollback-delete-an-App).
### Helm
To uninstall the `ring-mqtt` deployment
```console
helm uninstall ring-mqtt
```
## Configuration
### Helm
#### Available Settings
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/truecharts/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).
#### Configure using the command line
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install ring-mqtt \
--set env.TZ="America/New York" \
TrueCharts/ring-mqtt
```
#### Configure using a yaml file
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install ring-mqtt TrueCharts/ring-mqtt -f values.yaml
```
#### Connecting to other charts
If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/linking-apps) quick-start guide.
## Support
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
- See the [Website](https://truecharts.org)
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
---
## Sponsor TrueCharts
TrueCharts can only exist due to the incredible effort of our staff.
Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
---
All Rights Reserved - The TrueCharts Project
@@ -0,0 +1,60 @@
# Installation Notes
- Follow the prerequisite guides below before attempting `Ring-MQTT` installation.
## MQTT setup
- I used the chart called `mosquitto` install it as normal and set `Authentication` to **true**. here's the [auth guide](https://truecharts.org/docs/charts/stable/mosquitto/setup-guide).
## Ring-MQTT setup
- `RINGTOKEN` can be left blank as you can auth through the temporarily web interface which is just for the authorization of your ring account.
- Go to `http://SCALE_IP:55123`.
- Set `MQTTHOST` to **mosquitto.ix-mosquitto.svc.cluster.local**.
- Set `MQTTPORT` to **1883**.
- Set `MQTTUSER` to **user_name** from the authentication setup.
- Set `MQTTPASSWORD` to **user_pass** from the authentication setup.
- Set `ENABLECAMERAS` to **true** to enable cameras.
- Set `SNAPSHOTMODE` to **Auto** to optimize based on high vs low-power Ring devices.
- Set `ENABLEMODES` to **false**.
- Set `ENABLEPANIC` to **false**.
- Set `BEAMDURATION` to **0**.
- Leave `DISARMCODE` blank.
- Leave `RINGLOCATIONIDS` blank.
## Home-assistant setup
- Install the chart `home-assistant` if you have not done so.
- In home-assistant go to settings -> devices & integrations -> click add integration -> search for `mqtt`.
- Set `broker` to `mosquitto.ix-mosquitto.svc.cluster.local`.
- Set `port` to `1883`.
- Set `username` and `password` to the MQTT auth user and pass.
- Set the `MQTT options` as needed.
- Shell into home-assistant, use truetool.sh or other means to modify the file `/config/configuration.yaml`.
- Add the following code.
```yaml
shell_command:
ring_snap: "ffmpeg -y -i {{RTSP_URL}} -vframes 1 {{fileDirName}}"
```
- Create a new dir called `www` in `/config/`.
- Validate home-assistant configuration in `developer tools` and if passes; click on restart to use the service `ring_snap` in automations.
- Here's a sample on how to create a `live snapshot` automation.
- This will override the previous image if saved as `/config/www/snapshot.jpg`
```yaml
service: shell_command.ring_snap
data:
RTSP_URL: "{{ states.sensor.front_door_info.attributes.stream_Source }}"
fileDirName: "/config/www/snapshot.jpg"
```
- Note: You **must** save the file in `/config/www/` or set the option to allow other dirs for home-assistant to be used.
- Now you can create a live snapshot automation in `home-assistant`.
Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

+232
View File
@@ -0,0 +1,232 @@
# Include{groups}
portals: {}
questions:
# Include{global}
# Include{controller}
# Include{controllerDeployment}
# Include{replicas}
# Include{replica1}
# Include{strategy}
# Include{recreate}
# Include{controllerExpert}
# Include{controllerExpertExtraArgs}
- variable: secretEnv
group: "Container Configuration"
label: "Image Secrets"
schema:
additional_attrs: true
type: dict
attrs:
- variable: RINGTOKEN
label: "RINGTOKEN"
description: "RINGTOKEN can be left blank for web authenticated."
schema:
type: string
private: true
default: ""
- variable: MQTTUSER
label: "MQTTUSER"
description: "Set a username for your MQTT instance."
schema:
type: string
default: ""
- variable: MQTTPASSWORD
label: "MQTTPASSWORD"
description: "Set a password for your MQTT instance."
schema:
type: string
default: ""
private: true
- variable: env
group: "Container Configuration"
label: "Image Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: MQTTHOST
label: "MQTTHOST"
description: "Set the MQTT host cluster url or ip. ex: `mosquitto.ix-mosquitto.svc.cluster.local`."
schema:
type: string
default: ""
- variable: MQTTPORT
label: "MQTTPORT"
description: "Set MQTTPORT to the port that your MQTT uses."
schema:
type: int
default: 1883
- variable: ENABLECAMERAS
label: "ENABLECAMERAS"
description: "Default false since the native Ring component for Home Assistant supports cameras, set to true to enable camera/chime support in this add-on. Access to Chimes cannot be granted to shared users so Chime support requires use of the primary Ring account."
schema:
type: boolean
default: false
- variable: SNAPSHOTMODE
label: "SNAPSHOTMODE"
description: "Set SNAPSHOTMODE to [`Auto``, `Motion`, `Interval`, `All`] or default `disabled`"
schema:
type: string
default: "disabled"
enum:
- value: disabled
description: Disabled
- value: auto
description: Auto
- value: motion
description: Motion
- value: interval
description: Interval
- value: all
description: All
- variable: ENABLEMODES
label: "ENABLEMODES"
description: "Enable support for Location Modes for sites without a Ring Alarm Panel."
schema:
type: boolean
default: false
- variable: ENABLEPANIC
label: "ENABLEPANIC"
description: "Enable panic buttons on Alarm Control Panel device."
schema:
type: boolean
default: false
- variable: BEAMDURATION
label: "BEAMDURATION"
description: "Container Variable BEAMDURATION"
schema:
type: string
default: "0"
- variable: DISARMCODE
label: "DISARMCODE"
description: "Used only with Home Assistant, when defined this option causes the Home Assistant Alarm Control Panel integration to require entering this code to disarm the alarm"
schema:
type: string
default: ""
- variable: RINGLOCATIONIDS
label: "RINGLOCATIONIDS"
description: "Array of location Ids in format: [`loc-id`, `loc-id2`], see [Limiting Locations](https://github.com/tsightler/ring-mqtt/wiki/Configuration-Details#limiting-locations) for details."
schema:
type: string
default: ""
# Include{containerConfig}
# Include{serviceRoot}
- variable: main
label: "Main Service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: main
label: "Main Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 55123
required: true
# Include{advancedPortHTTP}
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 55123
- variable: rtsp
label: "RCON Service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: rtsp
label: "RTSP Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 8554
required: true
# Include{advancedPortTCP}
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 8554
# Include{serviceExpertRoot}
default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
- variable: data
label: "data Storage"
description: "Data Path"
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
# Include{persistenceList}
# Include{ingressList}
# Include{security}
# Include{securityContextAdvancedRoot}
- variable: privileged
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: false
- variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation"
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: "runAsNonRoot"
schema:
type: boolean
default: false
# Include{securityContextAdvanced}
# Include{podSecurityContextRoot}
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 0
- variable: runAsGroup
label: "runAsGroup"
description: The groupID this App of the user running the application"
schema:
type: int
default: 0
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 568
# Include{podSecurityContextAdvanced}
# Include{resources}
# Include{advanced}
# Include{addons}
# Include{documentation}
@@ -0,0 +1,2 @@
{{/* Render the templates */}}
{{ include "tc.common.loader.all" . }}
+50
View File
@@ -0,0 +1,50 @@
image:
pullPolicy: IfNotPresent
repository: tccr.io/truecharts/ring-mqtt
tag: 5.0.3@sha256:a089c8c1514c5c80cc2fc1fa529f633290538a963df5e3d0c7c93b14fd92b633
podSecurityContext:
runAsGroup: 0
runAsUser: 0
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
secretEnv:
RINGTOKEN: ""
MQTTUSER: ""
MQTTPASSWORD: ""
env:
BEAMDURATION: "0"
DISARMCODE: ""
ENABLECAMERAS: "false"
ENABLEMODES: "false"
ENABLEPANIC: "false"
MQTTHOST: ""
MQTTPORT: "1883"
RINGLOCATIONIDS: ""
SNAPSHOTMODE: disabled
service:
main:
ports:
main:
protocol: HTTP
targetPort: 55123
port: 55123
rtsp:
ports:
rtsp:
protocol: TCP
targetPort: 8554
port: 8554
persistence:
data:
enabled: true
mountPath: /data
portal:
enabled: false