## influxdb image version
## ref: https://hub.docker.com/r/library/influxdb/tags/
image:
  repo: "influxdb"
  tag: "1.4-alpine"
  pullPolicy: IfNotPresent

## Specify a service type
## NodePort is default
## ref: http://kubernetes.io/docs/user-guide/services/
##
service:
  ## Add annotations to service
  # annotations: {}
  type: ClusterIP
  ## Add IP Cluster
  # clusterIP: ""
  ## Add external IPs that route to one or more cluster nodes
  # externalIPs: []
  ## Specify LoadBalancer IP (only allow on some cloud provider)
  # loadBalancerIP: ""
  ## Allow source IPs to access on service (if empty, any access allow)
  # loadBalancerSourceRanges: []

## Persist data to a persistent volume
##
persistence:
  enabled: false
  ## If true will use an existing PVC instead of creating one
  # useExisting: false
  ## Name of existing PVC to be used in the influx deployment
  # name:
  ## influxdb data Persistent Volume Storage Class
  ## If defined, storageClassName: <storageClass>
  ## If set to "-", storageClassName: "", which disables dynamic provisioning
  ## If undefined (the default) or set to null, no storageClassName spec is
  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
  ##   GKE, AWS & OpenStack)
  ##
  # storageClass: "-"
  accessMode: ReadWriteOnce
  size: 8Gi

## Create default user through Kubernetes job
## Defaults indicated below
##
setDefaultUser:
  enabled: false

  ## Image of the container used for job
  ## Default: appropriate/curl:latest
  ##
  image: appropriate/curl:latest

  ## Deadline for job so it does not retry forever.
  ## Default: activeDeadline: 300
  ##
  activeDeadline: 300

  ## Restart policy for job
  ## Default: OnFailure
  restartPolicy: OnFailure

  user:

    ## The user name
    ## Default: "admin"
    username: "admin"

    ## User password
    ## single quotes must be escaped (\')
    ## Default: (Randomly generated 10 characters of AlphaNum)
    # password:

    ## User privileges
    ## Default: "WITH ALL PRIVILEGES"
    privileges: "WITH ALL PRIVILEGES"

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

ingress:
  enabled: false
  tls: false
  # secretName: my-tls-cert # only needed if tls above is true
  hostname: influxdb.foobar.com
  annotations:
    # kubernetes.io/ingress.class: "nginx"
    # kubernetes.io/tls-acme: "true"

## Use an alternate scheduler, e.g. "stork".
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
##
# schedulerName:

## Node labels for pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}

## The InfluxDB image uses several environment variables to automatically
## configure certain parts of the server.
## Ref: https://hub.docker.com/_/influxdb/
env:
  # - name: INFLUXDB_DB
  #   value: "demo"

## Change InfluxDB configuration parameters below:
## Defaults are indicated
## ref: https://docs.influxdata.com/influxdb/v1.1/administration/config/
config:
  reporting_disabled: false
  bind_address: 8088
  storage_directory: /var/lib/influxdb
  meta:
    retention_autocreate: true
    logging_enabled: true
  data:
    query_log_enabled: true
    cache_max_memory_size: 1073741824
    cache_snapshot_memory_size: 26214400
    cache_snapshot_write_cold_duration: 10m0s
    compact_full_write_cold_duration: 4h0m0s
    max_series_per_database: 1000000
    max_values_per_tag: 100000
    trace_logging_enabled: false
  coordinator:
    write_timeout: 10s
    max_concurrent_queries: 0
    query_timeout: 0s
    log_queries_after: 0s
    max_select_point: 0
    max_select_series: 0
    max_select_buckets: 0
  retention:
    enabled: true
    check_interval: 30m0s
  shard_precreation:
    enabled: true
    check_interval: 10m0s
    advance_period: 30m0s
  admin:
    enabled: false
    bind_address: 8083
    https_enabled: false
    https_certificate: /etc/ssl/influxdb.pem
  monitor:
    store_enabled: true
    store_database: _internal
    store_interval: 10s
  subscriber:
    enabled: true
    http_timeout: 30s
    insecure_skip_verify: false
    ca_certs: ""
    write_concurrency: 40
    write_buffer_size: 1000
  http:
    enabled: true
    bind_address: 8086
    auth_enabled: false
    log_enabled: true
    write_tracing: false
    pprof_enabled: true
    https_enabled: false
    https_certificate: /etc/ssl/influxdb.pem
    https_private_key: ""
    max_row_limit: 10000
    max_connection_limit: 0
    shared_secret: "beetlejuicebeetlejuicebeetlejuice"
    realm: InfluxDB
    unix_socket_enabled: false
    bind_socket: /var/run/influxdb.sock
  graphite:
    enabled: false
    bind_address: 2003
    database: graphite
    retention_policy: autogen
    protocol: tcp
    batch_size: 5000
    batch_pending: 10
    batch_timeout: 1s
    consistency_level: one
    separator: .
    udp_read_buffer: 0
    # Uncomment to define graphite templates
    # templates:
    #   - "graphite.metric.*.*.* measurement.run"
  collectd:
    enabled: false
    bind_address: 25826
    database: collectd
    retention_policy: autogen
    batch_size: 5000
    batch_pending: 10
    batch_timeout: 10s
    read_buffer: 0
    typesdb: /usr/share/collectd/types.db
    security_level: none
    auth_file: /etc/collectd/auth_file
  opentsdb:
    enabled: false
    bind_address: 4242
    database: opentsdb
    retention_policy: autogen
    consistency_level: one
    tls_enabled: false
    certificate: /etc/ssl/influxdb.pem
    batch_size: 1000
    batch_pending: 5
    batch_timeout: 1s
    log_point_errors: true
  udp:
    enabled: false
    bind_address: 8089
    database: udp
    retention_policy: autogen
    batch_size: 5000
    batch_pending: 10
    read_buffer: 0
    batch_timeout: 1s
    precision: "ns"
  continuous_queries:
    log_enabled: true
    enabled: true
    run_interval: 1s
