Compare commits

..

10 Commits

48 changed files with 7621 additions and 22 deletions

View File

@@ -28,7 +28,9 @@ See [charts folder](./charts) for a complete list.
* [zigbee2mqttassistant](./charts/zigbee2mqttassistant) - A WebUI for Zigbee2MQTT. * [zigbee2mqttassistant](./charts/zigbee2mqttassistant) - A WebUI for Zigbee2MQTT.
* [hg612-exporter](./charts/hg612-exporter) - A Prometheus exporter for HG612 xDSL Modems. * [hg612-exporter](./charts/hg612-exporter) - A Prometheus exporter for HG612 xDSL Modems.
* [aaisp-exporter](./charts/aaisp-exporter) - A Prometheus exporter for [Andrews & Arnold](https://www.aa.net.uk/) CHAOSv2 API. * [aaisp-exporter](./charts/aaisp-exporter) - A Prometheus exporter for [Andrews & Arnold](https://www.aa.net.uk/) CHAOSv2 API.
* [plex-exporter](./charts/plex-exporter) - A Prometheus exporter for Plex Media Server * [plex-exporter](./charts/plex-exporter) - A Prometheus exporter for Plex Media Server.
* [vmware-exporter](./charts/vmware-exporter) - A Prometheus exporter for VMware vSphere.
* [mqtt-exporter](./charts/mqtt-exporter) - A generic Prometheus exporter for MQTT data.
## License ## License

View File

@@ -1,14 +1,14 @@
apiVersion: v2 apiVersion: v2
appVersion: 0.0.1 appVersion: 0.1.2
description: A prometheus exporter for the HG612 modem description: A prometheus exporter for the HG612 modem
name: hg612-exporter name: hg612-exporter
version: 0.0.3 version: 1.1.3
kubeVersion: ">=1.16.0-0" kubeVersion: ">=1.16.0-0"
keywords: keywords:
- hg612-exporter - hg612-exporter
home: https://github.com/nikdoof/helm-charts/tree/master/charts/hg612-exporter home: https://github.com/nikdoof/helm-charts/tree/master/charts/hg612-exporter
sources: sources:
- https://github.com/nikdoof/hg612-exporter-docker - https://github.com/nikdoof/hg612-exporter
maintainers: maintainers:
- name: nikdoof - name: nikdoof
email: andy@tensixtyone.com email: andy@tensixtyone.com

View File

@@ -1,6 +1,6 @@
# hg612-exporter # hg612-exporter
![Version: 0.0.2](https://img.shields.io/badge/Version-0.0.2-informational?style=flat-square) ![AppVersion: 0.0.1](https://img.shields.io/badge/AppVersion-0.0.1-informational?style=flat-square) ![Version: 1.1.3](https://img.shields.io/badge/Version-1.1.3-informational?style=flat-square) ![AppVersion: 0.1.2](https://img.shields.io/badge/AppVersion-0.1.2-informational?style=flat-square)
A prometheus exporter for the HG612 modem A prometheus exporter for the HG612 modem
@@ -8,7 +8,7 @@ A prometheus exporter for the HG612 modem
## Source Code ## Source Code
* <https://github.com/nikdoof/hg612-exporter-docker> * <https://github.com/nikdoof/hg612-exporter>
## Requirements ## Requirements
@@ -77,9 +77,11 @@ N/A
|-----|------|---------|-------------| |-----|------|---------|-------------|
| env | object | See below | environment variables. See more environment variables in the [hg612-exporter documentation](https://hg612-exporter.org/docs). | | env | object | See below | environment variables. See more environment variables in the [hg612-exporter documentation](https://hg612-exporter.org/docs). |
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy | | image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"nikdoof/hg612-exporter"` | image repository | | image.repository | string | `"ghcr.io/nikdoof/hg612-exporter"` | image repository |
| image.tag | string | `"0.0.1"` | image tag | | image.tag | string | `"0.1.2"` | image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. | | ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| metrics.dashboards | object | See values.yaml | Enable and configure Grafana dashboard ConfigMaps for the chart under this key. |
| metrics.dashboards.namespace | string | `nil` | Namespace to create the dashboards ConfigMap under. |
| metrics.enabled | bool | See values.yaml | Enable and configure a Prometheus serviceMonitor 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.prometheusRule | object | See values.yaml | Enable and configure Prometheus Rules for the chart under this key. | | metrics.prometheusRule | object | See values.yaml | Enable and configure Prometheus Rules for the chart under this key. |
| metrics.prometheusRule.rules | list | See prometheusrules.yaml | Configure additionial rules for the chart under this key. | | metrics.prometheusRule.rules | list | See prometheusrules.yaml | Configure additionial rules for the chart under this key. |
@@ -98,6 +100,62 @@ All notable changes to this application Helm chart will be documented in this fi
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). 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).
### [1.1.3]
#### Added
- N/A
#### Changed
- Improve chart to handle exporter pod restarts better
#### Removed
- N/A
### [1.1.2]
#### Added
- N/A
#### Changed
- Fix app startup on new container, don't override the executable name.
#### Removed
- N/A
### [1.1.1]
#### Added
- N/A
#### Changed
- Bumped to app version 0.1.2
#### Removed
- N/A
### [1.1.0]
#### Added
- Grafana dashboard ConfigMap
#### Changed
- N/A
#### Removed
- N/A
### [1.0.0] ### [1.0.0]
#### Added #### Added

View File

@@ -9,6 +9,63 @@ All notable changes to this application Helm chart will be documented in this fi
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). 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).
### [1.1.3]
#### Added
- N/A
#### Changed
- Improve chart to handle exporter pod restarts better
#### Removed
- N/A
### [1.1.2]
#### Added
- N/A
#### Changed
- Fix app startup on new container, don't override the executable name.
#### Removed
- N/A
### [1.1.1]
#### Added
- N/A
#### Changed
- Bumped to app version 0.1.2
#### Removed
- N/A
### [1.1.0]
#### Added
- Grafana dashboard ConfigMap
#### Changed
- N/A
#### Removed
- N/A
### [1.0.0] ### [1.0.0]
#### Added #### Added

View File

@@ -2,3 +2,7 @@
modem: modem:
host: test host: test
identifier: test identifier: test
metrics:
enabled: true
dashboards:
create: true

View File

@@ -0,0 +1,495 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"iteration": 1639834876425,
"links": [],
"liveNow": false,
"panels": [
{
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [
{
"options": {
"0": {
"index": 0,
"text": "Down"
},
"1": {
"index": 1,
"text": "Up"
}
},
"type": "value"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": null
},
{
"color": "green",
"value": 1
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 2,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "8.3.2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"exemplar": true,
"expr": "avg by (host) (dsl_status{host=\"$host\"})",
"interval": "",
"legendFormat": "",
"refId": "A"
}
],
"title": "DSL Status",
"type": "stat"
},
{
"fieldConfig": {
"defaults": {
"color": {
"mode": "continuous-BlYlRd"
},
"decimals": 3,
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
},
"unit": "Kbits"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 2,
"y": 0
},
"id": 4,
"options": {
"colorMode": "none",
"graphMode": "none",
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "8.3.2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"exemplar": true,
"expr": "avg by (host) (dsl_down_current_rate{host=\"$host\"})",
"interval": "",
"legendFormat": "Downstream",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"exemplar": true,
"expr": "avg by (host) (dsl_up_current_rate{host=\"$host\"})",
"hide": false,
"interval": "",
"legendFormat": "Upstream",
"refId": "C"
}
],
"title": "Current Sync Speed",
"type": "stat"
},
{
"fieldConfig": {
"defaults": {
"color": {
"mode": "continuous-BlYlRd"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
},
"unit": "Kbits"
},
"overrides": [
{
"matcher": {
"id": "byRegexp",
"options": "Max.*"
},
"properties": [
{
"id": "custom.fillOpacity",
"value": 10
},
{
"id": "custom.lineWidth",
"value": 0
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 11,
"x": 0,
"y": 6
},
"id": 6,
"options": {
"legend": {
"calcs": [],
"displayMode": "hidden",
"placement": "bottom"
},
"tooltip": {
"mode": "multi"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"exemplar": true,
"expr": "avg by (host) (dsl_down_current_rate{host=\"$host\"})",
"interval": "",
"legendFormat": "Down",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"exemplar": true,
"expr": "avg by (host) (dsl_down_max_rate{host=\"$host\"})",
"hide": false,
"interval": "",
"legendFormat": "Max Attainable",
"refId": "B"
},
{
"datasource": {
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"exemplar": true,
"expr": "avg by (host) (dsl_up_current_rate{host=\"$host\"}) * -1",
"hide": false,
"interval": "",
"legendFormat": "Up",
"refId": "C"
},
{
"datasource": {
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"exemplar": true,
"expr": "avg by (host) (dsl_up_max_rate{host=\"$host\"}) * -1",
"hide": false,
"interval": "",
"legendFormat": "Max Attainable",
"refId": "D"
}
],
"title": "Sync Speed",
"type": "timeseries"
},
{
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 11,
"x": 0,
"y": 16
},
"id": 8,
"options": {
"legend": {
"calcs": [],
"displayMode": "hidden",
"placement": "bottom"
},
"tooltip": {
"mode": "multi"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"exemplar": true,
"expr": "sum by (host) (increase(dsl_down_crc{host=\"$host\"}[$__rate_interval])) * -1",
"interval": "",
"legendFormat": "CRC Down",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"exemplar": true,
"expr": "sum by (host) (increase(dsl_up_crc{host=\"$host\"}[$__rate_interval]))",
"hide": false,
"interval": "",
"legendFormat": "CRC Up",
"refId": "B"
},
{
"datasource": {
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"exemplar": true,
"expr": "sum by (host) (increase(dsl_down_fec{host=\"$host\"}[$__rate_interval])) * -1",
"hide": false,
"interval": "",
"legendFormat": "FEC Down",
"refId": "C"
},
{
"datasource": {
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"exemplar": true,
"expr": "sum by (host) (increase(dsl_up_fec{host=\"$host\"}[$__rate_interval]))",
"hide": false,
"interval": "",
"legendFormat": "FEC Up",
"refId": "D"
},
{
"datasource": {
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"exemplar": true,
"expr": "sum by (host) (increase(dsl_down_hec{host=\"$host\"}[$__rate_interval])) * -1",
"hide": false,
"interval": "",
"legendFormat": "HEC Down",
"refId": "E"
},
{
"datasource": {
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"exemplar": true,
"expr": "sum by (host) (increase(dsl_up_hec{host=\"$host\"}[$__rate_interval]))",
"hide": false,
"interval": "",
"legendFormat": "HEC Up",
"refId": "F"
}
],
"title": "DSL Errors",
"type": "timeseries"
}
],
"schemaVersion": 33,
"style": "dark",
"tags": [
"hg612",
"hg612-exporter"
],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": "10.101.3.4",
"value": "10.101.3.4"
},
"definition": "label_values(dsl_status, host)",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "host",
"options": [],
"query": {
"query": "label_values(dsl_status, host)",
"refId": "StandardVariableQuery"
},
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "HG612",
"uid": "42KBhvTnz",
"version": 9,
"weekStart": ""
}

View File

@@ -3,7 +3,6 @@
{{/* Append the hardcoded settings */}} {{/* Append the hardcoded settings */}}
{{- define "hg612-exporter.harcodedValues" -}} {{- define "hg612-exporter.harcodedValues" -}}
command: ./app
args: args:
- "--host={{ .Values.modem.host }}" - "--host={{ .Values.modem.host }}"
- "--identifier={{ .Values.modem.identifier }}" - "--identifier={{ .Values.modem.identifier }}"

View File

@@ -0,0 +1,19 @@
{{- if and .Values.metrics.enabled .Values.metrics.dashboards.create }}
{{- $namespace := .Values.metrics.dashboards.namespace | default $.Release.Namespace }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "common.names.fullname" . }}
namespace: {{ $namespace }}
labels:
{{- include "common.labels" . | nindent 4 }}
{{- with .Values.metrics.dashboards.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
data:
{{- range $path, $_ := .Files.Glob "dashboards/*.json" }}
{{- $filename := trimSuffix (ext $path) (base $path) }}
{{ base $path }}: |-
{{ $.Files.Get $path | indent 4 }}
{{- end }}
{{- end }}

View File

@@ -7,9 +7,9 @@
image: image:
# -- image repository # -- image repository
repository: nikdoof/hg612-exporter repository: ghcr.io/nikdoof/hg612-exporter
# -- image tag # -- image tag
tag: 0.0.1 tag: 0.1.2
# -- image pull policy # -- image pull policy
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
@@ -70,3 +70,12 @@ metrics:
# for: 5m # for: 5m
# labels: # labels:
# severity: critical # severity: critical
# -- Enable and configure Grafana dashboard ConfigMaps for the chart under this key.
# @default -- See values.yaml
dashboards:
create: false
# -- Namespace to create the dashboards ConfigMap under.
# @default -- The release's namespace
namespace:
labels:
grafana_dashboard: "true"

View 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

View File

@@ -0,0 +1,18 @@
apiVersion: v2
appVersion: 1.0.0
description: A prometheus exporter for generic MQTT metrics
name: mqtt-exporter
version: 1.0.0
kubeVersion: ">=1.16.0-0"
keywords:
- mqtt-exporter
home: https://github.com/nikdoof/helm-charts/tree/master/charts/mqtt-exporter
sources:
- https://github.com/kpetremann/mqtt-exporter
maintainers:
- name: nikdoof
email: andy@tensixtyone.com
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 4.2.0

View File

@@ -0,0 +1,121 @@
# 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)
A prometheus exporter for generic MQTT metrics
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/nikdoof/helm-charts/issues/new/choose)**
## Source Code
* <https://github.com/kpetremann/mqtt-exporter>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.k8s-at-home.com | common | 4.2.0 |
## TL;DR
```console
helm repo add nikdoof-helm-charts https://nikdoof.github.io/helm-charts/
helm repo update
helm install mqtt-exporter nikdoof-helm-charts/mqtt-exporter
```
## Installing the Chart
To install the chart with the release name `mqtt-exporter`
```console
helm install mqtt-exporter nikdoof-helm-charts/mqtt-exporter
```
## Uninstalling the Chart
To uninstall the `mqtt-exporter` deployment
```console
helm uninstall mqtt-exporter
```
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 mqtt-exporter \
--set modem.host="192.168.1.1"\
nikdoof-helm-charts/mqtt-exporter
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install mqtt-exporter nikdoof-helm-charts/mqtt-exporter -f values.yaml
```
## Custom configuration
N/A
## 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 |
|-----|------|---------|-------------|
| env | object | See below | environment variables. See more environment variables in the [mqtt-exporter documentation](https://mqtt-exporter.org/docs). |
| env.MQTT_ADDRESS | string | `nil` | IP or hostname of MQTT broker (default: 127.0.0.1) |
| env.MQTT_PORT | int | `1883` | TCP port of MQTT broker (default: 1883) |
| env.MQTT_TOPIC | string | `"#"` | Topic path to subscribe to (default: #) |
| 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.prometheusRule | object | See values.yaml | Enable and configure Prometheus Rules for the chart under this key. |
| metrics.prometheusRule.rules | list | See prometheusrules.yaml | Configure additionial rules for the chart under this key. |
| metrics.serviceMonitor.interval | string | `"1m"` | |
| metrics.serviceMonitor.labels | object | `{}` | |
| metrics.serviceMonitor.scrapeTimeout | string | `"30s"` | |
| 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).
### [1.0.0]
#### Added
- Initial version
#### Changed
- N/A
#### Removed
- N/A
[1.0.0]: #100
## Support
- Open an [issue](https://github.com/nikdoof/helm-charts/issues/new/choose)
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)

View File

@@ -0,0 +1,143 @@
{{- define "custom.repository.organization" -}}
nikdoof-helm-charts
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/nikdoof/helm-charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://nikdoof.github.io/helm-charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/nikdoof/helm-charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
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).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set modem.host="192.168.1.1"\
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## 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)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- Open an [issue](https://github.com/nikdoof/helm-charts/issues/new/choose)
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
{{ "" }}

View File

@@ -0,0 +1,27 @@
{{- define "custom.changelog.header" -}}
## Changelog
{{- end -}}
{{- define "custom.changelog" -}}
{{ template "custom.changelog.header" . }}
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).
### [1.0.0]
#### Added
- Initial version
#### Changed
- N/A
#### Removed
- N/A
[1.0.0]: #100
{{- end -}}

View 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 -}}

View File

@@ -0,0 +1,3 @@
---
env:
MQTT_ADDRESS: mqtt.local

View File

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

View File

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

View File

@@ -0,0 +1,27 @@
{{- if and .Values.metrics.enabled .Values.metrics.prometheusRule.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: {{ include "common.names.fullname" . }}
labels:
{{- include "common.labels" . | nindent 4 }}
{{- with .Values.metrics.prometheusRule.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
groups:
- name: {{ include "common.names.fullname" . }}
rules:
- alert: MQTTExporterAbsent
annotations:
description: MQTT Exporter has disappeared from Prometheus service discovery.
summary: MQTT Exporter is down.
expr: |
absent(up{job=~".*{{ include "common.names.fullname" . }}.*"} == 1)
for: 5m
labels:
severity: critical
{{- with .Values.metrics.prometheusRule.rules }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}

View File

@@ -0,0 +1,24 @@
{{- if .Values.metrics.enabled }}
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 }}
spec:
selector:
matchLabels:
{{- include "common.labels.selectorLabels" . | nindent 6 }}
endpoints:
- port: metrics
{{- with .Values.metrics.serviceMonitor.interval }}
interval: {{ . }}
{{- end }}
{{- with .Values.metrics.serviceMonitor.scrapeTimeout }}
scrapeTimeout: {{ . }}
{{- end }}
path: /metrics
{{- end }}

View File

@@ -0,0 +1,73 @@
#
# 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 more environment variables in the [mqtt-exporter documentation](https://mqtt-exporter.org/docs).
# @default -- See below
env:
# -- IP or hostname of MQTT broker (default: 127.0.0.1)
MQTT_ADDRESS:
# -- TCP port of MQTT broker (default: 1883)
MQTT_PORT: 1883
# -- Topic path to subscribe to (default: #)
MQTT_TOPIC: "#"
# -- Username which should be used to authenticate against the MQTT broker (default: None)
# MQTT_USERNAME:
# -- Password which should be used to authenticate against the MQTT broker (default: None)
# MQTT_PASSWORD:
# -- Configures service settings for the chart.
# @default -- See values.yaml
service:
main:
ports:
http:
enabled: false
metrics:
enabled: true
protocol: TCP
port: 9000
ingress:
# -- Enable and configure ingress settings for the chart under this key.
# @default -- See values.yaml
main:
enabled: false
metrics:
# -- Enable and configure a Prometheus serviceMonitor for the chart under this key.
# @default -- See values.yaml
enabled: false
serviceMonitor:
interval: 1m
scrapeTimeout: 30s
labels: {}
# -- Enable and configure Prometheus Rules for the chart under this key.
# @default -- See values.yaml
prometheusRule:
enabled: false
labels: {}
# -- Configure additionial rules for the chart under this key.
# @default -- See prometheusrules.yaml
rules:
[]
# - alert: MQTTExporterAbsent
# annotations:
# description: MQTT Exporter has disappeared from Prometheus service discovery.
# summary: MQTT Exporter is down.
# expr: |
# absent(up{job=~".*mqttexporter.*"} == 1)
# for: 5m
# labels:
# severity: critical

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 0.2.2 appVersion: 0.2.2
description: A prometheus exporter for Plex Media Server description: A prometheus exporter for Plex Media Server
name: plex-exporter name: plex-exporter
version: 0.0.1 version: 0.0.3
kubeVersion: ">=1.16.0-0" kubeVersion: ">=1.16.0-0"
keywords: keywords:
- plex-exporter - plex-exporter

View File

@@ -1,6 +1,6 @@
# plex-exporter # plex-exporter
![Version: 0.0.1](https://img.shields.io/badge/Version-0.0.1-informational?style=flat-square) ![AppVersion: 0.2.2](https://img.shields.io/badge/AppVersion-0.2.2-informational?style=flat-square) ![Version: 0.0.3](https://img.shields.io/badge/Version-0.0.3-informational?style=flat-square) ![AppVersion: 0.2.2](https://img.shields.io/badge/AppVersion-0.2.2-informational?style=flat-square)
A prometheus exporter for Plex Media Server A prometheus exporter for Plex Media Server
@@ -56,7 +56,7 @@ Specify each parameter using the `--set key=value[,key=value]` argument to `helm
```console ```console
helm install plex-exporter \ helm install plex-exporter \
--set plex.server="http://192.168.1.1:32400"\ --set plex.token="000000"\
nikdoof-helm-charts/plex-exporter nikdoof-helm-charts/plex-exporter
``` ```
@@ -68,7 +68,7 @@ helm install plex-exporter nikdoof-helm-charts/plex-exporter -f values.yaml
## Custom configuration ## Custom configuration
N/A Your Plex token can either be passed as a value in values.yml, or you can provide a environment variable of `PLEX_TOKEN` or `TOKEN` by a method of your choice.
## Values ## Values
@@ -87,7 +87,9 @@ N/A
| metrics.serviceMonitor.interval | string | `"1m"` | | | metrics.serviceMonitor.interval | string | `"1m"` | |
| metrics.serviceMonitor.labels | object | `{}` | | | metrics.serviceMonitor.labels | object | `{}` | |
| metrics.serviceMonitor.scrapeTimeout | string | `"30s"` | | | metrics.serviceMonitor.scrapeTimeout | string | `"30s"` | |
| plex.server | string | `nil` | Server address of your Plex server, as a URL, including the port | | plex.autodiscover | bool | `true` | Enable autodiscover using plex.tv |
| plex.server | string | `nil` | Manual server address of your Plex server, as a URL, including the port |
| plex.token | string | `nil` | Authentication token to connect to your Plex instance |
| service | object | See values.yaml | Configures service settings for the chart. | | service | object | See values.yaml | Configures service settings for the chart. |
## Changelog ## Changelog
@@ -96,6 +98,34 @@ All notable changes to this application Helm chart will be documented in this fi
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). 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).
### [0.0.3]
#### Added
- N/A
#### Changed
- Fixed autodiscovery configuration issues when using `envFrom`
#### Removed
- N/A
### [0.0.2]
#### Added
- Support for auto discovery
#### Changed
- N/A
#### Removed
- N/A
### [0.0.1] ### [0.0.1]
#### Added #### Added

View File

@@ -76,7 +76,7 @@ Specify each parameter using the `--set key=value[,key=value]` argument to `helm
```console ```console
helm install {{ template "chart.name" . }} \ helm install {{ template "chart.name" . }} \
--set plex.server="http://192.168.1.1:32400"\ --set plex.token="000000"\
{{ template "custom.helm.path" . }} {{ template "custom.helm.path" . }}
``` ```
{{- end -}} {{- end -}}

View File

@@ -9,6 +9,34 @@ All notable changes to this application Helm chart will be documented in this fi
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). 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).
### [0.0.3]
#### Added
- N/A
#### Changed
- Fixed autodiscovery configuration issues when using `envFrom`
#### Removed
- N/A
### [0.0.2]
#### Added
- Support for auto discovery
#### Changed
- N/A
#### Removed
- N/A
### [0.0.1] ### [0.0.1]
#### Added #### Added

View File

@@ -5,5 +5,5 @@
{{- define "custom.custom.configuration" -}} {{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }} {{ template "custom.custom.configuration.header" . }}
N/A Your Plex token can either be passed as a value in values.yml, or you can provide a environment variable of `PLEX_TOKEN` or `TOKEN` by a method of your choice.
{{- end -}} {{- end -}}

View File

@@ -0,0 +1,5 @@
---
env:
PLEX_TOKEN: a0a0a0a0a
plex:
autodiscover: true

View File

@@ -0,0 +1,4 @@
---
plex:
autodiscover: true
token: a0a0a0a0a0

View File

@@ -0,0 +1,5 @@
---
plex:
autodiscovery: false
server: http://test:32400
token: a0a0a0a0a0

View File

@@ -1,3 +0,0 @@
---
plex:
server: test

View File

@@ -4,8 +4,16 @@
{{/* Append the hardcoded settings */}} {{/* Append the hardcoded settings */}}
{{- define "plex-exporter.harcodedValues" -}} {{- define "plex-exporter.harcodedValues" -}}
args: args:
{{ if .Values.plex.server }}
- "--plex-server" - "--plex-server"
- "{{ .Values.plex.server }}" - "{{ .Values.plex.server }}"
{{ else }}
- "--auto-discover"
{{ end }}
{{ if .Values.plex.token }}
- "--token"
- "{{ .Values.plex.token }}"
{{ end }}
{{- end -}} {{- end -}}
{{- $_ := mergeOverwrite .Values (include "plex-exporter.harcodedValues" . | fromYaml) -}} {{- $_ := mergeOverwrite .Values (include "plex-exporter.harcodedValues" . | fromYaml) -}}

View File

@@ -36,8 +36,12 @@ ingress:
enabled: false enabled: false
plex: plex:
# -- Server address of your Plex server, as a URL, including the port # -- Manual server address of your Plex server, as a URL, including the port
server: server:
# -- Authentication token to connect to your Plex instance
token:
# -- Enable autodiscover using plex.tv
autodiscover: true
metrics: metrics:
# -- Enable and configure a Prometheus serviceMonitor for the chart under this key. # -- Enable and configure a Prometheus serviceMonitor for the chart under this key.

View 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

View File

@@ -0,0 +1,19 @@
apiVersion: v2
appVersion: 0.18.2
description: A prometheus exporter for vSphere vCenter
name: vmware-exporter
version: 0.1.1
kubeVersion: ">=1.16.0-0"
keywords:
- vmware-exporter
home: https://github.com/nikdoof/helm-charts/tree/master/charts/vmware-exporter
sources:
- https://github.com/pryorda/vmware_exporter
- https://hub.docker.com/r/pryorda/vmware_exporter/tags
maintainers:
- name: nikdoof
email: andy@tensixtyone.com
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 4.2.0

View File

@@ -0,0 +1,149 @@
# vmware-exporter
![Version: 0.1.1](https://img.shields.io/badge/Version-0.1.1-informational?style=flat-square) ![AppVersion: 0.18.2](https://img.shields.io/badge/AppVersion-0.18.2-informational?style=flat-square)
A prometheus exporter for vSphere vCenter
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/nikdoof/helm-charts/issues/new/choose)**
## Source Code
* <https://github.com/pryorda/vmware_exporter>
* <https://hub.docker.com/r/pryorda/vmware_exporter/tags>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.k8s-at-home.com | common | 4.2.0 |
## TL;DR
```console
helm repo add nikdoof-helm-charts https://nikdoof.github.io/helm-charts/
helm repo update
helm install vmware-exporter nikdoof-helm-charts/vmware-exporter
```
## Installing the Chart
To install the chart with the release name `vmware-exporter`
```console
helm install vmware-exporter nikdoof-helm-charts/vmware-exporter
```
## Uninstalling the Chart
To uninstall the `vmware-exporter` deployment
```console
helm uninstall vmware-exporter
```
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 vmware-exporter \
--set modem.host="192.168.1.1"\
nikdoof-helm-charts/vmware-exporter
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install vmware-exporter nikdoof-helm-charts/vmware-exporter -f values.yaml
```
## Custom configuration
N/A
## 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 |
|-----|------|---------|-------------|
| env | object | See below | environment variables. See more environment variables in the [vmware-exporter documentation](https://github.com/pryorda/vmware_exporter). |
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"pryorda/vmware_exporter"` | image repository |
| image.tag | string | `"v0.18.2"` | image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| metrics.dashboards | object | See values.yaml | Enable and configure Grafana dashboard ConfigMaps for the chart under this key. |
| metrics.dashboards.namespace | string | `nil` | Namespace to create the dashboards ConfigMap under. |
| metrics.enabled | bool | See values.yaml | Enable and configure a Prometheus serviceMonitor for the chart under this key. |
| metrics.prometheusRule | object | See values.yaml | Enable and configure Prometheus Rules for the chart under this key. |
| metrics.prometheusRule.rules | list | See prometheusrules.yaml | Configure additionial rules for the chart under this key. |
| metrics.serviceMonitor.interval | string | `"1m"` | |
| metrics.serviceMonitor.labels | object | `{}` | |
| metrics.serviceMonitor.scrapeTimeout | string | `"30s"` | |
| 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).
### [0.1.1]
#### Added
- N/A
#### Changed
- Improved dashboard naming and tagging, re-saved on Grafana 8.3.
#### Removed
- N/A
### [0.1.0]
#### Added
- Create a Grafana dashboard ConfigMap when `metrics.dashboards.create` is `true`
#### Changed
- N/A
#### Removed
- N/A
[0.0.1]: #100
### [0.0.1]
#### Added
- Initial version
#### Changed
- N/A
#### Removed
- N/A
## Support
- Open an [issue](https://github.com/nikdoof/helm-charts/issues/new/choose)
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)

View File

@@ -0,0 +1,143 @@
{{- define "custom.repository.organization" -}}
nikdoof-helm-charts
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/nikdoof/helm-charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://nikdoof.github.io/helm-charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/nikdoof/helm-charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
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).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set modem.host="192.168.1.1"\
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## 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)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- Open an [issue](https://github.com/nikdoof/helm-charts/issues/new/choose)
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
{{ "" }}

View File

@@ -0,0 +1,56 @@
{{- define "custom.changelog.header" -}}
## Changelog
{{- end -}}
{{- define "custom.changelog" -}}
{{ template "custom.changelog.header" . }}
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).
### [0.1.1]
#### Added
- N/A
#### Changed
- Improved dashboard naming and tagging, re-saved on Grafana 8.3.
#### Removed
- N/A
### [0.1.0]
#### Added
- Create a Grafana dashboard ConfigMap when `metrics.dashboards.create` is `true`
#### Changed
- N/A
#### Removed
- N/A
[0.0.1]: #100
### [0.0.1]
#### Added
- Initial version
#### Changed
- N/A
#### Removed
- N/A
{{- end -}}

View 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 -}}

View File

@@ -0,0 +1,9 @@
---
env:
VSPHERE_USER: administrator@vsphere.my.domain.com
VSPHERE_PASSWORD: Secure-Pass
VSPHERE_HOST: test
metrics:
enabled: true
dashboards:
create: true

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

@@ -0,0 +1,19 @@
{{- if and .Values.metrics.enabled .Values.metrics.dashboards.create }}
{{- $namespace := .Values.metrics.dashboards.namespace | default $.Release.Namespace }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "common.names.fullname" . }}
namespace: {{ $namespace }}
labels:
{{- include "common.labels" . | nindent 4 }}
{{- with .Values.metrics.dashboards.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
data:
{{- range $path, $_ := .Files.Glob "dashboards/*.json" }}
{{- $filename := trimSuffix (ext $path) (base $path) }}
{{ base $path }}: |-
{{ $.Files.Get $path | indent 4 }}
{{- end }}
{{- end }}

View File

@@ -0,0 +1,27 @@
{{- if and .Values.metrics.enabled .Values.metrics.prometheusRule.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: {{ include "common.names.fullname" . }}
labels:
{{- include "common.labels" . | nindent 4 }}
{{- with .Values.metrics.prometheusRule.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
groups:
- name: {{ include "common.names.fullname" . }}
rules:
- alert: VmwareExporterAbsent
annotations:
description: Vmware Exporter has disappeared from Prometheus service discovery.
summary: Vmware Exporter is down.
expr: |
absent(up{job=~".*{{ include "common.names.fullname" . }}.*"} == 1)
for: 5m
labels:
severity: critical
{{- with .Values.metrics.prometheusRule.rules }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}

View File

@@ -0,0 +1,24 @@
{{- if .Values.metrics.enabled }}
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 }}
spec:
selector:
matchLabels:
{{- include "common.labels.selectorLabels" . | nindent 6 }}
endpoints:
- port: metrics
{{- with .Values.metrics.serviceMonitor.interval }}
interval: {{ . }}
{{- end }}
{{- with .Values.metrics.serviceMonitor.scrapeTimeout }}
scrapeTimeout: {{ . }}
{{- end }}
path: /metrics
{{- end }}

View File

@@ -0,0 +1,75 @@
#
# 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: pryorda/vmware_exporter
# -- image tag
tag: v0.18.2
# -- image pull policy
pullPolicy: IfNotPresent
# -- environment variables. See more environment variables in the [vmware-exporter documentation](https://github.com/pryorda/vmware_exporter).
# @default -- See below
env:
VSPHERE_IGNORE_SSL: "True"
VSPHERE_COLLECT_HOSTS: "True"
VSPHERE_COLLECT_DATASTORES: "True"
VSPHERE_COLLECT_VMS: "True"
# -- Configures service settings for the chart.
# @default -- See values.yaml
service:
main:
ports:
http:
enabled: false
metrics:
enabled: true
protocol: TCP
port: 9272
ingress:
# -- Enable and configure ingress settings for the chart under this key.
# @default -- See values.yaml
main:
enabled: false
metrics:
# -- Enable and configure a Prometheus serviceMonitor for the chart under this key.
# @default -- See values.yaml
enabled: false
serviceMonitor:
interval: 1m
scrapeTimeout: 30s
labels: {}
# -- Enable and configure Prometheus Rules for the chart under this key.
# @default -- See values.yaml
prometheusRule:
enabled: false
labels: {}
# -- Configure additionial rules for the chart under this key.
# @default -- See prometheusrules.yaml
rules: []
# - alert: vmwareExporterAbsent
# annotations:
# description: vmware Exporter has disappeared from Prometheus service discovery.
# summary: vmware Exporter is down.
# expr: |
# absent(up{job=~".*vmwareexporter.*"} == 1)
# for: 5m
# labels:
# severity: critical
# -- Enable and configure Grafana dashboard ConfigMaps for the chart under this key.
# @default -- See values.yaml
dashboards:
create: false
# -- Namespace to create the dashboards ConfigMap under.
# @default -- The release's namespace
namespace:
labels:
grafana_dashboard: "true"