image:
  repository: tccr.io/truecharts/netdata
  tag: v1.35.1@sha256:d964e142f925e59afd42ce464874f30d87e8ada37b12677518b8e5cd32d04be7
  pullPolicy: IfNotPresent

securityContext:
  readOnlyRootFilesystem: false
  runAsNonRoot: false
  capabilities:
    add:
      - SYS_PTRACE

podSecurityContext:
  runAsUser: 0
  runAsGroup: 0
  fsGroup: 201

# -- The service account the pods will use to interact with the Kubernetes API
serviceAccount:
  main:
    create: true

configmap:
  configs:
    enabled: true
    data:
      netdata-conf: |-
          [global]
          memory mode = dbengine
          dbengine multihost disk space = 4096
          page cache size = 64

rbac:
  main:
    enabled: true
    rules:
    - apiGroups:
      - ""
      resources:
        - "pods"
        - "nodes"
        - "nodes/metrics"
        # - "services"       # used by agent service discovery
        # - "configmaps"     # used by agent service discovery
        # - "secrets"        # used by agent service discovery
      verbs:
        - "get"
        - "list"
        - "watch"
    - apiGroups: [""]
      resources:
        - "namespaces"
      verbs:
        - "get"

env:
  MY_NODE_NAME:
    fieldRef:
      fieldPath: spec.nodeName
  MY_POD_NAMESPACE:
    fieldRef:
      fieldPath: metadata.namespace
  MY_POD_NAME:
    fieldRef:
      fieldPath: metadata.name

secretEnv:
  NETDATA_CLAIM_URL: ""
  NETDATA_CLAIM_TOKEN: ""
  NETDATA_CLAIM_ROOMS: ""

service:
  main:
    ports:
      main:
        port: 19999
        targetPort: 19999

probes:
  liveness:
    path: "/api/v1/info"
  readiness:
    path: "/api/v1/info"
  startup:
    path: "/api/v1/info"

persistence:
  config:
    enabled: true
    mountPath: "/etc/netdata"
  lib:
    enabled: true
    mountPath: "/var/lib/netdata"
  cache:
    enabled: true
    mountPath: "/var/cache/netdata"
  passwd:
    enabled: true
    type: hostPath
    hostPath: "/etc/passwd"
    mountPath: "/host/etc/passwd"
    readOnly: true
  group:
    enabled: true
    type: hostPath
    hostPath: "/etc/group"
    mountPath: "/host/etc/group"
    readOnly: true
  proc:
    enabled: true
    type: hostPath
    hostPath: "/proc"
    mountPath: "/host/proc"
    readOnly: true
  dev:
    enabled: true
    type: hostPath
    hostPath: "/dev"
    mountPath: "/host/dev"
    readOnly: true
  sys:
    enabled: true
    type: hostPath
    hostPath: "/sys"
    mountPath: "/host/sys"
    readOnly: true
  os:
    enabled: true
    type: hostPath
    hostPath: "/etc/os-release"
    mountPath: "/host/etc/os-release"
    readOnly: true
  netdata-configs:
    enabled: "true"
    mountPath: "/etc/netdata/truecharts-defaults/.netdata.conf"
    subPath: "netdata-conf"
    type: "custom"
    volumeSpec:
      configMap:
        name: '{{ printf "%v-configs" (include "tc.common.names.fullname" .) }}'

initContainers:
  create-config:
    name: create-config
    image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
    volumeMounts:
    - name: config
      mountPath: "/etc/netdata"
    - name: netdata-configs
      mountPath: "/etc/netdata/truecharts-defaults/.netdata.conf"
      subPath: netdata-conf
      readOnly: true
    command: ["/bin/sh", "-c"]
    args:
      - >
        export configfile=/etc/netdata/netdata.conf;
        if [ ! -f $configfile ]; then
          cp /etc/netdata/truecharts-defaults/.netdata.conf $configfile
        else
          echo "Config file exists, skipping...";
        fi;
        cat $configfile
