mirror of
https://github.com/nikdoof/helm-charts.git
synced 2025-12-17 11:59:21 +00:00
Compare commits
50 Commits
common-cha
...
renovate/p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8283b1f395 | ||
| f3cc3e190c | |||
|
|
b176c1baa1 | ||
| 3c73ffec61 | |||
|
|
854de227c6 | ||
| 9e7e126e3b | |||
|
|
3477414580 | ||
| 7c9da31698 | |||
|
|
68bac6536f | ||
| 7c8fec46d2 | |||
|
|
057cff3c53 | ||
| 9e381e07bf | |||
| 28b2e73a1c | |||
|
|
49aead8392 | ||
|
|
5736e631b1 | ||
| 0cb9253cf2 | |||
|
|
ae4baa5a8d | ||
| ad896bfc25 | |||
|
|
c3f4320bc9 | ||
| e577d114a0 | |||
|
|
ee0dc43acb | ||
| 12d667302d | |||
| 71a2a2a3fe | |||
|
|
a2cfdc0fa5 | ||
| cc49faf2f2 | |||
|
|
7d49c188c9 | ||
| 9a201834c3 | |||
|
|
ee8767e7a6 | ||
|
b7dc73097a
|
|||
| 408afd720f | |||
|
c1fc20c281
|
|||
|
3d3535cb3b
|
|||
|
cc91cc2f98
|
|||
|
37615237d6
|
|||
|
30256c3ae5
|
|||
|
2f3d052cd5
|
|||
|
e091d3adbc
|
|||
|
bd0a2d1155
|
|||
|
e2bd3ff0b8
|
|||
|
4436e99f22
|
|||
|
41eeb4795d
|
|||
| acb65e778e | |||
| 3e65c6aff7 | |||
|
d9ed2b2bed
|
|||
| 855c04e7f3 | |||
|
|
067d636a28 | ||
|
|
37bfd4bdd5 | ||
|
396816c4a0
|
|||
|
1b7d8fd3e2
|
|||
|
3e2b990951
|
1
.github/ct.yaml
vendored
1
.github/ct.yaml
vendored
@@ -8,3 +8,4 @@ chart-repos:
|
|||||||
- k8s-at-home-libraries=https://library-charts.k8s-at-home.com
|
- k8s-at-home-libraries=https://library-charts.k8s-at-home.com
|
||||||
- k8s-at-home=https://k8s-at-home.com/charts
|
- k8s-at-home=https://k8s-at-home.com/charts
|
||||||
- jetstack=https://charts.jetstack.io
|
- jetstack=https://charts.jetstack.io
|
||||||
|
- nikdoof=https://nikdoof.github.io/helm-charts/
|
||||||
|
|||||||
29
.github/workflows/lint-test.yaml
vendored
29
.github/workflows/lint-test.yaml
vendored
@@ -2,26 +2,31 @@ name: Lint and Test Charts
|
|||||||
|
|
||||||
on: pull_request
|
on: pull_request
|
||||||
|
|
||||||
|
env:
|
||||||
|
K8S_VERSION: 1.22
|
||||||
|
HELM_VERSION: 3.9.2
|
||||||
|
PYTHON_VERSION: 3.11
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint-test:
|
lint-test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Install Helm
|
- name: Install Helm
|
||||||
uses: azure/setup-helm@v3
|
uses: azure/setup-helm@v4
|
||||||
with:
|
with:
|
||||||
version: v3.6.3
|
version: "v${{ env.HELM_VERSION }}"
|
||||||
|
|
||||||
- uses: actions/setup-python@v4
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: 3.7
|
python-version: "${{ env.PYTHON_VERSION }}"
|
||||||
|
|
||||||
- name: Set up chart-testing
|
- name: Set up chart-testing
|
||||||
uses: helm/chart-testing-action@v2.2.1
|
uses: helm/chart-testing-action@v2.7.0
|
||||||
|
|
||||||
- name: Run chart-testing (list-changed)
|
- name: Run chart-testing (list-changed)
|
||||||
id: list-changed
|
id: list-changed
|
||||||
@@ -34,15 +39,19 @@ jobs:
|
|||||||
- name: Run chart-testing (lint)
|
- name: Run chart-testing (lint)
|
||||||
run: ct lint --config .github/ct.yaml
|
run: ct lint --config .github/ct.yaml
|
||||||
|
|
||||||
- name: Create k3d cluster
|
- name: Create k8s Kind Cluster
|
||||||
uses: nolar/setup-k3d-k3s@v1
|
uses: helm/kind-action@v1.12.0
|
||||||
with:
|
|
||||||
version: v1.19
|
|
||||||
if: steps.list-changed.outputs.changed == 'true'
|
if: steps.list-changed.outputs.changed == 'true'
|
||||||
|
|
||||||
- name: Remove node taints
|
- name: Remove node taints
|
||||||
run: |
|
run: |
|
||||||
kubectl taint --all=true nodes node.cloudprovider.kubernetes.io/uninitialized- || true
|
kubectl taint --all=true nodes node.cloudprovider.kubernetes.io/uninitialized- || true
|
||||||
|
if: steps.list-changed.outputs.changed == 'true'
|
||||||
|
|
||||||
|
- name: Install CRDs
|
||||||
|
run: |
|
||||||
|
cat crds/*.yaml | kubectl apply -f -
|
||||||
|
if: steps.list-changed.outputs.changed == 'true'
|
||||||
|
|
||||||
- name: Run chart-testing (install)
|
- name: Run chart-testing (install)
|
||||||
run: ct install --config .github/ct.yaml
|
run: ct install --config .github/ct.yaml
|
||||||
|
|||||||
6
.github/workflows/release.yaml
vendored
6
.github/workflows/release.yaml
vendored
@@ -10,7 +10,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
@@ -20,12 +20,12 @@ jobs:
|
|||||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
||||||
|
|
||||||
- name: Install Helm
|
- name: Install Helm
|
||||||
uses: azure/setup-helm@v3
|
uses: azure/setup-helm@v4
|
||||||
with:
|
with:
|
||||||
version: v3.4.0
|
version: v3.4.0
|
||||||
|
|
||||||
- name: Run chart-releaser
|
- name: Run chart-releaser
|
||||||
uses: helm/chart-releaser-action@v1.4.0
|
uses: helm/chart-releaser-action@v1.7.0
|
||||||
with:
|
with:
|
||||||
charts_repo_url: https://nikdoof.github.io/helm-charts
|
charts_repo_url: https://nikdoof.github.io/helm-charts
|
||||||
env:
|
env:
|
||||||
|
|||||||
10
README.md
10
README.md
@@ -22,15 +22,13 @@ You can then run `helm search nikdoof` to see the charts.
|
|||||||
|
|
||||||
See [charts folder](./charts) for a complete list.
|
See [charts folder](./charts) for a complete list.
|
||||||
|
|
||||||
* [aaisp2mqtt](./charts/aaisp2mqtt) - A tool to pull information from [Andrews & Arnold](https://www.aa.net.uk/) CHAOSv2 API and output to MQTT.
|
|
||||||
* [idrac6](./charts/idrac6) - A VNC/Web UI container to wrap around the outdated Java/KVM solution in Dell iDRAC6, and make it HTML5.
|
|
||||||
* [vsphere-influxdb-go](./charts/vsphere-influxdb-go) - A vSphere statistics exporter that outputs to InfluxDB.
|
|
||||||
* [zigbee2mqttassistant](./charts/zigbee2mqttassistant) - A WebUI for Zigbee2MQTT.
|
|
||||||
* [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.
|
||||||
|
* [antennas](./charts/antennas) - Proxy mapping service for allowing Plex to use TVHeadend.
|
||||||
|
* [hg612-exporter](./charts/hg612-exporter) - A Prometheus exporter for HG612 xDSL Modems.
|
||||||
|
* [idrac6](./charts/idrac6) - A VNC/Web UI container to wrap around the outdated Java/KVM solution in Dell iDRAC6, and make it HTML5.
|
||||||
|
* [mqtt-exporter](./charts/mqtt-exporter) - A generic Prometheus exporter for MQTT data, useful to export Home Assistant state data via MQTT.
|
||||||
* [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.
|
* [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
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
appVersion: 0.2.1
|
appVersion: 0.2.1
|
||||||
description: A prometheus exporter for the Andrew & Arnold CHAOS API
|
description: A prometheus exporter for the Andrew & Arnold CHAOS API
|
||||||
name: aaisp-exporter
|
name: aaisp-exporter
|
||||||
version: 0.2.0
|
version: 0.2.3
|
||||||
kubeVersion: ">=1.16.0-0"
|
kubeVersion: ">=1.16.0-0"
|
||||||
keywords:
|
keywords:
|
||||||
- aaisp-exporter
|
- aaisp-exporter
|
||||||
@@ -14,5 +14,5 @@ maintainers:
|
|||||||
email: andy@tensixtyone.com
|
email: andy@tensixtyone.com
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: common
|
- name: common
|
||||||
repository: https://library-charts.k8s-at-home.com
|
repository: https://nikdoof.github.io/helm-charts/
|
||||||
version: 4.3.0
|
version: 4.5.3
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
{{- 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: AAISPExporterAbsent
|
|
||||||
annotations:
|
|
||||||
description: AAISP Exporter has disappeared from Prometheus service discovery.
|
|
||||||
summary: AAISP 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 }}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
{{- 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 }}
|
|
||||||
@@ -48,15 +48,15 @@ metrics:
|
|||||||
prometheusRule:
|
prometheusRule:
|
||||||
enabled: false
|
enabled: false
|
||||||
labels: {}
|
labels: {}
|
||||||
# -- Configure additionial rules for the chart under this key.
|
# -- Configure additional rules for the chart under this key.
|
||||||
# @default -- See prometheusrules.yaml
|
# @default -- See prometheusrules.yaml
|
||||||
rules: []
|
rules:
|
||||||
# - alert: aaispExporterAbsent
|
- alert: AAISPExporterAbsent
|
||||||
# annotations:
|
annotations:
|
||||||
# description: aaisp Exporter has disappeared from Prometheus service discovery.
|
description: AAISP Exporter has disappeared from Prometheus service discovery.
|
||||||
# summary: aaisp Exporter is down.
|
summary: AAISP Exporter is down.
|
||||||
# expr: |
|
expr: |
|
||||||
# absent(up{job=~".*aaispexporter.*"} == 1)
|
absent(up{job=~".*{{ include "common.names.fullname" . }}.*"} == 1)
|
||||||
# for: 5m
|
for: 5m
|
||||||
# labels:
|
labels:
|
||||||
# severity: critical
|
severity: critical
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
# 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/
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
appVersion: "0.3.1"
|
|
||||||
description: Pulls data from the AAISP CHAOSv2 API into MQTT
|
|
||||||
name: aaisp2mqtt
|
|
||||||
version: 0.3.3
|
|
||||||
keywords:
|
|
||||||
- aaisp
|
|
||||||
- mqtt
|
|
||||||
home: https://github.com/nikdoof/aaisp2mqtt
|
|
||||||
sources:
|
|
||||||
- https://hub.docker.com/r/nikdoof/aaisp2mqtt/
|
|
||||||
- https://github.com/natm/aaisp2mqtt
|
|
||||||
maintainers:
|
|
||||||
- name: nikdoof
|
|
||||||
email: andy@tensixtyone.com
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
# aaisp2mqtt
|
|
||||||
|
|
||||||
 
|
|
||||||
|
|
||||||
Pulls data from the AAISP CHAOSv2 API into MQTT
|
|
||||||
|
|
||||||
**Homepage:** <https://github.com/nikdoof/aaisp2mqtt>
|
|
||||||
|
|
||||||
## Maintainers
|
|
||||||
|
|
||||||
| Name | Email | Url |
|
|
||||||
| ---- | ------ | --- |
|
|
||||||
| nikdoof | andy@tensixtyone.com | |
|
|
||||||
|
|
||||||
## Source Code
|
|
||||||
|
|
||||||
* <https://hub.docker.com/r/nikdoof/aaisp2mqtt/>
|
|
||||||
* <https://github.com/natm/aaisp2mqtt>
|
|
||||||
|
|
||||||
## Values
|
|
||||||
|
|
||||||
| Key | Type | Default | Description |
|
|
||||||
|-----|------|---------|-------------|
|
|
||||||
| aaisp | object | `{}` | |
|
|
||||||
| affinity | object | `{}` | |
|
|
||||||
| cronjob.concurrencyPolicy | string | `"Allow"` | |
|
|
||||||
| cronjob.failedJobsHistoryLimit | int | `1` | |
|
|
||||||
| cronjob.schedule | string | `"*/10 * * * *"` | |
|
|
||||||
| cronjob.successfulJobsHistoryLimit | int | `3` | |
|
|
||||||
| fullnameOverride | string | `""` | |
|
|
||||||
| homeassistant.enabled | bool | `false` | |
|
|
||||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
|
||||||
| image.repository | string | `"nikdoof/aaisp2mqtt"` | |
|
|
||||||
| image.tag | string | `"0.3.1"` | |
|
|
||||||
| mqtt.authenticated | bool | `false` | |
|
|
||||||
| mqtt.port | int | `1883` | |
|
|
||||||
| nameOverride | string | `""` | |
|
|
||||||
| nodeSelector | object | `{}` | |
|
|
||||||
| replicaCount | int | `1` | |
|
|
||||||
| resources | object | `{}` | |
|
|
||||||
| tolerations | list | `[]` | |
|
|
||||||
|
|
||||||
----------------------------------------------
|
|
||||||
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
mqtt:
|
|
||||||
broker: localhost
|
|
||||||
|
|
||||||
existingSecretName: aaisp2mqtt-secret
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
aaisp:
|
|
||||||
username: test1@a
|
|
||||||
password: TesttestTest
|
|
||||||
|
|
||||||
mqtt:
|
|
||||||
broker: localhost
|
|
||||||
|
|
||||||
homeassistant:
|
|
||||||
enabled: true
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
aaisp:
|
|
||||||
username: test1@a
|
|
||||||
password: TesttestTest
|
|
||||||
|
|
||||||
mqtt:
|
|
||||||
broker: localhost
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
{{/* vim: set filetype=mustache: */}}
|
|
||||||
{{/*
|
|
||||||
Expand the name of the chart.
|
|
||||||
*/}}
|
|
||||||
{{- define "aaisp2mqtt.name" -}}
|
|
||||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create a default fully qualified app name.
|
|
||||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
|
||||||
If release name contains chart name it will be used as a full name.
|
|
||||||
*/}}
|
|
||||||
{{- define "aaisp2mqtt.fullname" -}}
|
|
||||||
{{- if .Values.fullnameOverride -}}
|
|
||||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
|
||||||
{{- if contains $name .Release.Name -}}
|
|
||||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create chart name and version as used by the chart label.
|
|
||||||
*/}}
|
|
||||||
{{- define "aaisp2mqtt.chart" -}}
|
|
||||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Common labels
|
|
||||||
*/}}
|
|
||||||
{{- define "aaisp2mqtt.labels" -}}
|
|
||||||
app.kubernetes.io/name: {{ include "aaisp2mqtt.name" . }}
|
|
||||||
helm.sh/chart: {{ include "aaisp2mqtt.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- if .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
|
||||||
{{- end }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the name of the service account to use
|
|
||||||
*/}}
|
|
||||||
{{- define "aaisp2mqtt.serviceAccountName" -}}
|
|
||||||
{{- if .Values.serviceAccount.create -}}
|
|
||||||
{{ default (include "aaisp2mqtt.fullname" .) .Values.serviceAccount.name }}
|
|
||||||
{{- else -}}
|
|
||||||
{{ default "default" .Values.serviceAccount.name }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
@@ -1,97 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: batch/v1beta1
|
|
||||||
kind: CronJob
|
|
||||||
metadata:
|
|
||||||
name: {{ include "aaisp2mqtt.fullname" . }}-cronjob
|
|
||||||
{{- if .Values.deploymentAnnotations }}
|
|
||||||
annotations:
|
|
||||||
{{- range $key, $value := .Values.deploymentAnnotations }}
|
|
||||||
{{ $key }}: {{ $value | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ include "aaisp2mqtt.name" . }}
|
|
||||||
helm.sh/chart: {{ include "aaisp2mqtt.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ include "aaisp2mqtt.name" . }}
|
|
||||||
spec:
|
|
||||||
schedule: {{ .Values.cronjob.schedule | quote }}
|
|
||||||
successfulJobsHistoryLimit: {{ .Values.cronjob.successfulJobsHistoryLimit }}
|
|
||||||
failedJobsHistoryLimit: {{ .Values.cronjob.failedJobsHistoryLimit }}
|
|
||||||
concurrencyPolicy: {{ .Values.cronjob.concurrencyPolicy }}
|
|
||||||
{{- if .Values.cronjob.startingDeadlineSeconds }}
|
|
||||||
startingDeadlineSeconds: {{ .Values.cronjob.startingDeadlineSeconds }}
|
|
||||||
{{- end }}
|
|
||||||
jobTemplate:
|
|
||||||
spec:
|
|
||||||
backoffLimit: 0
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ include "aaisp2mqtt.name" . }}
|
|
||||||
helm.sh/chart: {{ include "aaisp2mqtt.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ include "aaisp2mqtt.name" . }}
|
|
||||||
spec:
|
|
||||||
restartPolicy: Never
|
|
||||||
{{- if .Values.image.pullSecrets }}
|
|
||||||
imagePullSecrets:
|
|
||||||
{{- range .Values.image.pullSecrets }}
|
|
||||||
- name: {{ . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
containers:
|
|
||||||
- name: {{ .Chart.Name }}
|
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
||||||
resources:
|
|
||||||
{{ toYaml .Values.resources | indent 16 }}
|
|
||||||
env:
|
|
||||||
- name: AAISP_USERNAME
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ default "aaisp2mqtt-secret" .Values.existingSecretName }}
|
|
||||||
key: aaisp.username
|
|
||||||
- name: AAISP_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ default "aaisp2mqtt-secret" .Values.existingSecretName }}
|
|
||||||
key: aaisp.password
|
|
||||||
- name: MQTT_BROKER
|
|
||||||
value: {{ .Values.mqtt.broker }}
|
|
||||||
- name: MQTT_PORT
|
|
||||||
value: "{{ default 1883 .Values.mqtt.port }}"
|
|
||||||
{{- if .Values.mqtt.authenticated }}
|
|
||||||
- name: MQTT_USERNAME
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ default "aaisp2mqtt-secret" .Values.existingSecretName }}
|
|
||||||
key: mqtt.username
|
|
||||||
- name: MQTT_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ default "aaisp2mqtt-secret" .Values.existingSecretName }}
|
|
||||||
key: mqtt.password
|
|
||||||
{{- end }}
|
|
||||||
- name: MQTT_TOPIC_PREFIX
|
|
||||||
value: {{ default "aaisp" .Values.mqtt.topicPrefix }}
|
|
||||||
{{- if .Values.homeassistant.enabled }}
|
|
||||||
- name: HOMEASSISTANT_ENABLED
|
|
||||||
value: '{{ .Values.homeassistant.enabled }}'
|
|
||||||
{{- if .Values.homeassistant.discoveryPrefix }}
|
|
||||||
- name: HOMEASSISTANT_DISCOVERY_PREFIX
|
|
||||||
value: {{ .Values.homeassistant.discoveryPrefix }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.nodeSelector }}
|
|
||||||
nodeSelector:
|
|
||||||
{{ toYaml . | indent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.affinity }}
|
|
||||||
affinity:
|
|
||||||
{{ toYaml . | indent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.tolerations }}
|
|
||||||
tolerations:
|
|
||||||
{{ toYaml . | indent 12 }}:
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
---
|
|
||||||
{{- if not (.Values.existingSecretName) }}
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: aaisp2mqtt-secret
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ include "aaisp2mqtt.name" . }}
|
|
||||||
helm.sh/chart: {{ include "aaisp2mqtt.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ include "aaisp2mqtt.name" . }}
|
|
||||||
type: Opaque
|
|
||||||
data:
|
|
||||||
aaisp.username: {{ .Values.aaisp.username | b64enc }}
|
|
||||||
aaisp.password: {{ .Values.aaisp.password | b64enc }}
|
|
||||||
{{- if .Values.mqtt.authenticated }}
|
|
||||||
mqtt.username: {{ .Values.mqtt.username | b64enc }}
|
|
||||||
mqtt.password: {{ .Values.mqtt.password | b64enc }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
# Default values for aaisp2mqtt.
|
|
||||||
# This is a YAML-formatted file.
|
|
||||||
# Declare variables to be passed into your templates.
|
|
||||||
|
|
||||||
replicaCount: 1
|
|
||||||
|
|
||||||
image:
|
|
||||||
repository: nikdoof/aaisp2mqtt
|
|
||||||
tag: 0.3.1
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
# imagePullSecrets: []
|
|
||||||
|
|
||||||
nameOverride: ""
|
|
||||||
fullnameOverride: ""
|
|
||||||
|
|
||||||
## Use a pre-existing secret for login information
|
|
||||||
##
|
|
||||||
# existingSecretName: existing-secret
|
|
||||||
|
|
||||||
## Connection details
|
|
||||||
##
|
|
||||||
aaisp: {}
|
|
||||||
# username: user1@a
|
|
||||||
# password: password
|
|
||||||
|
|
||||||
mqtt:
|
|
||||||
# broker: localhost
|
|
||||||
port: 1883
|
|
||||||
authenticated: false
|
|
||||||
# username: kube
|
|
||||||
# password: kube
|
|
||||||
# topicPrefix: aaisp
|
|
||||||
|
|
||||||
homeassistant:
|
|
||||||
enabled: false
|
|
||||||
# discoveryPrefix: homeassistant
|
|
||||||
|
|
||||||
cronjob:
|
|
||||||
schedule: "*/10 * * * *"
|
|
||||||
successfulJobsHistoryLimit: 3
|
|
||||||
failedJobsHistoryLimit: 1
|
|
||||||
# startingDeadlineSeconds: 10
|
|
||||||
concurrencyPolicy: Allow
|
|
||||||
|
|
||||||
resources: {}
|
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
||||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
||||||
# limits:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
# requests:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
affinity: {}
|
|
||||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
appVersion: "4.2.0"
|
appVersion: "4.2.0"
|
||||||
description: Antennas
|
description: Antennas
|
||||||
name: antennas
|
name: antennas
|
||||||
version: 1.1.2
|
version: 1.1.4
|
||||||
kubeVersion: ">=1.16.0-0"
|
kubeVersion: ">=1.16.0-0"
|
||||||
keywords:
|
keywords:
|
||||||
- tvheadend
|
- tvheadend
|
||||||
@@ -17,5 +17,5 @@ maintainers:
|
|||||||
email: andy@tensixtyone.com
|
email: andy@tensixtyone.com
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: common
|
- name: common
|
||||||
repository: https://library-charts.k8s-at-home.com
|
repository: https://nikdoof.github.io/helm-charts/
|
||||||
version: 4.5.2
|
version: 4.5.3
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
description: A simple wrapper chart around the common chart
|
description: A simple wrapper chart around the common chart
|
||||||
name: common-chart
|
name: common-chart
|
||||||
version: 1.2.2
|
version: 1.2.3
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: nikdoof
|
- name: nikdoof
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: common
|
- name: common
|
||||||
repository: https://nikdoof.github.io/helm-charts/
|
repository: https://nikdoof.github.io/helm-charts/
|
||||||
version: 4.5.2
|
version: 4.5.3
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
name: common
|
name: common
|
||||||
description: Common chart library, based off KaH's common
|
description: Common chart library, based off KaH's common
|
||||||
type: library
|
type: library
|
||||||
version: 4.5.2
|
version: 4.5.3
|
||||||
kubeVersion: ">=1.16.0-0"
|
kubeVersion: ">=1.16.0-0"
|
||||||
keywords:
|
keywords:
|
||||||
- common
|
- common
|
||||||
|
|||||||
@@ -55,4 +55,12 @@ Main entrypoint for the common library chart. It will render all underlying temp
|
|||||||
{{- if .Values.secret -}}
|
{{- if .Values.secret -}}
|
||||||
{{ include "common.secret" . | nindent 0 }}
|
{{ include "common.secret" . | nindent 0 }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- if .Values.metrics.enabled -}}
|
||||||
|
{{ include "common.serviceMonitor" . | nindent 0 }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- if and .Values.metrics.enabled .Values.metrics.prometheusRule.enabled -}}
|
||||||
|
{{ include "common.prometheusRule" . | nindent 0 }}
|
||||||
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{{- if and .Values.metrics.enabled .Values.metrics.prometheusRule.enabled }}
|
{{- define "common.prometheusRule" }}
|
||||||
|
---
|
||||||
apiVersion: monitoring.coreos.com/v1
|
apiVersion: monitoring.coreos.com/v1
|
||||||
kind: PrometheusRule
|
kind: PrometheusRule
|
||||||
metadata:
|
metadata:
|
||||||
@@ -12,15 +13,6 @@ spec:
|
|||||||
groups:
|
groups:
|
||||||
- name: {{ include "common.names.fullname" . }}
|
- name: {{ include "common.names.fullname" . }}
|
||||||
rules:
|
rules:
|
||||||
- alert: PlexExporterAbsent
|
|
||||||
annotations:
|
|
||||||
description: Plex Exporter has disappeared from Prometheus service discovery.
|
|
||||||
summary: Plex Exporter is down.
|
|
||||||
expr: |
|
|
||||||
absent(up{job=~".*{{ include "common.names.fullname" . }}.*"} == 1)
|
|
||||||
for: 5m
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
{{- with .Values.metrics.prometheusRule.rules }}
|
{{- with .Values.metrics.prometheusRule.rules }}
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
{{- if .Values.metrics.enabled }}
|
{{- define "common.serviceMonitor" }}
|
||||||
|
---
|
||||||
apiVersion: monitoring.coreos.com/v1
|
apiVersion: monitoring.coreos.com/v1
|
||||||
kind: ServiceMonitor
|
kind: ServiceMonitor
|
||||||
metadata:
|
metadata:
|
||||||
@@ -472,6 +472,32 @@ resources: {}
|
|||||||
# cpu: 100m
|
# cpu: 100m
|
||||||
# memory: 128Mi
|
# memory: 128Mi
|
||||||
|
|
||||||
|
metrics:
|
||||||
|
# -- Enable metrics collections with serviceMonitor
|
||||||
|
# @default -- See values.yaml
|
||||||
|
enabled: false
|
||||||
|
serviceMonitor:
|
||||||
|
interval: 3m
|
||||||
|
scrapeTimeout: 1m
|
||||||
|
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: SonarrDown
|
||||||
|
# annotations:
|
||||||
|
# description: Sonarr service is down.
|
||||||
|
# summary: Sonarr is down.
|
||||||
|
# expr: |
|
||||||
|
# sonarr_system_status == 0
|
||||||
|
# for: 5m
|
||||||
|
# labels:
|
||||||
|
# severity: critical
|
||||||
|
|
||||||
# -- The common chart supports several add-ons. These can be configured under this key.
|
# -- The common chart supports several add-ons. These can be configured under this key.
|
||||||
# @default -- See below
|
# @default -- See below
|
||||||
addons:
|
addons:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
appVersion: 0.1.2
|
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: 1.2.0
|
version: 1.2.3
|
||||||
kubeVersion: ">=1.16.0-0"
|
kubeVersion: ">=1.16.0-0"
|
||||||
keywords:
|
keywords:
|
||||||
- hg612-exporter
|
- hg612-exporter
|
||||||
@@ -14,5 +14,5 @@ maintainers:
|
|||||||
email: andy@tensixtyone.com
|
email: andy@tensixtyone.com
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: common
|
- name: common
|
||||||
repository: https://library-charts.k8s-at-home.com
|
repository: https://nikdoof.github.io/helm-charts/
|
||||||
version: 4.3.0
|
version: 4.5.3
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{{- if and .Values.metrics.enabled .Values.metrics.dashboards.create }}
|
{{- if and .Values.metrics.enabled .Values.metrics.dashboards.create }}
|
||||||
|
{{- include "common.values.setup" . -}}
|
||||||
{{- $namespace := .Values.metrics.dashboards.namespace | default $.Release.Namespace }}
|
{{- $namespace := .Values.metrics.dashboards.namespace | default $.Release.Namespace }}
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
{{- 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: HG612ExporterAbsent
|
|
||||||
annotations:
|
|
||||||
description: HG612 Exporter has disappeared from Prometheus service discovery.
|
|
||||||
summary: HG612 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 }}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
{{- 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 }}
|
|
||||||
@@ -60,16 +60,16 @@ metrics:
|
|||||||
labels: {}
|
labels: {}
|
||||||
# -- Configure additionial rules for the chart under this key.
|
# -- Configure additionial rules for the chart under this key.
|
||||||
# @default -- See prometheusrules.yaml
|
# @default -- See prometheusrules.yaml
|
||||||
rules: []
|
rules:
|
||||||
# - alert: HG612ExporterAbsent
|
- alert: HG612ExporterAbsent
|
||||||
# annotations:
|
annotations:
|
||||||
# description: HG612 Exporter has disappeared from Prometheus service discovery.
|
description: HG612 Exporter has disappeared from Prometheus service discovery.
|
||||||
# summary: HG612 Exporter is down.
|
summary: HG612 Exporter is down.
|
||||||
# expr: |
|
expr: |
|
||||||
# absent(up{job=~".*hg612exporter.*"} == 1)
|
absent(up{job=~".*{{ include "common.names.fullname" . }}.*"} == 1)
|
||||||
# for: 5m
|
for: 5m
|
||||||
# labels:
|
labels:
|
||||||
# severity: critical
|
severity: critical
|
||||||
# -- Enable and configure Grafana dashboard ConfigMaps for the chart under this key.
|
# -- Enable and configure Grafana dashboard ConfigMaps for the chart under this key.
|
||||||
# @default -- See values.yaml
|
# @default -- See values.yaml
|
||||||
dashboards:
|
dashboards:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
appVersion: "0.5.0"
|
appVersion: "0.5.0"
|
||||||
description: iDRAC 6 web interface and VNC proxy
|
description: iDRAC 6 web interface and VNC proxy
|
||||||
name: idrac6
|
name: idrac6
|
||||||
version: 1.1.0
|
version: 1.1.2
|
||||||
kubeVersion: ">=1.16.0-0"
|
kubeVersion: ">=1.16.0-0"
|
||||||
keywords:
|
keywords:
|
||||||
- idrac6
|
- idrac6
|
||||||
@@ -14,5 +14,5 @@ maintainers:
|
|||||||
email: andy@tensixtyone.com
|
email: andy@tensixtyone.com
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: common
|
- name: common
|
||||||
repository: https://library-charts.k8s-at-home.com
|
repository: https://nikdoof.github.io/helm-charts/
|
||||||
version: 4.3.0
|
version: 4.5.3
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
appVersion: 1.0.0
|
appVersion: 1.0.0
|
||||||
description: A prometheus exporter for generic MQTT metrics
|
description: A prometheus exporter for generic MQTT metrics
|
||||||
name: mqtt-exporter
|
name: mqtt-exporter
|
||||||
version: 1.1.0
|
version: 1.1.3
|
||||||
kubeVersion: ">=1.16.0-0"
|
kubeVersion: ">=1.16.0-0"
|
||||||
keywords:
|
keywords:
|
||||||
- mqtt-exporter
|
- mqtt-exporter
|
||||||
@@ -14,5 +14,5 @@ maintainers:
|
|||||||
email: andy@tensixtyone.com
|
email: andy@tensixtyone.com
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: common
|
- name: common
|
||||||
repository: https://library-charts.k8s-at-home.com
|
repository: https://nikdoof.github.io/helm-charts/
|
||||||
version: 4.3.0
|
version: 4.5.3
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{{- if and .Values.metrics.enabled .Values.metrics.prometheusRule.enabled }}
|
{{- if and .Values.metrics.enabled .Values.metrics.prometheusRule.enabled }}
|
||||||
|
{{- include "common.values.setup" . -}}
|
||||||
apiVersion: monitoring.coreos.com/v1
|
apiVersion: monitoring.coreos.com/v1
|
||||||
kind: PrometheusRule
|
kind: PrometheusRule
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{{- if .Values.metrics.enabled }}
|
{{- if .Values.metrics.enabled }}
|
||||||
|
{{- include "common.values.setup" . -}}
|
||||||
apiVersion: monitoring.coreos.com/v1
|
apiVersion: monitoring.coreos.com/v1
|
||||||
kind: ServiceMonitor
|
kind: ServiceMonitor
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 0.2.2
|
appVersion: 0.2.3
|
||||||
description: A prometheus exporter for Plex Media Server
|
description: A prometheus exporter for Plex Media Server
|
||||||
name: plex-exporter
|
name: plex-exporter
|
||||||
version: 0.1.0
|
version: 0.1.3
|
||||||
kubeVersion: ">=1.16.0-0"
|
kubeVersion: ">=1.16.0-0"
|
||||||
keywords:
|
keywords:
|
||||||
- plex-exporter
|
- plex-exporter
|
||||||
@@ -15,5 +15,5 @@ maintainers:
|
|||||||
email: andy@tensixtyone.com
|
email: andy@tensixtyone.com
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: common
|
- name: common
|
||||||
repository: https://library-charts.k8s-at-home.com
|
repository: https://nikdoof.github.io/helm-charts/
|
||||||
version: 4.3.0
|
version: 4.5.3
|
||||||
|
|||||||
5
charts/plex-exporter/ci/loglevel.yml
Normal file
5
charts/plex-exporter/ci/loglevel.yml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
plex:
|
||||||
|
autodiscover: true
|
||||||
|
token: a0a0a0a0a0
|
||||||
|
loglevel: debug
|
||||||
@@ -14,6 +14,10 @@ args:
|
|||||||
- "--token"
|
- "--token"
|
||||||
- "{{ .Values.plex.token }}"
|
- "{{ .Values.plex.token }}"
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ if .Values.plex.loglevel }}
|
||||||
|
- "--log-level"
|
||||||
|
- "{{ .Values.plex.loglevel }}"
|
||||||
|
{{ end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- $_ := mergeOverwrite .Values (include "plex-exporter.harcodedValues" . | fromYaml) -}}
|
{{- $_ := mergeOverwrite .Values (include "plex-exporter.harcodedValues" . | fromYaml) -}}
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
{{- 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 }}
|
|
||||||
@@ -9,7 +9,7 @@ image:
|
|||||||
# -- image repository
|
# -- image repository
|
||||||
repository: granra/plex_exporter
|
repository: granra/plex_exporter
|
||||||
# -- image tag
|
# -- image tag
|
||||||
tag: v0.2.2
|
tag: v0.2.3
|
||||||
# -- image pull policy
|
# -- image pull policy
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
@@ -42,6 +42,8 @@ plex:
|
|||||||
token:
|
token:
|
||||||
# -- Enable autodiscover using plex.tv
|
# -- Enable autodiscover using plex.tv
|
||||||
autodiscover: true
|
autodiscover: true
|
||||||
|
# -- Logging level
|
||||||
|
# loglevel: info
|
||||||
|
|
||||||
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.
|
||||||
@@ -58,13 +60,13 @@ metrics:
|
|||||||
labels: {}
|
labels: {}
|
||||||
# -- Configure additionial rules for the chart under this key.
|
# -- Configure additionial rules for the chart under this key.
|
||||||
# @default -- See prometheusrules.yaml
|
# @default -- See prometheusrules.yaml
|
||||||
rules: []
|
rules:
|
||||||
# - alert: plexExporterAbsent
|
- alert: PlexExporterAbsent
|
||||||
# annotations:
|
annotations:
|
||||||
# description: plex Exporter has disappeared from Prometheus service discovery.
|
description: Plex Exporter has disappeared from Prometheus service discovery.
|
||||||
# summary: plex Exporter is down.
|
summary: Plex Exporter is down.
|
||||||
# expr: |
|
expr: |
|
||||||
# absent(up{job=~".*plexexporter.*"} == 1)
|
absent(up{job=~".*{{ include "common.names.fullname" . }}.*"} == 1)
|
||||||
# for: 5m
|
for: 5m
|
||||||
# labels:
|
labels:
|
||||||
# severity: critical
|
severity: critical
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
appVersion: 0.18.2
|
appVersion: 0.18.2
|
||||||
description: A prometheus exporter for vSphere vCenter
|
description: A prometheus exporter for vSphere vCenter
|
||||||
name: vmware-exporter
|
name: vmware-exporter
|
||||||
version: 0.2.0
|
version: 0.2.3
|
||||||
kubeVersion: ">=1.16.0-0"
|
kubeVersion: ">=1.16.0-0"
|
||||||
keywords:
|
keywords:
|
||||||
- vmware-exporter
|
- vmware-exporter
|
||||||
@@ -15,5 +15,5 @@ maintainers:
|
|||||||
email: andy@tensixtyone.com
|
email: andy@tensixtyone.com
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: common
|
- name: common
|
||||||
repository: https://library-charts.k8s-at-home.com
|
repository: https://nikdoof.github.io/helm-charts/
|
||||||
version: 4.3.0
|
version: 4.5.3
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{{- if and .Values.metrics.enabled .Values.metrics.dashboards.create }}
|
{{- if and .Values.metrics.enabled .Values.metrics.dashboards.create }}
|
||||||
|
{{- include "common.values.setup" . -}}
|
||||||
{{- $namespace := .Values.metrics.dashboards.namespace | default $.Release.Namespace }}
|
{{- $namespace := .Values.metrics.dashboards.namespace | default $.Release.Namespace }}
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
{{- 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 }}
|
|
||||||
@@ -54,16 +54,16 @@ metrics:
|
|||||||
labels: {}
|
labels: {}
|
||||||
# -- Configure additionial rules for the chart under this key.
|
# -- Configure additionial rules for the chart under this key.
|
||||||
# @default -- See prometheusrules.yaml
|
# @default -- See prometheusrules.yaml
|
||||||
rules: []
|
rules:
|
||||||
# - alert: vmwareExporterAbsent
|
- alert: VmwareExporterAbsent
|
||||||
# annotations:
|
annotations:
|
||||||
# description: vmware Exporter has disappeared from Prometheus service discovery.
|
description: Vmware Exporter has disappeared from Prometheus service discovery.
|
||||||
# summary: vmware Exporter is down.
|
summary: Vmware Exporter is down.
|
||||||
# expr: |
|
expr: |
|
||||||
# absent(up{job=~".*vmwareexporter.*"} == 1)
|
absent(up{job=~".*{{ include "common.names.fullname" . }}.*"} == 1)
|
||||||
# for: 5m
|
for: 5m
|
||||||
# labels:
|
labels:
|
||||||
# severity: critical
|
severity: critical
|
||||||
# -- Enable and configure Grafana dashboard ConfigMaps for the chart under this key.
|
# -- Enable and configure Grafana dashboard ConfigMaps for the chart under this key.
|
||||||
# @default -- See values.yaml
|
# @default -- See values.yaml
|
||||||
dashboards:
|
dashboards:
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
# 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/
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
appVersion: "0.8.5"
|
|
||||||
description: Collect VMware vCenter and ESXi performance metrics and send them to InfluxDB
|
|
||||||
name: vsphere-influxdb-go
|
|
||||||
version: 0.2.3
|
|
||||||
keywords:
|
|
||||||
- vsphere
|
|
||||||
- influxdb
|
|
||||||
- esx
|
|
||||||
home: https://github.com/Oxalide/vsphere-influxdb-go
|
|
||||||
sources:
|
|
||||||
- https://hub.docker.com/r/nikdoof/vsphere-influxdb-go/
|
|
||||||
- https://github.com/janeczku/calibre-web
|
|
||||||
maintainers:
|
|
||||||
- name: nikdoof
|
|
||||||
email: andy@tensixtyone.com
|
|
||||||
@@ -1,129 +0,0 @@
|
|||||||
# vsphere-influxdb-go
|
|
||||||
|
|
||||||
 
|
|
||||||
|
|
||||||
Collect VMware vCenter and ESXi performance metrics and send them to InfluxDB
|
|
||||||
|
|
||||||
**Homepage:** <https://github.com/Oxalide/vsphere-influxdb-go>
|
|
||||||
|
|
||||||
## Maintainers
|
|
||||||
|
|
||||||
| Name | Email | Url |
|
|
||||||
| ---- | ------ | --- |
|
|
||||||
| nikdoof | andy@tensixtyone.com | |
|
|
||||||
|
|
||||||
## Source Code
|
|
||||||
|
|
||||||
* <https://hub.docker.com/r/nikdoof/vsphere-influxdb-go/>
|
|
||||||
* <https://github.com/janeczku/calibre-web>
|
|
||||||
|
|
||||||
## Values
|
|
||||||
|
|
||||||
| Key | Type | Default | Description |
|
|
||||||
|-----|------|---------|-------------|
|
|
||||||
| affinity | object | `{}` | |
|
|
||||||
| config.Domain | string | `""` | |
|
|
||||||
| config.InfluxDB | list | `[]` | |
|
|
||||||
| config.Interval | int | `60` | |
|
|
||||||
| config.Metrics[0].Definition[0].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[0].Metric | string | `"cpu.usage.average"` | |
|
|
||||||
| config.Metrics[0].Definition[10].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[10].Metric | string | `"mem.consumed.maximum"` | |
|
|
||||||
| config.Metrics[0].Definition[11].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[11].Metric | string | `"mem.active.average"` | |
|
|
||||||
| config.Metrics[0].Definition[12].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[12].Metric | string | `"mem.active.maximum"` | |
|
|
||||||
| config.Metrics[0].Definition[13].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[13].Metric | string | `"mem.vmmemctl.average"` | |
|
|
||||||
| config.Metrics[0].Definition[14].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[14].Metric | string | `"mem.vmmemctl.maximum"` | |
|
|
||||||
| config.Metrics[0].Definition[15].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[15].Metric | string | `"mem.totalCapacity.average"` | |
|
|
||||||
| config.Metrics[0].Definition[16].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[16].Metric | string | `"net.packetsRx.summation"` | |
|
|
||||||
| config.Metrics[0].Definition[17].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[17].Metric | string | `"net.packetsTx.summation"` | |
|
|
||||||
| config.Metrics[0].Definition[18].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[18].Metric | string | `"net.throughput.usage.average"` | |
|
|
||||||
| config.Metrics[0].Definition[19].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[19].Metric | string | `"net.received.average"` | |
|
|
||||||
| config.Metrics[0].Definition[1].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[1].Metric | string | `"cpu.usage.maximum"` | |
|
|
||||||
| config.Metrics[0].Definition[20].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[20].Metric | string | `"net.transmitted.average"` | |
|
|
||||||
| config.Metrics[0].Definition[21].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[21].Metric | string | `"net.throughput.usage.nfs.average"` | |
|
|
||||||
| config.Metrics[0].Definition[22].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[22].Metric | string | `"datastore.numberReadAveraged.average"` | |
|
|
||||||
| config.Metrics[0].Definition[23].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[23].Metric | string | `"datastore.numberWriteAveraged.average"` | |
|
|
||||||
| config.Metrics[0].Definition[24].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[24].Metric | string | `"datastore.read.average"` | |
|
|
||||||
| config.Metrics[0].Definition[25].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[25].Metric | string | `"datastore.write.average"` | |
|
|
||||||
| config.Metrics[0].Definition[26].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[26].Metric | string | `"datastore.totalReadLatency.average"` | |
|
|
||||||
| config.Metrics[0].Definition[27].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[27].Metric | string | `"datastore.totalWriteLatency.average"` | |
|
|
||||||
| config.Metrics[0].Definition[28].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[28].Metric | string | `"mem.capacity.provisioned.average"` | |
|
|
||||||
| config.Metrics[0].Definition[29].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[29].Metric | string | `"cpu.corecount.provisioned.average"` | |
|
|
||||||
| config.Metrics[0].Definition[2].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[2].Metric | string | `"cpu.usagemhz.average"` | |
|
|
||||||
| config.Metrics[0].Definition[3].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[3].Metric | string | `"cpu.usagemhz.maximum"` | |
|
|
||||||
| config.Metrics[0].Definition[4].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[4].Metric | string | `"cpu.wait.summation"` | |
|
|
||||||
| config.Metrics[0].Definition[5].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[5].Metric | string | `"cpu.system.summation"` | |
|
|
||||||
| config.Metrics[0].Definition[6].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[6].Metric | string | `"cpu.ready.summation"` | |
|
|
||||||
| config.Metrics[0].Definition[7].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[7].Metric | string | `"mem.usage.average"` | |
|
|
||||||
| config.Metrics[0].Definition[8].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[8].Metric | string | `"mem.usage.maximum"` | |
|
|
||||||
| config.Metrics[0].Definition[9].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[0].Definition[9].Metric | string | `"mem.consumed.average"` | |
|
|
||||||
| config.Metrics[0].ObjectType[0] | string | `"VirtualMachine"` | |
|
|
||||||
| config.Metrics[0].ObjectType[1] | string | `"HostSystem"` | |
|
|
||||||
| config.Metrics[1].Definition[0].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[1].Definition[0].Metric | string | `"datastore.datastoreVMObservedLatency.latest"` | |
|
|
||||||
| config.Metrics[1].ObjectType[0] | string | `"VirtualMachine"` | |
|
|
||||||
| config.Metrics[2].Definition[0].Instances | string | `""` | |
|
|
||||||
| config.Metrics[2].Definition[0].Metric | string | `"disk.maxTotalLatency.latest"` | |
|
|
||||||
| config.Metrics[2].Definition[1].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[2].Definition[1].Metric | string | `"disk.numberReadAveraged.average"` | |
|
|
||||||
| config.Metrics[2].Definition[2].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[2].Definition[2].Metric | string | `"disk.numberWriteAveraged.average"` | |
|
|
||||||
| config.Metrics[2].Definition[3].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[2].Definition[3].Metric | string | `"net.throughput.contention.summation"` | |
|
|
||||||
| config.Metrics[2].ObjectType[0] | string | `"HostSystem"` | |
|
|
||||||
| config.Metrics[3].Definition[0].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[3].Definition[0].Metric | string | `"disk.capacity.latest"` | |
|
|
||||||
| config.Metrics[3].Definition[1].Instances | string | `"*"` | |
|
|
||||||
| config.Metrics[3].Definition[1].Metric | string | `"disk.used.latest"` | |
|
|
||||||
| config.Metrics[3].ObjectType[0] | string | `"Datastore"` | |
|
|
||||||
| config.RemoveHostDomainName | bool | `false` | |
|
|
||||||
| config.VCenters | list | `[]` | |
|
|
||||||
| cronjob.failedJobsHistoryLimit | int | `1` | |
|
|
||||||
| cronjob.schedule | string | `"* * * * *"` | |
|
|
||||||
| cronjob.successfulJobsHistoryLimit | int | `3` | |
|
|
||||||
| fullnameOverride | string | `""` | |
|
|
||||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
|
||||||
| image.repository | string | `"nikdoof/vsphere-influxdb-go"` | |
|
|
||||||
| image.tag | string | `"latest"` | |
|
|
||||||
| influxdb.authenticated | bool | `false` | |
|
|
||||||
| influxdb.database | string | `"vmware_performance"` | |
|
|
||||||
| influxdb.hostname | string | `"http://influxdb:8086"` | |
|
|
||||||
| nameOverride | string | `""` | |
|
|
||||||
| nodeSelector | object | `{}` | |
|
|
||||||
| replicaCount | int | `1` | |
|
|
||||||
| resources | object | `{}` | |
|
|
||||||
| tolerations | list | `[]` | |
|
|
||||||
| vsphere.hostname | string | `nil` | |
|
|
||||||
| vsphere.password | string | `nil` | |
|
|
||||||
| vsphere.username | string | `nil` | |
|
|
||||||
|
|
||||||
----------------------------------------------
|
|
||||||
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
vsphere:
|
|
||||||
hostname: vcenter
|
|
||||||
username: test
|
|
||||||
password: test
|
|
||||||
|
|
||||||
influxdb:
|
|
||||||
hostname: test
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
{{/* vim: set filetype=mustache: */}}
|
|
||||||
{{/*
|
|
||||||
Expand the name of the chart.
|
|
||||||
*/}}
|
|
||||||
{{- define "vsphere-influxdb-go.name" -}}
|
|
||||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create a default fully qualified app name.
|
|
||||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
|
||||||
If release name contains chart name it will be used as a full name.
|
|
||||||
*/}}
|
|
||||||
{{- define "vsphere-influxdb-go.fullname" -}}
|
|
||||||
{{- if .Values.fullnameOverride -}}
|
|
||||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
|
||||||
{{- if contains $name .Release.Name -}}
|
|
||||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create chart name and version as used by the chart label.
|
|
||||||
*/}}
|
|
||||||
{{- define "vsphere-influxdb-go.chart" -}}
|
|
||||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Common labels
|
|
||||||
*/}}
|
|
||||||
{{- define "vsphere-influxdb-go.labels" -}}
|
|
||||||
app.kubernetes.io/name: {{ include "vsphere-influxdb-go.name" . }}
|
|
||||||
helm.sh/chart: {{ include "vsphere-influxdb-go.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- if .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
|
||||||
{{- end }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the name of the service account to use
|
|
||||||
*/}}
|
|
||||||
{{- define "vsphere-influxdb-go.serviceAccountName" -}}
|
|
||||||
{{- if .Values.serviceAccount.create -}}
|
|
||||||
{{ default (include "vsphere-influxdb-go.fullname" .) .Values.serviceAccount.name }}
|
|
||||||
{{- else -}}
|
|
||||||
{{ default "default" .Values.serviceAccount.name }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: vsphere-influxdb-go-config
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ include "vsphere-influxdb-go.name" . }}
|
|
||||||
helm.sh/chart: {{ include "vsphere-influxdb-go.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ include "vsphere-influxdb-go.name" . }}
|
|
||||||
data:
|
|
||||||
config.json: |-
|
|
||||||
{{ toJson .Values.config | indent 4}}
|
|
||||||
@@ -1,98 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: batch/v1beta1
|
|
||||||
kind: CronJob
|
|
||||||
metadata:
|
|
||||||
name: {{ include "vsphere-influxdb-go.fullname" . }}-cronjob
|
|
||||||
{{- if .Values.deploymentAnnotations }}
|
|
||||||
annotations:
|
|
||||||
{{- range $key, $value := .Values.deploymentAnnotations }}
|
|
||||||
{{ $key }}: {{ $value | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ include "vsphere-influxdb-go.name" . }}
|
|
||||||
helm.sh/chart: {{ include "vsphere-influxdb-go.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ include "vsphere-influxdb-go.name" . }}
|
|
||||||
spec:
|
|
||||||
schedule: {{ .Values.cronjob.schedule | quote }}
|
|
||||||
successfulJobsHistoryLimit: {{ .Values.cronjob.successfulJobsHistoryLimit }}
|
|
||||||
failedJobsHistoryLimit: {{ .Values.cronjob.failedJobsHistoryLimit }}
|
|
||||||
concurrencyPolicy: Forbid
|
|
||||||
{{- if .Values.cronjob.startingDeadlineSeconds }}
|
|
||||||
startingDeadlineSeconds: {{ .Values.cronjob.startingDeadlineSeconds }}
|
|
||||||
{{- end }}
|
|
||||||
jobTemplate:
|
|
||||||
spec:
|
|
||||||
backoffLimit: 0
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ include "vsphere-influxdb-go.name" . }}
|
|
||||||
helm.sh/chart: {{ include "vsphere-influxdb-go.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ include "vsphere-influxdb-go.name" . }}
|
|
||||||
spec:
|
|
||||||
restartPolicy: Never
|
|
||||||
{{- if .Values.image.pullSecrets }}
|
|
||||||
imagePullSecrets:
|
|
||||||
{{- range .Values.image.pullSecrets }}
|
|
||||||
- name: {{ . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
containers:
|
|
||||||
- name: {{ .Chart.Name }}
|
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
|
||||||
command: ["/vsphere-influxdb-go", "-config=/config/config.json"]
|
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
||||||
resources:
|
|
||||||
{{ toYaml .Values.resources | indent 16 }}
|
|
||||||
env:
|
|
||||||
- name: VSPHERE_HOSTNAME
|
|
||||||
value: {{ .Values.vsphere.hostname }}
|
|
||||||
- name: VSPHERE_USERNAME
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ default "vsphere-influxdb-go-secret" .Values.existingSecretName }}
|
|
||||||
key: vsphere.username
|
|
||||||
- name: VSPHERE_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ default "vsphere-influxdb-go-secret" .Values.existingSecretName }}
|
|
||||||
key: vsphere.password
|
|
||||||
- name: INFLUX_HOSTNAME
|
|
||||||
value: {{ .Values.influxdb.hostname }}
|
|
||||||
- name: INFLUX_DATABASE
|
|
||||||
value: {{ .Values.influxdb.database }}
|
|
||||||
{{- if .Values.influxdb.authenticated }}
|
|
||||||
- name: INFLUX_USERNAME
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ default "vsphere-influxdb-go-secret" .Values.existingSecretName }}
|
|
||||||
key: influxdb.username
|
|
||||||
- name: INFLUX_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ default "vsphere-influxdb-go-secret" .Values.existingSecretName }}
|
|
||||||
key: influxdb.password
|
|
||||||
{{- end }}
|
|
||||||
volumeMounts:
|
|
||||||
- name: config-volume
|
|
||||||
mountPath: /config
|
|
||||||
volumes:
|
|
||||||
- name: config-volume
|
|
||||||
configMap:
|
|
||||||
name: vsphere-influxdb-go-config
|
|
||||||
|
|
||||||
{{- with .Values.nodeSelector }}
|
|
||||||
nodeSelector:
|
|
||||||
{{ toYaml . | indent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.affinity }}
|
|
||||||
affinity:
|
|
||||||
{{ toYaml . | indent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.tolerations }}
|
|
||||||
tolerations:
|
|
||||||
{{ toYaml . | indent 12 }}:
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
---
|
|
||||||
{{- if not (.Values.existingSecretName) }}
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: vsphere-influxdb-go-secret
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ include "vsphere-influxdb-go.name" . }}
|
|
||||||
helm.sh/chart: {{ include "vsphere-influxdb-go.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ include "vsphere-influxdb-go.name" . }}
|
|
||||||
type: Opaque
|
|
||||||
data:
|
|
||||||
vsphere.username: {{ .Values.vsphere.username | b64enc }}
|
|
||||||
vsphere.password: {{ .Values.vsphere.password | b64enc }}
|
|
||||||
{{- if .Values.influxdb.authenticated }}
|
|
||||||
influxdb.username: {{ .Values.influxdb.username | b64enc }}
|
|
||||||
influxdb.password: {{ .Values.influxdb.password | b64enc }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,155 +0,0 @@
|
|||||||
# Default values for vsphere-influxdb-go.
|
|
||||||
# This is a YAML-formatted file.
|
|
||||||
# Declare variables to be passed into your templates.
|
|
||||||
|
|
||||||
replicaCount: 1
|
|
||||||
|
|
||||||
image:
|
|
||||||
repository: nikdoof/vsphere-influxdb-go
|
|
||||||
tag: latest
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
# imagePullSecrets: []
|
|
||||||
|
|
||||||
nameOverride: ""
|
|
||||||
fullnameOverride: ""
|
|
||||||
|
|
||||||
## Use a pre-existing secret for login information
|
|
||||||
##
|
|
||||||
# existingSecretName: existing-secret
|
|
||||||
|
|
||||||
## Connection details
|
|
||||||
##
|
|
||||||
vsphere:
|
|
||||||
hostname:
|
|
||||||
username:
|
|
||||||
password:
|
|
||||||
|
|
||||||
influxdb:
|
|
||||||
hostname: http://influxdb:8086
|
|
||||||
authenticated: false
|
|
||||||
# username:
|
|
||||||
# password:
|
|
||||||
database: vmware_performance
|
|
||||||
|
|
||||||
cronjob:
|
|
||||||
schedule: "* * * * *"
|
|
||||||
successfulJobsHistoryLimit: 3
|
|
||||||
failedJobsHistoryLimit: 1
|
|
||||||
# startingDeadlineSeconds: 10
|
|
||||||
|
|
||||||
## Configuration data that is wrote to vsphere-influxdb-go
|
|
||||||
## If you need additional metrics then this is where you can
|
|
||||||
## add them.
|
|
||||||
##
|
|
||||||
config:
|
|
||||||
Domain: ""
|
|
||||||
RemoveHostDomainName: false
|
|
||||||
Interval: 60
|
|
||||||
VCenters: []
|
|
||||||
InfluxDB: []
|
|
||||||
Metrics:
|
|
||||||
- ObjectType:
|
|
||||||
- VirtualMachine
|
|
||||||
- HostSystem
|
|
||||||
Definition:
|
|
||||||
- Metric: cpu.usage.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: cpu.usage.maximum
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: cpu.usagemhz.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: cpu.usagemhz.maximum
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: cpu.wait.summation
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: cpu.system.summation
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: cpu.ready.summation
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: mem.usage.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: mem.usage.maximum
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: mem.consumed.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: mem.consumed.maximum
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: mem.active.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: mem.active.maximum
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: mem.vmmemctl.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: mem.vmmemctl.maximum
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: mem.totalCapacity.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: net.packetsRx.summation
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: net.packetsTx.summation
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: net.throughput.usage.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: net.received.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: net.transmitted.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: net.throughput.usage.nfs.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: datastore.numberReadAveraged.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: datastore.numberWriteAveraged.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: datastore.read.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: datastore.write.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: datastore.totalReadLatency.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: datastore.totalWriteLatency.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: mem.capacity.provisioned.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: cpu.corecount.provisioned.average
|
|
||||||
Instances: "*"
|
|
||||||
- ObjectType:
|
|
||||||
- VirtualMachine
|
|
||||||
Definition:
|
|
||||||
- Metric: datastore.datastoreVMObservedLatency.latest
|
|
||||||
Instances: "*"
|
|
||||||
- ObjectType:
|
|
||||||
- HostSystem
|
|
||||||
Definition:
|
|
||||||
- Metric: disk.maxTotalLatency.latest
|
|
||||||
Instances: ''
|
|
||||||
- Metric: disk.numberReadAveraged.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: disk.numberWriteAveraged.average
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: net.throughput.contention.summation
|
|
||||||
Instances: "*"
|
|
||||||
- ObjectType:
|
|
||||||
- Datastore
|
|
||||||
Definition:
|
|
||||||
- Metric: disk.capacity.latest
|
|
||||||
Instances: "*"
|
|
||||||
- Metric: disk.used.latest
|
|
||||||
Instances: "*"
|
|
||||||
|
|
||||||
resources: {}
|
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
||||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
||||||
# limits:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
# requests:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
affinity: {}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
# 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/
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
appVersion: "0.3.178"
|
|
||||||
description: A web GUI for Zigbee2Mqtt
|
|
||||||
name: zigbee2mqttassistant
|
|
||||||
version: 0.1.2
|
|
||||||
keywords:
|
|
||||||
- zigbee
|
|
||||||
- mqtt
|
|
||||||
- homeassistant
|
|
||||||
home: https://github.com/yllibed/Zigbee2MqttAssistant
|
|
||||||
sources:
|
|
||||||
- https://hub.docker.com/r/carldebilly/zigbee2mqttassistant
|
|
||||||
maintainers:
|
|
||||||
- name: nikdoof
|
|
||||||
email: andy@tensixtyone.com
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
# zigbee2mqttassistant
|
|
||||||
|
|
||||||
 
|
|
||||||
|
|
||||||
A web GUI for Zigbee2Mqtt
|
|
||||||
|
|
||||||
**Homepage:** <https://github.com/yllibed/Zigbee2MqttAssistant>
|
|
||||||
|
|
||||||
## Maintainers
|
|
||||||
|
|
||||||
| Name | Email | Url |
|
|
||||||
| ---- | ------ | --- |
|
|
||||||
| nikdoof | andy@tensixtyone.com | |
|
|
||||||
|
|
||||||
## Source Code
|
|
||||||
|
|
||||||
* <https://hub.docker.com/r/carldebilly/zigbee2mqttassistant>
|
|
||||||
|
|
||||||
## Values
|
|
||||||
|
|
||||||
| Key | Type | Default | Description |
|
|
||||||
|-----|------|---------|-------------|
|
|
||||||
| TZ | string | `"UTC"` | |
|
|
||||||
| affinity | object | `{}` | |
|
|
||||||
| fullnameOverride | string | `""` | |
|
|
||||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
|
||||||
| image.repository | string | `"carldebilly/zigbee2mqttassistant"` | |
|
|
||||||
| image.tag | string | `"0.3.178"` | |
|
|
||||||
| imagePullSecrets | list | `[]` | |
|
|
||||||
| ingress.annotations | object | `{}` | |
|
|
||||||
| ingress.enabled | bool | `false` | |
|
|
||||||
| ingress.hosts[0].host | string | `"chart-example.local"` | |
|
|
||||||
| ingress.hosts[0].paths | list | `[]` | |
|
|
||||||
| ingress.tls | list | `[]` | |
|
|
||||||
| nameOverride | string | `""` | |
|
|
||||||
| nodeSelector | object | `{}` | |
|
|
||||||
| podSecurityContext | object | `{}` | |
|
|
||||||
| replicaCount | int | `1` | |
|
|
||||||
| resources | object | `{}` | |
|
|
||||||
| securityContext | object | `{}` | |
|
|
||||||
| service.port | int | `8800` | |
|
|
||||||
| service.type | string | `"ClusterIP"` | |
|
|
||||||
| tolerations | list | `[]` | |
|
|
||||||
| z2ma | object | `{}` | |
|
|
||||||
|
|
||||||
----------------------------------------------
|
|
||||||
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
---
|
|
||||||
z2ma:
|
|
||||||
broker: mqtt.svc.cluster.local
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
z2ma:
|
|
||||||
broker: mqtt.svc.cluster.local
|
|
||||||
existingSecretName: test
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
z2ma:
|
|
||||||
broker: mqtt.svc.cluster.local
|
|
||||||
username: test
|
|
||||||
password: test2
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
1. Get the application URL by running these commands:
|
|
||||||
{{- if .Values.ingress.enabled }}
|
|
||||||
{{- range $host := .Values.ingress.hosts }}
|
|
||||||
{{- range .paths }}
|
|
||||||
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- else if contains "NodePort" .Values.service.type }}
|
|
||||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "zigbee2mqttassistant.fullname" . }})
|
|
||||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
|
||||||
echo http://$NODE_IP:$NODE_PORT
|
|
||||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
|
||||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
|
||||||
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "zigbee2mqttassistant.fullname" . }}'
|
|
||||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "zigbee2mqttassistant.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
|
|
||||||
echo http://$SERVICE_IP:{{ .Values.service.port }}
|
|
||||||
{{- else if contains "ClusterIP" .Values.service.type }}
|
|
||||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "zigbee2mqttassistant.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
|
||||||
echo "Visit http://127.0.0.1:8080 to use your application"
|
|
||||||
kubectl port-forward $POD_NAME 8080:80
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
{{/* vim: set filetype=mustache: */}}
|
|
||||||
{{/*
|
|
||||||
Expand the name of the chart.
|
|
||||||
*/}}
|
|
||||||
{{- define "zigbee2mqttassistant.name" -}}
|
|
||||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create a default fully qualified app name.
|
|
||||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
|
||||||
If release name contains chart name it will be used as a full name.
|
|
||||||
*/}}
|
|
||||||
{{- define "zigbee2mqttassistant.fullname" -}}
|
|
||||||
{{- if .Values.fullnameOverride -}}
|
|
||||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
|
||||||
{{- if contains $name .Release.Name -}}
|
|
||||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create chart name and version as used by the chart label.
|
|
||||||
*/}}
|
|
||||||
{{- define "zigbee2mqttassistant.chart" -}}
|
|
||||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Common labels
|
|
||||||
*/}}
|
|
||||||
{{- define "zigbee2mqttassistant.labels" -}}
|
|
||||||
app.kubernetes.io/name: {{ include "zigbee2mqttassistant.name" . }}
|
|
||||||
helm.sh/chart: {{ include "zigbee2mqttassistant.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- if .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
|
||||||
{{- end }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the name of the service account to use
|
|
||||||
*/}}
|
|
||||||
{{- define "zigbee2mqttassistant.serviceAccountName" -}}
|
|
||||||
{{- if .Values.serviceAccount.create -}}
|
|
||||||
{{ default (include "zigbee2mqttassistant.fullname" .) .Values.serviceAccount.name }}
|
|
||||||
{{- else -}}
|
|
||||||
{{ default "default" .Values.serviceAccount.name }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: {{ include "zigbee2mqttassistant.fullname" . }}
|
|
||||||
labels:
|
|
||||||
{{ include "zigbee2mqttassistant.labels" . | indent 4 }}
|
|
||||||
spec:
|
|
||||||
replicas: {{ .Values.replicaCount }}
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/name: {{ include "zigbee2mqttassistant.name" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ include "zigbee2mqttassistant.name" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
{{- with .Values.imagePullSecrets }}
|
|
||||||
imagePullSecrets:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
securityContext:
|
|
||||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
|
||||||
containers:
|
|
||||||
- name: {{ .Chart.Name }}
|
|
||||||
securityContext:
|
|
||||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
containerPort: 80
|
|
||||||
protocol: TCP
|
|
||||||
#livenessProbe:
|
|
||||||
# httpGet:
|
|
||||||
# path: /
|
|
||||||
# port: http
|
|
||||||
#readinessProbe:
|
|
||||||
# httpGet:
|
|
||||||
# path: /
|
|
||||||
# port: http
|
|
||||||
env:
|
|
||||||
- name: TZ
|
|
||||||
value: {{ .Values.TZ }}
|
|
||||||
- name: Z2MA_SETTINGS__MQTTSERVER
|
|
||||||
value: {{ .Values.z2ma.broker }}
|
|
||||||
{{- if and (.Values.z2ma.username) (.Values.z2ma.password) }}
|
|
||||||
- name: Z2MA_SETTINGS__MQTTUSERNAME
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ default "zigbee2mqttassistant-secret" .Values.z2ma.existingSecretName }}
|
|
||||||
key: username
|
|
||||||
- name: Z2MA_SETTINGS__MQTTPASSWORD
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ default "zigbee2mqttassistant-secret" .Values.z2ma.existingSecretName }}
|
|
||||||
key: password
|
|
||||||
{{- end }}
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.resources | nindent 12 }}
|
|
||||||
{{- with .Values.nodeSelector }}
|
|
||||||
nodeSelector:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.affinity }}
|
|
||||||
affinity:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.tolerations }}
|
|
||||||
tolerations:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
{{- if .Values.ingress.enabled -}}
|
|
||||||
{{- $fullName := include "zigbee2mqttassistant.fullname" . -}}
|
|
||||||
{{- $svcPort := .Values.service.port -}}
|
|
||||||
{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
|
|
||||||
apiVersion: networking.k8s.io/v1beta1
|
|
||||||
{{- else -}}
|
|
||||||
apiVersion: extensions/v1beta1
|
|
||||||
{{- end }}
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: {{ $fullName }}
|
|
||||||
labels:
|
|
||||||
{{ include "zigbee2mqttassistant.labels" . | indent 4 }}
|
|
||||||
{{- with .Values.ingress.annotations }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
{{- if .Values.ingress.tls }}
|
|
||||||
tls:
|
|
||||||
{{- range .Values.ingress.tls }}
|
|
||||||
- hosts:
|
|
||||||
{{- range .hosts }}
|
|
||||||
- {{ . | quote }}
|
|
||||||
{{- end }}
|
|
||||||
secretName: {{ .secretName }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
rules:
|
|
||||||
{{- range .Values.ingress.hosts }}
|
|
||||||
- host: {{ .host | quote }}
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
{{- range .paths }}
|
|
||||||
- path: {{ . }}
|
|
||||||
backend:
|
|
||||||
serviceName: {{ $fullName }}
|
|
||||||
servicePort: {{ $svcPort }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
{{- if and (and (not (.Values.existingSecretName)) (.Values.z2ma.username)) (.Values.z2ma.password) }}
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: {{ include "zigbee2mqttassistant.name" . }}-secret
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ include "zigbee2mqttassistant.name" . }}
|
|
||||||
helm.sh/chart: {{ include "zigbee2mqttassistant.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ include "zigbee2mqttassistant.name" . }}
|
|
||||||
type: Opaque
|
|
||||||
data:
|
|
||||||
username: {{ .Values.z2ma.username | b64enc }}
|
|
||||||
password: {{ .Values.z2ma.password | b64enc }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: {{ include "zigbee2mqttassistant.fullname" . }}
|
|
||||||
labels:
|
|
||||||
{{ include "zigbee2mqttassistant.labels" . | indent 4 }}
|
|
||||||
spec:
|
|
||||||
type: {{ .Values.service.type }}
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.service.port }}
|
|
||||||
targetPort: http
|
|
||||||
protocol: TCP
|
|
||||||
name: http
|
|
||||||
selector:
|
|
||||||
app.kubernetes.io/name: {{ include "zigbee2mqttassistant.name" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
# Default values for zigbee2mqttassistant.
|
|
||||||
# This is a YAML-formatted file.
|
|
||||||
# Declare variables to be passed into your templates.
|
|
||||||
|
|
||||||
replicaCount: 1
|
|
||||||
|
|
||||||
image:
|
|
||||||
repository: carldebilly/zigbee2mqttassistant
|
|
||||||
tag: 0.3.178
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
|
|
||||||
imagePullSecrets: []
|
|
||||||
nameOverride: ""
|
|
||||||
fullnameOverride: ""
|
|
||||||
|
|
||||||
TZ: UTC
|
|
||||||
|
|
||||||
## Z2MA Settings (more details: https://github.com/yllibed/Zigbee2MqttAssistant/blob/master/README.md)
|
|
||||||
z2ma: {}
|
|
||||||
# broker: mqtt.svc.cluster.local
|
|
||||||
|
|
||||||
## You can provide your MQTT username and password and a secret will be created...
|
|
||||||
##
|
|
||||||
# username: user
|
|
||||||
# password: pass
|
|
||||||
|
|
||||||
## ... or you can provide a existing secret to pull these values from
|
|
||||||
##
|
|
||||||
# existingSecretName: mqtt-secret
|
|
||||||
|
|
||||||
|
|
||||||
podSecurityContext: {}
|
|
||||||
# fsGroup: 2000
|
|
||||||
|
|
||||||
securityContext: {}
|
|
||||||
# capabilities:
|
|
||||||
# drop:
|
|
||||||
# - ALL
|
|
||||||
# readOnlyRootFilesystem: true
|
|
||||||
# runAsNonRoot: true
|
|
||||||
# runAsUser: 1000
|
|
||||||
|
|
||||||
service:
|
|
||||||
type: ClusterIP
|
|
||||||
port: 8800
|
|
||||||
|
|
||||||
ingress:
|
|
||||||
enabled: false
|
|
||||||
annotations: {}
|
|
||||||
# kubernetes.io/ingress.class: nginx
|
|
||||||
# kubernetes.io/tls-acme: "true"
|
|
||||||
hosts:
|
|
||||||
- host: chart-example.local
|
|
||||||
paths: []
|
|
||||||
|
|
||||||
tls: []
|
|
||||||
# - secretName: chart-example-tls
|
|
||||||
# hosts:
|
|
||||||
# - chart-example.local
|
|
||||||
|
|
||||||
resources: {}
|
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
||||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
||||||
# limits:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
# requests:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
affinity: {}
|
|
||||||
1
crds/README.md
Normal file
1
crds/README.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
These CRDs are used as part of chart-testing, and are installed in the Kind cluster thats used to run the process.
|
||||||
119
crds/monitoring.coreos.com_prometheusrules.yaml
Normal file
119
crds/monitoring.coreos.com_prometheusrules.yaml
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
creationTimestamp: null
|
||||||
|
name: prometheusrules.monitoring.coreos.com
|
||||||
|
spec:
|
||||||
|
group: monitoring.coreos.com
|
||||||
|
names:
|
||||||
|
categories:
|
||||||
|
- prometheus-operator
|
||||||
|
kind: PrometheusRule
|
||||||
|
listKind: PrometheusRuleList
|
||||||
|
plural: prometheusrules
|
||||||
|
shortNames:
|
||||||
|
- promrule
|
||||||
|
singular: prometheusrule
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: PrometheusRule defines recording and alerting rules for a Prometheus
|
||||||
|
instance
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
of an object. Servers should convert recognized schemas to the latest
|
||||||
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: 'Kind is a string value representing the REST resource this
|
||||||
|
object represents. Servers may infer this from the endpoint the client
|
||||||
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
description: Specification of desired alerting rule definitions for Prometheus.
|
||||||
|
properties:
|
||||||
|
groups:
|
||||||
|
description: Content of Prometheus rule file
|
||||||
|
items:
|
||||||
|
description: RuleGroup is a list of sequentially evaluated recording
|
||||||
|
and alerting rules.
|
||||||
|
properties:
|
||||||
|
interval:
|
||||||
|
description: Interval determines how often rules in the group
|
||||||
|
are evaluated.
|
||||||
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: Name of the rule group.
|
||||||
|
minLength: 1
|
||||||
|
type: string
|
||||||
|
partial_response_strategy:
|
||||||
|
description: 'PartialResponseStrategy is only used by ThanosRuler
|
||||||
|
and will be ignored by Prometheus instances. More info: https://github.com/thanos-io/thanos/blob/main/docs/components/rule.md#partial-response'
|
||||||
|
pattern: ^(?i)(abort|warn)?$
|
||||||
|
type: string
|
||||||
|
rules:
|
||||||
|
description: List of alerting and recording rules.
|
||||||
|
items:
|
||||||
|
description: 'Rule describes an alerting or recording rule
|
||||||
|
See Prometheus documentation: [alerting](https://www.prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)
|
||||||
|
or [recording](https://www.prometheus.io/docs/prometheus/latest/configuration/recording_rules/#recording-rules)
|
||||||
|
rule'
|
||||||
|
properties:
|
||||||
|
alert:
|
||||||
|
description: Name of the alert. Must be a valid label
|
||||||
|
value. Only one of `record` and `alert` must be set.
|
||||||
|
type: string
|
||||||
|
annotations:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: Annotations to add to each alert. Only valid
|
||||||
|
for alerting rules.
|
||||||
|
type: object
|
||||||
|
expr:
|
||||||
|
anyOf:
|
||||||
|
- type: integer
|
||||||
|
- type: string
|
||||||
|
description: PromQL expression to evaluate.
|
||||||
|
x-kubernetes-int-or-string: true
|
||||||
|
for:
|
||||||
|
description: Alerts are considered firing once they have
|
||||||
|
been returned for this long.
|
||||||
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
|
type: string
|
||||||
|
labels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: Labels to add or overwrite.
|
||||||
|
type: object
|
||||||
|
record:
|
||||||
|
description: Name of the time series to output to. Must
|
||||||
|
be a valid metric name. Only one of `record` and `alert`
|
||||||
|
must be set.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- expr
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
- rules
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
x-kubernetes-list-map-keys:
|
||||||
|
- name
|
||||||
|
x-kubernetes-list-type: map
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- spec
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
695
crds/monitoring.coreos.com_servicemonitors.yaml
Normal file
695
crds/monitoring.coreos.com_servicemonitors.yaml
Normal file
@@ -0,0 +1,695 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
creationTimestamp: null
|
||||||
|
name: servicemonitors.monitoring.coreos.com
|
||||||
|
spec:
|
||||||
|
group: monitoring.coreos.com
|
||||||
|
names:
|
||||||
|
categories:
|
||||||
|
- prometheus-operator
|
||||||
|
kind: ServiceMonitor
|
||||||
|
listKind: ServiceMonitorList
|
||||||
|
plural: servicemonitors
|
||||||
|
shortNames:
|
||||||
|
- smon
|
||||||
|
singular: servicemonitor
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: ServiceMonitor defines monitoring for a set of services.
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
of an object. Servers should convert recognized schemas to the latest
|
||||||
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: 'Kind is a string value representing the REST resource this
|
||||||
|
object represents. Servers may infer this from the endpoint the client
|
||||||
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
description: Specification of desired Service selection for target discovery
|
||||||
|
by Prometheus.
|
||||||
|
properties:
|
||||||
|
attachMetadata:
|
||||||
|
description: Attaches node metadata to discovered targets. Requires
|
||||||
|
Prometheus v2.37.0 and above.
|
||||||
|
properties:
|
||||||
|
node:
|
||||||
|
description: When set to true, Prometheus must have permissions
|
||||||
|
to get Nodes.
|
||||||
|
type: boolean
|
||||||
|
type: object
|
||||||
|
endpoints:
|
||||||
|
description: A list of endpoints allowed as part of this ServiceMonitor.
|
||||||
|
items:
|
||||||
|
description: Endpoint defines a scrapeable endpoint serving Prometheus
|
||||||
|
metrics.
|
||||||
|
properties:
|
||||||
|
authorization:
|
||||||
|
description: Authorization section for this endpoint
|
||||||
|
properties:
|
||||||
|
credentials:
|
||||||
|
description: The secret's key that contains the credentials
|
||||||
|
of the request
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must
|
||||||
|
be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type:
|
||||||
|
description: Set the authentication type. Defaults to Bearer,
|
||||||
|
Basic will cause an error
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
basicAuth:
|
||||||
|
description: 'BasicAuth allow an endpoint to authenticate over
|
||||||
|
basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
|
||||||
|
properties:
|
||||||
|
password:
|
||||||
|
description: The secret in the service monitor namespace
|
||||||
|
that contains the password for authentication.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must
|
||||||
|
be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
username:
|
||||||
|
description: The secret in the service monitor namespace
|
||||||
|
that contains the username for authentication.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must
|
||||||
|
be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: object
|
||||||
|
bearerTokenFile:
|
||||||
|
description: File to read bearer token for scraping targets.
|
||||||
|
type: string
|
||||||
|
bearerTokenSecret:
|
||||||
|
description: Secret to mount to read bearer token for scraping
|
||||||
|
targets. The secret needs to be in the same namespace as the
|
||||||
|
service monitor and accessible by the Prometheus Operator.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must
|
||||||
|
be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
enableHttp2:
|
||||||
|
description: Whether to enable HTTP2.
|
||||||
|
type: boolean
|
||||||
|
filterRunning:
|
||||||
|
description: 'Drop pods that are not running. (Failed, Succeeded).
|
||||||
|
Enabled by default. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase'
|
||||||
|
type: boolean
|
||||||
|
followRedirects:
|
||||||
|
description: FollowRedirects configures whether scrape requests
|
||||||
|
follow HTTP 3xx redirects.
|
||||||
|
type: boolean
|
||||||
|
honorLabels:
|
||||||
|
description: HonorLabels chooses the metric's labels on collisions
|
||||||
|
with target labels.
|
||||||
|
type: boolean
|
||||||
|
honorTimestamps:
|
||||||
|
description: HonorTimestamps controls whether Prometheus respects
|
||||||
|
the timestamps present in scraped data.
|
||||||
|
type: boolean
|
||||||
|
interval:
|
||||||
|
description: Interval at which metrics should be scraped If
|
||||||
|
not specified Prometheus' global scrape interval is used.
|
||||||
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
|
type: string
|
||||||
|
metricRelabelings:
|
||||||
|
description: MetricRelabelConfigs to apply to samples before
|
||||||
|
ingestion.
|
||||||
|
items:
|
||||||
|
description: 'RelabelConfig allows dynamic rewriting of the
|
||||||
|
label set, being applied to samples before ingestion. It
|
||||||
|
defines `<metric_relabel_configs>`-section of Prometheus
|
||||||
|
configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
||||||
|
properties:
|
||||||
|
action:
|
||||||
|
default: replace
|
||||||
|
description: Action to perform based on regex matching.
|
||||||
|
Default is 'replace'. uppercase and lowercase actions
|
||||||
|
require Prometheus >= 2.36.
|
||||||
|
enum:
|
||||||
|
- replace
|
||||||
|
- Replace
|
||||||
|
- keep
|
||||||
|
- Keep
|
||||||
|
- drop
|
||||||
|
- Drop
|
||||||
|
- hashmod
|
||||||
|
- HashMod
|
||||||
|
- labelmap
|
||||||
|
- LabelMap
|
||||||
|
- labeldrop
|
||||||
|
- LabelDrop
|
||||||
|
- labelkeep
|
||||||
|
- LabelKeep
|
||||||
|
- lowercase
|
||||||
|
- Lowercase
|
||||||
|
- uppercase
|
||||||
|
- Uppercase
|
||||||
|
type: string
|
||||||
|
modulus:
|
||||||
|
description: Modulus to take of the hash of the source
|
||||||
|
label values.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
regex:
|
||||||
|
description: Regular expression against which the extracted
|
||||||
|
value is matched. Default is '(.*)'
|
||||||
|
type: string
|
||||||
|
replacement:
|
||||||
|
description: Replacement value against which a regex replace
|
||||||
|
is performed if the regular expression matches. Regex
|
||||||
|
capture groups are available. Default is '$1'
|
||||||
|
type: string
|
||||||
|
separator:
|
||||||
|
description: Separator placed between concatenated source
|
||||||
|
label values. default is ';'.
|
||||||
|
type: string
|
||||||
|
sourceLabels:
|
||||||
|
description: The source labels select values from existing
|
||||||
|
labels. Their content is concatenated using the configured
|
||||||
|
separator and matched against the configured regular
|
||||||
|
expression for the replace, keep, and drop actions.
|
||||||
|
items:
|
||||||
|
description: LabelName is a valid Prometheus label name
|
||||||
|
which may only contain ASCII letters, numbers, as
|
||||||
|
well as underscores.
|
||||||
|
pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
targetLabel:
|
||||||
|
description: Label to which the resulting value is written
|
||||||
|
in a replace action. It is mandatory for replace actions.
|
||||||
|
Regex capture groups are available.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
oauth2:
|
||||||
|
description: OAuth2 for the URL. Only valid in Prometheus versions
|
||||||
|
2.27.0 and newer.
|
||||||
|
properties:
|
||||||
|
clientId:
|
||||||
|
description: The secret or configmap containing the OAuth2
|
||||||
|
client id
|
||||||
|
properties:
|
||||||
|
configMap:
|
||||||
|
description: ConfigMap containing data to use for the
|
||||||
|
targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key to select.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the ConfigMap or its
|
||||||
|
key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
secret:
|
||||||
|
description: Secret containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key
|
||||||
|
must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: object
|
||||||
|
clientSecret:
|
||||||
|
description: The secret containing the OAuth2 client secret
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must
|
||||||
|
be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
endpointParams:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: Parameters to append to the token URL
|
||||||
|
type: object
|
||||||
|
scopes:
|
||||||
|
description: OAuth2 scopes used for the token request
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
tokenUrl:
|
||||||
|
description: The URL to fetch the token from
|
||||||
|
minLength: 1
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- clientId
|
||||||
|
- clientSecret
|
||||||
|
- tokenUrl
|
||||||
|
type: object
|
||||||
|
params:
|
||||||
|
additionalProperties:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
description: Optional HTTP URL parameters
|
||||||
|
type: object
|
||||||
|
path:
|
||||||
|
description: HTTP path to scrape for metrics. If empty, Prometheus
|
||||||
|
uses the default value (e.g. `/metrics`).
|
||||||
|
type: string
|
||||||
|
port:
|
||||||
|
description: Name of the service port this endpoint refers to.
|
||||||
|
Mutually exclusive with targetPort.
|
||||||
|
type: string
|
||||||
|
proxyUrl:
|
||||||
|
description: ProxyURL eg http://proxyserver:2195 Directs scrapes
|
||||||
|
to proxy through this endpoint.
|
||||||
|
type: string
|
||||||
|
relabelings:
|
||||||
|
description: 'RelabelConfigs to apply to samples before scraping.
|
||||||
|
Prometheus Operator automatically adds relabelings for a few
|
||||||
|
standard Kubernetes fields. The original scrape job''s name
|
||||||
|
is available via the `__tmp_prometheus_job_name` label. More
|
||||||
|
info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
|
||||||
|
items:
|
||||||
|
description: 'RelabelConfig allows dynamic rewriting of the
|
||||||
|
label set, being applied to samples before ingestion. It
|
||||||
|
defines `<metric_relabel_configs>`-section of Prometheus
|
||||||
|
configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
||||||
|
properties:
|
||||||
|
action:
|
||||||
|
default: replace
|
||||||
|
description: Action to perform based on regex matching.
|
||||||
|
Default is 'replace'. uppercase and lowercase actions
|
||||||
|
require Prometheus >= 2.36.
|
||||||
|
enum:
|
||||||
|
- replace
|
||||||
|
- Replace
|
||||||
|
- keep
|
||||||
|
- Keep
|
||||||
|
- drop
|
||||||
|
- Drop
|
||||||
|
- hashmod
|
||||||
|
- HashMod
|
||||||
|
- labelmap
|
||||||
|
- LabelMap
|
||||||
|
- labeldrop
|
||||||
|
- LabelDrop
|
||||||
|
- labelkeep
|
||||||
|
- LabelKeep
|
||||||
|
- lowercase
|
||||||
|
- Lowercase
|
||||||
|
- uppercase
|
||||||
|
- Uppercase
|
||||||
|
type: string
|
||||||
|
modulus:
|
||||||
|
description: Modulus to take of the hash of the source
|
||||||
|
label values.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
regex:
|
||||||
|
description: Regular expression against which the extracted
|
||||||
|
value is matched. Default is '(.*)'
|
||||||
|
type: string
|
||||||
|
replacement:
|
||||||
|
description: Replacement value against which a regex replace
|
||||||
|
is performed if the regular expression matches. Regex
|
||||||
|
capture groups are available. Default is '$1'
|
||||||
|
type: string
|
||||||
|
separator:
|
||||||
|
description: Separator placed between concatenated source
|
||||||
|
label values. default is ';'.
|
||||||
|
type: string
|
||||||
|
sourceLabels:
|
||||||
|
description: The source labels select values from existing
|
||||||
|
labels. Their content is concatenated using the configured
|
||||||
|
separator and matched against the configured regular
|
||||||
|
expression for the replace, keep, and drop actions.
|
||||||
|
items:
|
||||||
|
description: LabelName is a valid Prometheus label name
|
||||||
|
which may only contain ASCII letters, numbers, as
|
||||||
|
well as underscores.
|
||||||
|
pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
targetLabel:
|
||||||
|
description: Label to which the resulting value is written
|
||||||
|
in a replace action. It is mandatory for replace actions.
|
||||||
|
Regex capture groups are available.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
scheme:
|
||||||
|
description: HTTP scheme to use for scraping.
|
||||||
|
type: string
|
||||||
|
scrapeTimeout:
|
||||||
|
description: Timeout after which the scrape is ended If not
|
||||||
|
specified, the Prometheus global scrape timeout is used unless
|
||||||
|
it is less than `Interval` in which the latter is used.
|
||||||
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
|
type: string
|
||||||
|
targetPort:
|
||||||
|
anyOf:
|
||||||
|
- type: integer
|
||||||
|
- type: string
|
||||||
|
description: Name or number of the target port of the Pod behind
|
||||||
|
the Service, the port must be specified with container port
|
||||||
|
property. Mutually exclusive with port.
|
||||||
|
x-kubernetes-int-or-string: true
|
||||||
|
tlsConfig:
|
||||||
|
description: TLS configuration to use when scraping the endpoint
|
||||||
|
properties:
|
||||||
|
ca:
|
||||||
|
description: Certificate authority used when verifying server
|
||||||
|
certificates.
|
||||||
|
properties:
|
||||||
|
configMap:
|
||||||
|
description: ConfigMap containing data to use for the
|
||||||
|
targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key to select.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the ConfigMap or its
|
||||||
|
key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
secret:
|
||||||
|
description: Secret containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key
|
||||||
|
must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: object
|
||||||
|
caFile:
|
||||||
|
description: Path to the CA cert in the Prometheus container
|
||||||
|
to use for the targets.
|
||||||
|
type: string
|
||||||
|
cert:
|
||||||
|
description: Client certificate to present when doing client-authentication.
|
||||||
|
properties:
|
||||||
|
configMap:
|
||||||
|
description: ConfigMap containing data to use for the
|
||||||
|
targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key to select.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the ConfigMap or its
|
||||||
|
key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
secret:
|
||||||
|
description: Secret containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key
|
||||||
|
must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: object
|
||||||
|
certFile:
|
||||||
|
description: Path to the client cert file in the Prometheus
|
||||||
|
container for the targets.
|
||||||
|
type: string
|
||||||
|
insecureSkipVerify:
|
||||||
|
description: Disable target certificate validation.
|
||||||
|
type: boolean
|
||||||
|
keyFile:
|
||||||
|
description: Path to the client key file in the Prometheus
|
||||||
|
container for the targets.
|
||||||
|
type: string
|
||||||
|
keySecret:
|
||||||
|
description: Secret containing the client key file for the
|
||||||
|
targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must
|
||||||
|
be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
serverName:
|
||||||
|
description: Used to verify the hostname for the targets.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
jobLabel:
|
||||||
|
description: "JobLabel selects the label from the associated Kubernetes
|
||||||
|
service which will be used as the `job` label for all metrics. \n
|
||||||
|
For example: If in `ServiceMonitor.spec.jobLabel: foo` and in `Service.metadata.labels.foo:
|
||||||
|
bar`, then the `job=\"bar\"` label is added to all metrics. \n If
|
||||||
|
the value of this field is empty or if the label doesn't exist for
|
||||||
|
the given Service, the `job` label of the metrics defaults to the
|
||||||
|
name of the Kubernetes Service."
|
||||||
|
type: string
|
||||||
|
labelLimit:
|
||||||
|
description: Per-scrape limit on number of labels that will be accepted
|
||||||
|
for a sample. Only valid in Prometheus versions 2.27.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelNameLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels name that will be
|
||||||
|
accepted for a sample. Only valid in Prometheus versions 2.27.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelValueLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels value that will
|
||||||
|
be accepted for a sample. Only valid in Prometheus versions 2.27.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
namespaceSelector:
|
||||||
|
description: Selector to select which namespaces the Kubernetes Endpoints
|
||||||
|
objects are discovered from.
|
||||||
|
properties:
|
||||||
|
any:
|
||||||
|
description: Boolean describing whether all namespaces are selected
|
||||||
|
in contrast to a list restricting them.
|
||||||
|
type: boolean
|
||||||
|
matchNames:
|
||||||
|
description: List of namespace names to select from.
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
type: object
|
||||||
|
podTargetLabels:
|
||||||
|
description: PodTargetLabels transfers labels on the Kubernetes `Pod`
|
||||||
|
onto the created metrics.
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
sampleLimit:
|
||||||
|
description: SampleLimit defines per-scrape limit on number of scraped
|
||||||
|
samples that will be accepted.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
selector:
|
||||||
|
description: Selector to select Endpoints objects.
|
||||||
|
properties:
|
||||||
|
matchExpressions:
|
||||||
|
description: matchExpressions is a list of label selector requirements.
|
||||||
|
The requirements are ANDed.
|
||||||
|
items:
|
||||||
|
description: A label selector requirement is a selector that
|
||||||
|
contains values, a key, and an operator that relates the key
|
||||||
|
and values.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: key is the label key that the selector applies
|
||||||
|
to.
|
||||||
|
type: string
|
||||||
|
operator:
|
||||||
|
description: operator represents a key's relationship to
|
||||||
|
a set of values. Valid operators are In, NotIn, Exists
|
||||||
|
and DoesNotExist.
|
||||||
|
type: string
|
||||||
|
values:
|
||||||
|
description: values is an array of string values. If the
|
||||||
|
operator is In or NotIn, the values array must be non-empty.
|
||||||
|
If the operator is Exists or DoesNotExist, the values
|
||||||
|
array must be empty. This array is replaced during a strategic
|
||||||
|
merge patch.
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
- operator
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
matchLabels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: matchLabels is a map of {key,value} pairs. A single
|
||||||
|
{key,value} in the matchLabels map is equivalent to an element
|
||||||
|
of matchExpressions, whose key field is "key", the operator
|
||||||
|
is "In", and the values array contains only "value". The requirements
|
||||||
|
are ANDed.
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
targetLabels:
|
||||||
|
description: TargetLabels transfers labels from the Kubernetes `Service`
|
||||||
|
onto the created metrics.
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
targetLimit:
|
||||||
|
description: TargetLimit defines a limit on the number of scraped
|
||||||
|
targets that will be accepted.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
required:
|
||||||
|
- endpoints
|
||||||
|
- selector
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- spec
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
Reference in New Issue
Block a user