# see https://blog.ediri.io/kube-prometheus-stack-and-argocd-23-how-to-remove-a-workaround
local app = import "../../_templates/argocd_app.libsonnet";

local vars = {
	"version": "51.0.0",
	"namespace": "metrics"
};

[
app + {
  name:: "prometheus-crds",
  namespace:: vars.namespace,
  path:: "charts/kube-prometheus-stack/charts/crds/crds",
  repo:: "https://github.com/prometheus-community/helm-charts.git",
  version:: "kube-prometheus-stack-" + vars.version,
  syncOptions:: ["CreateNamespace=true", "Replace=true"],
  sync_wave:: -1,
},
app + {
  name:: "prometheus-grafana",
  namespace: vars.namespace,
  chart:: "kube-prometheus-stack",
  repo:: "https://prometheus-community.github.io/helm-charts",
  version:: vars.version,
  skipCrds:: true,
  values:: |||
    fullnameOverride: prometheus-stack
    kubeProxy:
      enabled: false
    kubeScheduler:
      enabled: false
    kubeControllerManager:
      enabled: false
    alertmanager:
      enabled: false
    prometheus:
      prometheusSpec:
        storageSpec:
          volumeClaimTemplate:
            spec:
              accessModes: ["ReadWriteOnce"]
              resources:
                requests:
                  storage: 10Gi
  |||
}
]