# 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 - # 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.*)/.*" # device_id_regex: "(.*/)?(?P.*)" # 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