## Default values.yaml for Telegraf
## This is a YAML-formatted file.
## ref: https://hub.docker.com/r/library/telegraf/tags/

image:
  repo: "telegraf"
  tag: "1.22"
  pullPolicy: IfNotPresent

## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
resources:
  requests:
    memory: 256Mi
    cpu: 0.1
  limits:
    memory: 1Gi
    cpu: 1

## Pod annotations
podAnnotations: {}

## Pod labels
podLabels: {}

## Configure args passed to Telegraf containers
args: []

## The name of a secret in the same kubernetes namespace which contains values to
## be added to the environment (must be manually created)
## This can be useful for auth tokens, etc.
# envFromSecret: "telegraf-tokens"

## Environment
env:
  # This pulls HOSTNAME from the node, not the pod.
  - name: HOSTNAME
    valueFrom:
      fieldRef:
        fieldPath: spec.nodeName
  # In test clusters where hostnames are resolved in /etc/hosts on each node,
  # the HOSTNAME is not resolvable from inside containers
  # So inject the host IP as well
  - name: HOSTIP
    valueFrom:
      fieldRef:
        fieldPath: status.hostIP
  # Mount the host filesystem and set the appropriate env variables.
  # ref: https://github.com/influxdata/telegraf/blob/master/docs/FAQ.md
  # HOST_PROC is required by the cpu, disk, diskio, kernel and processes input plugins
  - name: "HOST_PROC"
    value: "/hostfs/proc"
  # HOST_SYS is required by the diskio plugin
  - name: "HOST_SYS"
    value: "/hostfs/sys"
  - name: "HOST_MOUNT_PREFIX"
    value: "/hostfs"

## Add custom volumes and mounts
# volumes:
# - name: telegraf-output-influxdb2
#   configMap:
#     name: "telegraf-output-influxdb2"
# mountPoints:
# - name: telegraf-output-influxdb2
#   mountPath: /etc/telegraf/conf.d
#   subPath: influxdb2.conf

## Tolerations for pod assignment
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []

## If the DaemonSet should run on the host's network namespace
## hostNetwork: true

## If using hostNetwork=true, set dnsPolicy to ClusterFirstWithHostNet
## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#
## dnsPolicy: ClusterFirstWithHostNet

## If using dnsPolicy=None, set dnsConfig
## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config
## dnsConfig:
##   nameservers:
##     - 1.2.3.4
##   searches:
##     - ns1.svc.cluster-domain.example
##     - my.dns.search.suffix
##   options:
##     - name: ndots
##       value: "2"
##     - name: edns0

rbac:
  # Specifies whether RBAC resources should be created
  create: true

serviceAccount:
  # Specifies whether a ServiceAccount should be created
  create: true
  # The name of the ServiceAccount to use.
  # If not set and create is true, a name is generated using the fullname template
  # name:
  # Annotations for the ServiceAccount
  annotations: {}

## Specify priorityClassName
## Ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
# priorityClassName: system-node-critical

# Specify the pod's SecurityContext, including the OS user and group to run the pod
podSecurityContext: {}

override_config:
  toml: ~
  # Provide a literal TOML config
  # toml: |+
  #   [global_tags]
  #     foo = "bar"
  #   [agent]
  #     interval = "10s"
  #   [[inputs.mem]]
  #   [[outputs.influxdb_v2]]
  #     urls           = ["https://us-west-2-1.aws.cloud2.influxdata.com"]
  #     bucket         = "data"
  #     organization   = "OurCompany"
  #     token          = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

## Exposed telegraf configuration
## ref: https://docs.influxdata.com/telegraf/v1.13/administration/configuration/
config:
  # global_tags:
  #   cluster: "mycluster"
  agent:
    interval: "10s"
    round_interval: true
    metric_batch_size: 1000
    metric_buffer_limit: 10000
    collection_jitter: "0s"
    flush_interval: "10s"
    flush_jitter: "0s"
    precision: ""
    debug: false
    quiet: false
    logfile: ""
    hostname: "$HOSTNAME"
    omit_hostname: false
  outputs:
    - influxdb_v2:
        urls:
          - "http://influxdb-influxdb2.monitoring:80"
        token: N_jNm1hZTfyhJneTJj2G357mQ7EJdNzdvebjSJX6JkbyaXNup_IAqeYowblMgV8EjLypNvauTl27ewJvI_rbqQ==
        organization: "influxdata"
        bucket: "kluster"
  monitor_self: false
  docker_endpoint: "unix:///run/k3s/containerd/containerd.sock"