mirror of
https://github.com/hikhvar/mqtt2prometheus.git
synced 2026-05-07 00:56:34 +00:00
239 lines
8.5 KiB
YAML
239 lines
8.5 KiB
YAML
# Default values for helm.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
# This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
|
|
replicaCount: 1
|
|
|
|
# This sets the container image more information can be found here: https://kubernetes.io/docs/concepts/containers/images/
|
|
image:
|
|
repository: ghcr.io/hikhvar/mqtt2prometheus
|
|
# This sets the pull policy for images.
|
|
pullPolicy: IfNotPresent
|
|
# Overrides the image tag whose default is the chart appVersion.
|
|
tag: ""
|
|
|
|
# This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
|
imagePullSecrets: []
|
|
# This is to override the chart name.
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
# This section builds out the service account more information can be found here: https://kubernetes.io/docs/concepts/security/service-accounts/
|
|
serviceAccount:
|
|
# Specifies whether a service account should be created
|
|
create: true
|
|
# Automatically mount a ServiceAccount's API credentials?
|
|
automount: true
|
|
# Annotations to add to the service account
|
|
annotations: {}
|
|
# The name of the service account to use.
|
|
# If not set and create is true, a name is generated using the fullname template
|
|
name: ""
|
|
|
|
# This is for setting Kubernetes Annotations to a Pod.
|
|
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
|
podAnnotations: {}
|
|
# This is for setting Kubernetes Labels to a Pod.
|
|
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
|
podLabels: {}
|
|
|
|
podSecurityContext: {}
|
|
# fsGroup: 2000
|
|
|
|
securityContext: {}
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
# runAsUser: 1000
|
|
|
|
# This is for setting up a service more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/
|
|
service:
|
|
# This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
|
|
type: ClusterIP
|
|
# This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports
|
|
port: 9641
|
|
|
|
# Prometheus Operator ServiceMonitor configuration
|
|
serviceMonitor:
|
|
# Enable ServiceMonitor for Prometheus Operator
|
|
enabled: false
|
|
# Additional labels to add to the ServiceMonitor
|
|
labels: {}
|
|
# Scrape interval for Prometheus
|
|
interval: 30s
|
|
# Scrape timeout for Prometheus
|
|
scrapeTimeout: 10s
|
|
# The path to scrape metrics from
|
|
path: /metrics
|
|
|
|
# This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/
|
|
ingress:
|
|
enabled: false
|
|
className: ""
|
|
annotations: {}
|
|
# kubernetes.io/ingress.class: nginx
|
|
# kubernetes.io/tls-acme: "true"
|
|
hosts:
|
|
- host: chart-example.local
|
|
paths:
|
|
- path: /
|
|
pathType: ImplementationSpecific
|
|
tls: []
|
|
# - secretName: chart-example-tls
|
|
# hosts:
|
|
# - chart-example.local
|
|
|
|
# -- Expose the service via gateway-api HTTPRoute
|
|
# Requires Gateway API resources and suitable controller installed within the cluster
|
|
# (see: https://gateway-api.sigs.k8s.io/guides/)
|
|
httpRoute:
|
|
# HTTPRoute enabled.
|
|
enabled: false
|
|
# HTTPRoute annotations.
|
|
annotations: {}
|
|
# Which Gateways this Route is attached to.
|
|
parentRefs:
|
|
- name: gateway
|
|
sectionName: http
|
|
# namespace: default
|
|
# Hostnames matching HTTP header.
|
|
hostnames:
|
|
- chart-example.local
|
|
# List of rules and filters applied.
|
|
rules:
|
|
- matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: /headers
|
|
# filters:
|
|
# - type: RequestHeaderModifier
|
|
# requestHeaderModifier:
|
|
# set:
|
|
# - name: My-Overwrite-Header
|
|
# value: this-is-the-only-value
|
|
# remove:
|
|
# - User-Agent
|
|
# - matches:
|
|
# - path:
|
|
# type: PathPrefix
|
|
# value: /echo
|
|
# headers:
|
|
# - name: version
|
|
# value: v2
|
|
|
|
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
|
|
|
|
# This is to setup the liveness and readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /metrics
|
|
port: http
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /metrics
|
|
port: http
|
|
|
|
# This section is for setting up autoscaling more information can be found here: https://kubernetes.io/docs/concepts/workloads/autoscaling/
|
|
autoscaling:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 100
|
|
targetCPUUtilizationPercentage: 80
|
|
# targetMemoryUtilizationPercentage: 80
|
|
|
|
# Additional volumes on the output Deployment definition.
|
|
volumes: []
|
|
# - name: foo
|
|
# secret:
|
|
# secretName: mysecret
|
|
# optional: false
|
|
|
|
# Additional volumeMounts on the output Deployment definition.
|
|
volumeMounts: []
|
|
# - name: foo
|
|
# mountPath: "/etc/foo"
|
|
# readOnly: true
|
|
|
|
nodeSelector: {}
|
|
|
|
tolerations: []
|
|
|
|
affinity: {}
|
|
|
|
# mqtt2prometheus configuration
|
|
# This configuration will be mounted at /config.yaml in the pod
|
|
# For more information, see config.yaml.dist in the repository
|
|
config:
|
|
mqtt:
|
|
# The MQTT broker to connect to
|
|
server: tcp://127.0.0.1:1883
|
|
# Optional: Username and Password for authenticating with the MQTT Server
|
|
# user: bob
|
|
# password: happylittleclouds
|
|
# Optional: for TLS client certificates
|
|
# ca_cert: certs/AmazonRootCA1.pem
|
|
# client_cert: certs/xxxxx-certificate.pem.crt
|
|
# client_key: certs/xxxxx-private.pem.key
|
|
# Optional: Used to specify ClientID. The default is <hostname>-<pid>
|
|
# client_id: somedevice
|
|
# The Topic path to subscribe to. Be aware that you have to specify the wildcard.
|
|
topic_path: v1/devices/me/+
|
|
# Optional: Regular expression to extract the device ID from the topic path. The default regular expression, assumes
|
|
# that the last "element" of the topic_path is the device id.
|
|
# The regular expression must contain a named capture group with the name deviceid
|
|
# For example the expression for tasamota based sensors is "tele/(?P<deviceid>.*)/.*"
|
|
# device_id_regex: "(.*/)?(?P<deviceid>.*)"
|
|
# The MQTT QoS level
|
|
qos: 0
|
|
# Export internal profiling metrics including CPU, Memory, uptime, open file
|
|
# descriptors, as well as metrics exported by Go runtime such as information about
|
|
# heap and garbage collection stats.
|
|
#enable_profiling_metrics: false
|
|
cache:
|
|
# Timeout. Each received metric will be presented for this time if no update is send via MQTT.
|
|
# Set the timeout to -1 to disable the deletion of metrics from the cache. The exporter presents the ingest timestamp
|
|
# to prometheus.
|
|
timeout: 24h
|
|
json_parsing:
|
|
# Separator. Used to split path to elements when accessing json fields.
|
|
# You can access json fields with dots in it. F.E. {"key.name": {"nested": "value"}}
|
|
# Just set separator to -> and use key.name->nested as mqtt_name
|
|
separator: .
|
|
# This is a list of valid metrics. Only metrics listed here will be exported
|
|
metrics:
|
|
# The name of the metric in prometheus
|
|
- prom_name: temperature
|
|
# The name of the metric in a MQTT JSON message
|
|
mqtt_name: temperature
|
|
# The prometheus help text for this metric
|
|
help: DHT22 temperature reading
|
|
# The prometheus type for this metric. Valid values are: "gauge" and "counter"
|
|
type: gauge
|
|
# A map of string to string for constant labels. This labels will be attached to every prometheus metric
|
|
const_labels:
|
|
sensor_type: dht22
|
|
# The name of the metric in prometheus
|
|
- prom_name: humidity
|
|
# The name of the metric in a MQTT JSON message
|
|
mqtt_name: humidity
|
|
# The prometheus help text for this metric
|
|
help: DHT22 humidity reading
|
|
# The prometheus type for this metric. Valid values are: "gauge" and "counter"
|
|
type: gauge
|
|
# A map of string to string for constant labels. This labels will be attached to every prometheus metric
|
|
const_labels:
|
|
sensor_type: dht22
|