apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ template "fullname" . }}
  labels:
    app: {{ template "fullname" . }}
    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
    release: "{{ .Release.Name }}"
    heritage: "{{ .Release.Service }}"
data:
  kapacitor.conf: |+  
    hostname = "{{ template "fullname" . }}.{{.Release.Namespace}}"
    data_dir = "/var/lib/kapacitor"
    skip-config-overrides = false
    default-retention-policy = ""
    [http]
      bind-address = ":9092"
      auth-enabled = false
      log-enabled = false
      write-tracing = false
      pprof-enabled = false
      https-enabled = false
      https-certificate = "/etc/ssl/kapacitor.pem"
      shutdown-timeout = "10s"
      shared-secret = ""
    [replay]
      dir = "/var/lib/kapacitor/replay"
    [storage]
      boltdb = "/var/lib/kapacitor/kapacitor.db"
    [task]
      dir = "/var/lib/kapacitor/tasks"
      snapshot-interval = "1m0s"
    [[influxdb]]
      enabled = true
      name = "default"
      default = false
      urls = [{{ .Values.influxURL | quote }}]
      username = ""
      password = ""
      ssl-ca = ""
      ssl-cert = ""
      ssl-key = ""
      insecure-skip-verify = false
      timeout = "0s"
      disable-subscriptions = false
      subscription-protocol = "http"
      kapacitor-hostname = "{{ template "fullname" . }}.{{.Release.Namespace}}"
      http-port = 0
      udp-bind = ""
      udp-buffer = 1000
      udp-read-buffer = 0
      startup-timeout = "5m0s"
      subscriptions-sync-interval = "1m0s"
      [influxdb.excluded-subscriptions]
        _kapacitor = ["autogen"]
    [logging]
      file = "STDERR"
      level = "INFO"
    [config-override]
      enabled = true
    [collectd]
      enabled = false
      bind-address = ":25826"
      database = "collectd"
      retention-policy = ""
      batch-size = 5000
      batch-pending = 10
      batch-timeout = "10s"
      read-buffer = 0
      typesdb = "/usr/share/collectd/types.db"
    [opentsdb]
      enabled = false
      bind-address = ":4242"
      database = "opentsdb"
      retention-policy = ""
      consistency-level = "one"
      tls-enabled = false
      certificate = "/etc/ssl/influxdb.pem"
      batch-size = 1000
      batch-pending = 5
      batch-timeout = "1s"
      log-point-errors = true
    [alerta]
      enabled = false
      url = ""
      insecure-skip-verify = false
      token = ""
      token-prefix = ""
      environment = ""
      origin = ""
    [hipchat]
      enabled = false
      url = ""
      token = ""
      room = ""
      global = false
      state-changes-only = false
    [opsgenie]
      enabled = false
      api-key = ""
      url = "https://api.opsgenie.com/v1/json/alert"
      recovery_url = "https://api.opsgenie.com/v1/json/alert/note"
      global = false
    [pagerduty]
      enabled = false
      url = "https://events.pagerduty.com/generic/2010-04-15/create_event.json"
      service-key = ""
      global = false
    [pushover]
      enabled = false
      token = ""
      user-key = ""
      url = "https://api.pushover.net/1/messages.json"
    [smtp]
      enabled = false
      host = "localhost"
      port = 25
      username = ""
      password = ""
      no-verify = false
      global = false
      state-changes-only = false
      from = ""
      idle-timeout = "30s"
    [snmptrap]
      enabled = false
      addr = "localhost:162"
      community = "kapacitor"
      retries = 1
    [sensu]
      enabled = false
      addr = ""
      source = "Kapacitor"
    [slack]
      enabled = false
      url = ""
      channel = ""
      username = "kapacitor"
      icon-emoji = ""
      global = false
      state-changes-only = false
      ssl-ca = ""
      ssl-cert = ""
      ssl-key = ""
      insecure-skip-verify = false
    [talk]
      enabled = false
      url = ""
      author_name = ""
    [telegram]
      enabled = false
      url = "https://api.telegram.org/bot"
      token = ""
      chat-id = ""
      parse-mode = ""
      disable-web-page-preview = false
      disable-notification = false
      global = false
      state-changes-only = false
    [victorops]
      enabled = false
      api-key = ""
      routing-key = ""
      url = "https://alert.victorops.com/integrations/generic/20131114/alert"
      global = false
    [reporting]
      enabled = true
      url = "https://usage.influxdata.com"
    [stats]
      enabled = true
      stats-interval = "10s"
      database = "_kapacitor"
      retention-policy = "autogen"
      timing-sample-rate = 0.1
      timing-movavg-size = 1000
    [udf]
    [deadman]
      interval = "10s"
      threshold = 0.0
      id = "{{ .Group }}"
      message = "{{ .ID }}"
      global = false
    [[kubernetes]]
      id = "kubernetes-pod"
      enabled = true
      in-cluster = true
      resource = "pod"
    [[kubernetes]]
      id = "kubernetes-node"
      enabled = true
      in-cluster = true
      resource = "node"
    [[kubernetes]]
      id = "kubernetes-service"
      enabled = true
      in-cluster = true
      resource = "service"
    [[kubernetes]]
      id = "kubernetes-endpoint"
      enabled = true
      in-cluster = true
      resource = "endpoint"
    [[scraper]]
      enabled = true
      name = "prometheus-node"
      discoverer-id = "kubernetes-node"
      discoverer-service = "kubernetes"
      db = "prometheus_raw"
      rp = "autogen"  
      type = "prometheus"
      scheme = "http"
      metrics-path = "/metrics"
      scrape-interval = "10s"
      scrape-timeout = "10s"
    [[scraper]]
      enabled = true
      name = "prometheus-pod"
      discoverer-id = "kubernetes-pod"
      discoverer-service = "kubernetes"
      db = "prometheus_raw"
      rp = "autogen"
      type = "prometheus"
      scheme = "http"
      metrics-path = "/metrics"
      scrape-interval = "10s"
      scrape-timeout = "10s"
    [[scraper]]
      enabled = true
      name = "prometheus-service"
      discoverer-id = "kubernetes-service"
      discoverer-service = "kubernetes"
      db = "prometheus_raw"
      rp = "autogen"
      type = "prometheus"
      scheme = "http"
      metrics-path = "/metrics"
      scrape-interval = "10s"
      scrape-timeout = "10s"
    [[scraper]]
      enabled = true
      name = "prometheus-endpoint"
      discoverer-id = "kubernetes-endpoint"
      discoverer-service = "kubernetes"
      db = "prometheus_raw"
      rp = "autogen"
      type = "prometheus"
      scheme = "http"
      metrics-path = "/metrics"
      scrape-interval = "10s"
      scrape-timeout = "10s"