prometheus.yml 2.42 KiB
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: prometheus
  namespace: argocd
  finalizers:
    - resources-finalizer.argocd.argoproj.io
spec:
  project: exphost
  source:
    repoURL: 'https://charts.bitnami.com/bitnami'
    chart: kube-prometheus
    targetRevision: 6.13.0
    helm:
      values: |
        prometheus:
          persistence:
            enabled: true
          ingress:
            enabled: true
            hostname: "prometheus.{{ .Values.domain }}"
            certManager: true
            tls: true
            annotations:
              cert-manager.io/cluster-issuer: acme-issuer
          priorityClassName: high-priority
        node-exporter:
          tolerations:
            - key: "node-role.kubernetes.io/master"
              operator: "Exists"
              effect: "NoSchedule"
            - key: "CriticalAddonsOnly"
              operator: "Exists"
              effect: "NoSchedule"
          extraArgs:
            collector.filesystem.ignored-mount-points: "^/(dev|proc|sys|var/lib/docker/.+|run/ns/.+|run/k3s/containerd|run|var/lib/kubelet/.+)($|/)"
            path.rootfs: "/host/root"
            log.level: "debug"
          extraVolumes:
            - name: rootfs
              hostPath:
                path: /
          extraVolumeMounts:
            - name: rootfs
              mountPath: /host/root
              readOnly: true
        alertmanager:
          ingress:
            enabled: true
            hostname: "alertmanager.{{ .Values.domain }}"
            certManager: true
            tls: true
            annotations:
              cert-manager.io/cluster-issuer: acme-issuer
              nginx.ingress.kubernetes.io/auth-url: "https://alertmanager.{{ .Values.domain }}/oauth2/auth"
              nginx.ingress.kubernetes.io/auth-signin: "https://alertmanager.{{ .Values.domain }}/oauth2/start?rd=$escaped_request_uri"
          configNamespaceSelector: {}
          configSelector:
            matchLabels:
              alertmanagerConfig: prometheus-kube-prometheus-alertmanager
          externalConfig: true
          priorityClassName: high-priority
        operator:
          priorityClassName: high-priority
        node-exporter:
          priorityClassName: high-priority

  destination:
    server: 'https://kubernetes.default.svc'
    namespace: prometheus-system
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
      - CreateNamespace=true