image:
  repository: docker.elastic.co/beats/filebeat-oss
  tag: 6.6.1
  pullPolicy: IfNotPresent

config:
  filebeat.config:
    prospectors:
      # Mounted `filebeat-prospectors` configmap:
      path: ${path.config}/prospectors.d/*.yml
      # Reload prospectors configs as they change:
      reload.enabled: false
    modules:
      path: ${path.config}/modules.d/*.yml
      # Reload module configs as they change:
      reload.enabled: false

  processors:
    - add_cloud_metadata:

  filebeat.prospectors:
    - type: log
      enabled: true
      paths:
        - /var/log/*.log
        - /var/log/messages
        - /var/log/syslog
    - type: docker
      containers.ids:
      - "*"
      processors:
        - add_kubernetes_metadata:
            in_cluster: true
        - drop_event:
            when:
              equals:
                kubernetes.container.name: "filebeat"

  output.file:
    path: "/usr/share/filebeat/data"
    filename: filebeat
    rotate_every_kb: 10000
    number_of_files: 5

  # When a key contains a period, use this format for setting values on the command line:
  # --set config."http\.enabled"=true
  http.enabled: true
  http.port: 5066

# Upload index template to Elasticsearch if Logstash output is enabled
# https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-template.html
# List of Elasticsearch hosts
indexTemplateLoad: []
  # - elasticsearch:9200

# List of beat plugins
plugins: []
  # - kinesis.so

# pass custom command. This is equivalent of Entrypoint in docker
command: []

# pass custom args. This is equivalent of Cmd in docker
args: []

# A list of additional environment variables
extraVars: []
  # - name: TEST1
  #   value: TEST2
  # - name: TEST3
  #   valueFrom:
  #     configMapKeyRef:
  #       name: configmap
  #       key: config.key

# Add additional volumes and mounts, for example to read other log files on the host
extraVolumes: []
  # - hostPath:
  #     path: /var/log
  #   name: varlog
extraVolumeMounts: []
  # - name: varlog
  #   mountPath: /host/var/log
  #   readOnly: true

extraInitContainers: []
  # - name: echo
  #   image: busybox
  #   imagePullPolicy: Always
  #   args:
  #     - echo
  #     - hello

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: 200Mi
  # requests:
  #  cpu: 100m
  #  memory: 100Mi

priorityClassName: ""

nodeSelector: {}

annotations: {}

tolerations: []
  # - operator: Exists

affinity: {}

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:

## Specify if a Pod Security Policy for filebeat must be created
## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
##
podSecurityPolicy:
  enabled: False
  annotations: {}
    ## Specify pod annotations
    ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
    ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
    ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
    ##
    # seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
    # seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
    # apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'

## Add Elastic beat-exporter for Prometheus
## https://github.com/trustpilot/beat-exporter
## Dont forget to enable http on config.http.enabled (exposing filebeat stats)
monitoring:
  enabled: true
  serviceMonitor:
    # When set true and if Prometheus Operator is installed then use a ServiceMonitor to configure scraping
    enabled: true
    # Set the namespace the ServiceMonitor should be deployed
    # namespace: monitoring
    # Set how frequently Prometheus should scrape
    # interval: 30s
    # Set path to beats-exporter telemtery-path
    # telemetryPath: /metrics
    # Set labels for the ServiceMonitor, use this to define your scrape label for Prometheus Operator
    # labels:
  image:
    repository: trustpilot/beat-exporter
    tag: 0.1.1
    pullPolicy: IfNotPresent
  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: 200Mi
  # requests:
  #  cpu: 100m
  #  memory: 100Mi

  # pass custom args. This is equivalent of Cmd in docker
  args: []

  ## default is ":9479". If changed, need pass argument "-web.listen-address <...>"
  exporterPort: 9479
  ## Filebeat service port, which exposes Prometheus metrics
  targetPort: 9479
