namespaces:
  observability: observability

server:
  prometheus:
    enabled: true
    releaseName: prometheus
    sourceRef:
      kind: HelmRepository
      name: prometheus-community
      namespace: flux-system
    chart:
      name: prometheus
      version: ">=25.0.0 <26.0.0"
    values:
      server:
        persistentVolume:
          enabled: true
          size: 20Gi
      prometheus-node-exporter:
        enabled: false
  victoriaMetrics:
    enabled: true
    releaseName: victoria-metrics
    sourceRef:
      kind: HelmRepository
      name: victoria-metrics
      namespace: flux-system
    chart:
      name: victoria-metrics-single
      version: ">=0.13.0 <1.0.0"
    values:
      server:
        persistentVolume:
          enabled: true
          size: 50Gi
  victoriaLogs:
    enabled: true
    releaseName: victoria-logs
    sourceRef:
      kind: HelmRepository
      name: victoria-metrics
      namespace: flux-system
    chart:
      name: victoria-logs-single
      version: ">=0.9.0 <1.0.0"
    values:
      server:
        persistentVolume:
          enabled: true
          size: 50Gi
  victoriaTraces:
    enabled: true
    releaseName: victoria-traces
    sourceRef:
      kind: HelmRepository
      name: victoria-metrics
      namespace: flux-system
    chart:
      name: victoria-traces-single
      version: ">=0.0.1 <1.0.0"
    values: {}
  grafana:
    enabled: false
    releaseName: grafana
    sourceRef:
      kind: HelmRepository
      name: grafana
      namespace: flux-system
    chart:
      name: grafana
      version: ">=8.0.0 <9.0.0"
    values:
      initChownData:
        enabled: false
      podSecurityContext:
        fsGroup: 472
      securityContext:
        runAsUser: 472
        runAsGroup: 472
      persistence:
        enabled: true
        size: 10Gi
  otelConnector:
    enabled: false
    releaseName: otel-connector
    sourceRef:
      kind: HelmRepository
      name: open-telemetry
      namespace: flux-system
    chart:
      name: opentelemetry-collector
      version: ">=0.104.0 <1.0.0"
    values:
      image:
        repository: otel/opentelemetry-collector-contrib
      mode: deployment
      config:
        receivers:
          otlp:
            protocols:
              grpc: {}
              http: {}
        processors:
          batch: {}
        exporters:
          debug: {}
        service:
          pipelines:
            traces:
              receivers: [otlp]
              processors: [batch]
              exporters: [debug]
            metrics:
              receivers: [otlp]
              processors: [batch]
              exporters: [debug]
            logs:
              receivers: [otlp]
              processors: [batch]
              exporters: [debug]

agent:
  nodeExporter:
    enabled: true
    releaseName: node-exporter
    sourceRef:
      kind: HelmRepository
      name: prometheus-community
      namespace: flux-system
    chart:
      name: prometheus-node-exporter
      version: ">=4.30.0 <5.0.0"
    values: {}
  vector:
    enabled: true
    image:
      repository: timberio/vector
      tag: "0.36.0-distroless-libc"
      pullPolicy: IfNotPresent
    serviceAccountName: vector-agent
    vlogsEndpoint: http://victoria-logs-victoria-logs-single-server.observability.svc.cluster.local:9428
    config: |
      data_dir: /vector-data-dir

      sources:
        journald:
          type: journald

      transforms:
        normalize:
          type: remap
          inputs: ["journald"]
          source: |
            .cluster = "k3s"
            .origin = "vector-agent"

      sinks:
        vlogs:
          type: elasticsearch
          inputs: ["normalize"]
          endpoints:
            - http://victoria-logs-victoria-logs-single-server.observability.svc.cluster.local:9428/insert/elasticsearch/
          mode: bulk
          compression: gzip
    resources:
      limits:
        cpu: 300m
        memory: 512Mi
      requests:
        cpu: 100m
        memory: 128Mi
    volume:
      enabled: true
      name: vector-data-dir
      mountPath: /vector-data-dir
      sizeLimit: 1Gi
  processExporter:
    enabled: true
    image:
      repository: ncabatoff/process-exporter
      tag: v0.8.3
      pullPolicy: IfNotPresent
    serviceAccountName: process-exporter
    port: 9256
    config: |
      process_names:
        - name: "{{.Comm}}"
          cmdline:
            - '.+'
    resources:
      limits:
        cpu: 100m
        memory: 128Mi
      requests:
        cpu: 25m
        memory: 64Mi

extraObjects: []
