--- apiVersion: v1 kind: Namespace metadata: name: monitoring --- apiVersion: source.toolkit.fluxcd.io/v1 kind: HelmRepository metadata: name: prometheus-community namespace: flux-system spec: url: https://prometheus-community.github.io/helm-charts interval: 1h --- apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: prometheus-operator-crds namespace: monitoring spec: interval: 30m chart: spec: chart: kube-prometheus-stack-crds version: 45.3.5 # specify version or latest stable you want sourceRef: kind: HelmRepository name: prometheus-community namespace: flux-system install: createNamespace: true upgrade: disableWait: true timeout: 5m --- apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: prometheus-operator namespace: monitoring spec: interval: 30m chart: spec: chart: kube-prometheus-stack version: 45.3.5 # keep this same or as needed sourceRef: kind: HelmRepository name: prometheus-community namespace: flux-system install: createNamespace: true dependsOn: - name: prometheus-operator-crds namespace: monitoring values: prometheus: prometheusSpec: serviceMonitorSelectorNilUsesHelmValues: false # enable if you want to manage service monitors via Helm values # Optional: disable metrics-server if you want # metricsServer: # enabled: false