mirror of
https://github.com/k8s-at-home/charts.git
synced 2025-01-23 23:49:12 +00:00
[mqtt-exporter] Add new chart (#1584)
* added mqtt-exporter * added servicemonitor * fix interval * fix timeout * exclude from ct * docs * Update charts/stable/mqtt-exporter/values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * Update charts/stable/mqtt-exporter/values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * Update charts/stable/mqtt-exporter/values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * Update charts/stable/mqtt-exporter/values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * Update charts/stable/mqtt-exporter/values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * Update charts/stable/mqtt-exporter/values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * Update charts/stable/mqtt-exporter/values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * Update charts/stable/mqtt-exporter/values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * Update charts/stable/mqtt-exporter/values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * Update charts/stable/mqtt-exporter/values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * Update charts/stable/mqtt-exporter/values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * Update charts/stable/mqtt-exporter/values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * Update charts/stable/mqtt-exporter/templates/servicemonitor.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * Update charts/stable/mqtt-exporter/values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * fix ci * fix docs * fixes * Update values.yaml * Update values.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
This commit is contained in:
parent
7a849b1e16
commit
93b52f1910
26
charts/stable/mqtt-exporter/.helmignore
Normal file
26
charts/stable/mqtt-exporter/.helmignore
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# 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
|
26
charts/stable/mqtt-exporter/Chart.yaml
Normal file
26
charts/stable/mqtt-exporter/Chart.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v2
|
||||||
|
appVersion: 1.0.0
|
||||||
|
description: Simple and generic Prometheus exporter for MQTT. Tested with Mosquitto MQTT and Xiaomi sensors.
|
||||||
|
name: mqtt-exporter
|
||||||
|
version: 1.0.0
|
||||||
|
kubeVersion: ">=1.16.0-0"
|
||||||
|
keywords:
|
||||||
|
- zigbee2mqtt
|
||||||
|
- prometheus
|
||||||
|
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/mqtt-exporter
|
||||||
|
icon: https://static.veritone.com/assets/favicon/favicon.ico
|
||||||
|
sources:
|
||||||
|
- https://github.com/kpetremann/mqtt-exporter
|
||||||
|
- https://hub.docker.com/r/kpetrem/mqtt-exporter
|
||||||
|
maintainers:
|
||||||
|
- name: philipp
|
||||||
|
email: phil@hellmi.de
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.4.2
|
||||||
|
annotations:
|
||||||
|
artifacthub.io/changes: |-
|
||||||
|
- kind: added
|
||||||
|
description: Initial version
|
62
charts/stable/mqtt-exporter/README.md
Normal file
62
charts/stable/mqtt-exporter/README.md
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# mqtt-exporter
|
||||||
|
|
||||||
|
![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square)
|
||||||
|
|
||||||
|
Simple and generic Prometheus exporter for MQTT. Tested with Mosquitto MQTT and Xiaomi sensors.
|
||||||
|
|
||||||
|
**Homepage:** <https://github.com/k8s-at-home/charts/tree/master/charts/stable/mqtt-exporter>
|
||||||
|
|
||||||
|
## Maintainers
|
||||||
|
|
||||||
|
| Name | Email | Url |
|
||||||
|
| ---- | ------ | --- |
|
||||||
|
| philipp | phil@hellmi.de | |
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
* <https://github.com/kpetremann/mqtt-exporter>
|
||||||
|
* <https://hub.docker.com/r/kpetrem/mqtt-exporter>
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
Kubernetes: `>=1.16.0-0`
|
||||||
|
|
||||||
|
| Repository | Name | Version |
|
||||||
|
|------------|------|---------|
|
||||||
|
| https://library-charts.k8s-at-home.com | common | 4.4.2 |
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| env | object | See below | environment variables. See [image docs](https://developer.us-1.veritone.com/machinebox/overview) for more details. |
|
||||||
|
| env.LOG_LEVEL | string | `"INFO"` | Logging level |
|
||||||
|
| env.MQTT_ADDRESS | string | `"127.0.0.1"` | IP or hostname of MQTT broker |
|
||||||
|
| env.MQTT_IGNORED_TOPICS | string | `nil` | Comma-separated lists of topics to ignore. Accepts wildcards. |
|
||||||
|
| env.MQTT_KEEPALIVE | int | `60` | Keep alive interval to maintain connection with MQTT broker |
|
||||||
|
| env.MQTT_PASSWORD | string | `nil` | Password which should be used to authenticate against the MQTT broker |
|
||||||
|
| env.MQTT_PORT | int | `1883` | TCP port of MQTT broker |
|
||||||
|
| env.MQTT_TOPIC | string | `"#"` | Topic path to subscribe to |
|
||||||
|
| env.MQTT_USERNAME | string | `nil` | Username which should be used to authenticate against the MQTT broker |
|
||||||
|
| env.PROMETHEUS_PORT | int | `9000` | HTTP server PORT to expose Prometheus metrics |
|
||||||
|
| env.PROMETHEUS_PREFIX | string | `"mqtt_"` | Prefix added to the metric name, example: mqtt_temperature |
|
||||||
|
| env.TOPIC_LABEL | string | `"topic"` | Define the Prometheus label for the topic, example temperature{topic="device1"} |
|
||||||
|
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||||
|
| env.ZIGBEE2MQTT_AVAILABILITY | string | `"False"` | Normalize sensor name for device availability metric added by Zigbee2MQTT |
|
||||||
|
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| image.repository | string | `"kpetrem/mqtt-exporter"` | image repository |
|
||||||
|
| image.tag | string | `"latest"` | image tag |
|
||||||
|
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
|
||||||
|
| metrics.enabled | bool | See values.yaml | Enable and configure a Prometheus serviceMonitor for the chart under this key. |
|
||||||
|
| metrics.serviceMonitor.interval | string | `"30s"` | Interval at which Prometheus should scrape metrics |
|
||||||
|
| metrics.serviceMonitor.labels | object | `{}` | Additional labels for the Kubernetes `ServiceMonitor` object |
|
||||||
|
| metrics.serviceMonitor.scrapeTimeout | string | `"10s"` | Timeout after which the scrape is ended |
|
||||||
|
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
||||||
|
| securityContext.capabilities.drop[0] | string | `"ALL"` | |
|
||||||
|
| securityContext.readOnlyRootFilesystem | bool | `true` | |
|
||||||
|
| securityContext.runAsNonRoot | bool | `true` | |
|
||||||
|
| securityContext.runAsUser | int | `65534` | |
|
||||||
|
| service | object | See values.yaml | Configures service settings for the chart. |
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
9
charts/stable/mqtt-exporter/README_CONFIG.md.gotmpl
Normal file
9
charts/stable/mqtt-exporter/README_CONFIG.md.gotmpl
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{{- define "custom.custom.configuration.header" -}}
|
||||||
|
## Custom configuration
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "custom.custom.configuration" -}}
|
||||||
|
{{ template "custom.custom.configuration.header" . }}
|
||||||
|
|
||||||
|
N/A
|
||||||
|
{{- end -}}
|
10
charts/stable/mqtt-exporter/ci/ct-values.yaml
Normal file
10
charts/stable/mqtt-exporter/ci/ct-values.yaml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# Test
|
||||||
|
|
||||||
|
additionalContainers:
|
||||||
|
mosquitto:
|
||||||
|
name: mosquitto
|
||||||
|
image: eclipse-mosquitto:1.6.8
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
ports:
|
||||||
|
- name: mqtt
|
||||||
|
containerPort: 1883
|
1
charts/stable/mqtt-exporter/templates/NOTES.txt
Normal file
1
charts/stable/mqtt-exporter/templates/NOTES.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
{{- include "common.notes.defaultNotes" . -}}
|
1
charts/stable/mqtt-exporter/templates/common.yaml
Normal file
1
charts/stable/mqtt-exporter/templates/common.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
{{ include "common.all" . }}
|
28
charts/stable/mqtt-exporter/templates/servicemonitor.yaml
Normal file
28
charts/stable/mqtt-exporter/templates/servicemonitor.yaml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{{- if .Values.metrics.enabled }}
|
||||||
|
{{- include "common.values.setup" . -}}
|
||||||
|
---
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ include "common.names.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "common.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.metrics.serviceMonitor.labels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
annotations:
|
||||||
|
{{- include "common.annotations" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "common.labels.selectorLabels" . | nindent 6 }}
|
||||||
|
endpoints:
|
||||||
|
- port: http
|
||||||
|
{{- with .Values.metrics.serviceMonitor.interval }}
|
||||||
|
interval: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.metrics.serviceMonitor.scrapeTimeout }}
|
||||||
|
scrapeTimeout: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
path: /metrics
|
||||||
|
{{- end }}
|
85
charts/stable/mqtt-exporter/values.yaml
Normal file
85
charts/stable/mqtt-exporter/values.yaml
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
#
|
||||||
|
# IMPORTANT NOTE
|
||||||
|
#
|
||||||
|
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||||
|
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
|
||||||
|
#
|
||||||
|
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: kpetrem/mqtt-exporter
|
||||||
|
# -- image tag
|
||||||
|
tag: latest
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
|
# -- environment variables. See [image docs](https://developer.us-1.veritone.com/machinebox/overview) for more details.
|
||||||
|
# @default -- See below
|
||||||
|
env:
|
||||||
|
# -- Set the container timezone
|
||||||
|
TZ: UTC
|
||||||
|
# -- Logging level
|
||||||
|
LOG_LEVEL: INFO
|
||||||
|
# -- Comma-separated lists of topics to ignore. Accepts wildcards.
|
||||||
|
MQTT_IGNORED_TOPICS:
|
||||||
|
# -- IP or hostname of MQTT broker
|
||||||
|
MQTT_ADDRESS: 127.0.0.1
|
||||||
|
# -- TCP port of MQTT broker
|
||||||
|
MQTT_PORT: 1883
|
||||||
|
# -- Topic path to subscribe to
|
||||||
|
MQTT_TOPIC: "#"
|
||||||
|
# -- Keep alive interval to maintain connection with MQTT broker
|
||||||
|
MQTT_KEEPALIVE: 60
|
||||||
|
# -- Username which should be used to authenticate against the MQTT broker
|
||||||
|
MQTT_USERNAME:
|
||||||
|
# -- Password which should be used to authenticate against the MQTT broker
|
||||||
|
MQTT_PASSWORD:
|
||||||
|
# -- HTTP server PORT to expose Prometheus metrics
|
||||||
|
PROMETHEUS_PORT: 9000
|
||||||
|
# -- Prefix added to the metric name, example: mqtt_temperature
|
||||||
|
PROMETHEUS_PREFIX: mqtt_
|
||||||
|
# -- Define the Prometheus label for the topic, example temperature{topic="device1"}
|
||||||
|
TOPIC_LABEL: topic
|
||||||
|
# -- Normalize sensor name for device availability metric added by Zigbee2MQTT
|
||||||
|
ZIGBEE2MQTT_AVAILABILITY: "False"
|
||||||
|
|
||||||
|
# -- Configures service settings for the chart.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 9000
|
||||||
|
|
||||||
|
metrics:
|
||||||
|
# -- Enable and configure a Prometheus serviceMonitor for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
enabled: false
|
||||||
|
serviceMonitor:
|
||||||
|
# -- Interval at which Prometheus should scrape metrics
|
||||||
|
interval: 30s
|
||||||
|
# -- Timeout after which the scrape is ended
|
||||||
|
scrapeTimeout: 10s
|
||||||
|
# -- Additional labels for the Kubernetes `ServiceMonitor` object
|
||||||
|
labels: {}
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
# -- Enable and configure ingress settings for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# -- Configure persistence settings for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
enabled: false
|
||||||
|
mountPath: /conf
|
||||||
|
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 65534
|
Loading…
Reference in New Issue
Block a user