# yaml-language-server: $schema=./values.schema.json
image:
  repository: docker.io/utkuozdemir/nvidia_gpu_exporter
  pullPolicy: IfNotPresent
  tag: 1.4.1@sha256:b921d70484ea3dcb7bd6baee52befbe80f818f71067f4ba04013e96aaf563562
securityContext:
  container:
    privileged: true
    readOnlyRootFilesystem: false
    runAsUser: 0
    runAsGroup: 0
service:
  main:
    ports:
      main:
        protocol: http
        port: 9835
workload:
  main:
    type: DaemonSet
    podSpec:
      containers:
        main:
          args:
            - --web.listen-address
            - :{{ .Values.service.main.ports.main.port }}
            - --web.telemetry-path
            - "{{ .Values.metricsEndpoint }}"
            - --nvidia-smi-command
            - nvidia-smi
            - --log.level
            - "{{ .Values.logs.general.level }}"
            - --log.format
            - "{{ .Values.logs.general.format }}"
          probes:
            liveness:
              path: "{{ .Values.metricsEndpoint }}"
              port: main
            readiness:
              path: "{{ .Values.metricsEndpoint }}"
              port: main
            startup:
              type: tcp
              port: main
persistence:
  nviaictl:
    enabled: true
    type: hostPath
    hostPath: /dev/nvidiactl
    mountPath: /dev/nvidiactl
    readOnly: true
  nvidia0:
    enabled: true
    type: hostPath
    hostPath: /dev/nvidia0
    mountPath: /dev/nvidia0
    readOnly: true
  nvidiasmi:
    enabled: true
    type: hostPath
    hostPath: /usr/bin/nvidia-smi
    mountPath: /usr/bin/nvidia-smi
    readOnly: true
  libnvidiamlso:
    enabled: true
    type: hostPath
    hostPath: /usr/lib/x86_64-linux-gnu/libnvidia-ml.so
    mountPath: /usr/lib/x86_64-linux-gnu/libnvidia-ml.so
    readOnly: true
  libnvidiamlso1:
    enabled: true
    type: hostPath
    hostPath: /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1
    mountPath: /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1
    readOnly: true
metrics:
  main:
    enabled: true
    type: "servicemonitor"
    endpoints:
      - port: main
        path: "{{ .Values.metricsEndpoint }}"

metricsEndpoint: "/metrics"
logs:
  general:
    level: info
    format: logfmt
