Skip to content

Commit 76c1f23

Browse files
committed
[prometheus-operator-crds] add opt-out for CRDs
This change adds an opt-out mechanism for CRDs so only the CRDs needed for the cluster are installed (e.g. only pod- and servicemonitors for setups using Mimir). Resolves: #3860 Signed-off-by: Simon Berz <[email protected]>
1 parent 995b339 commit 76c1f23

13 files changed

+61
-14
lines changed

Diff for: charts/prometheus-operator-crds/Chart.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
apiVersion: v2
22
type: application
3-
version: 19.0.0
3+
version: 19.1.0
44
name: prometheus-operator-crds
55
icon: https://raw.githubusercontent.com/prometheus/prometheus.github.io/master/assets/prometheus_logo-cb55bb5c346.png
66
description: |

Diff for: charts/prometheus-operator-crds/charts/crds/templates/crd-alertmanagerconfigs.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if .Values.alertmanagerconfigs.enabled -}}
12
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
23
---
34
apiVersion: apiextensions.k8s.io/v1
@@ -10039,3 +10040,4 @@ spec:
1003910040
type: object
1004010041
served: true
1004110042
storage: true
10043+
{{- end -}}

Diff for: charts/prometheus-operator-crds/charts/crds/templates/crd-alertmanagers.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if .Values.alertmanagers.enabled -}}
12
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
23
---
34
apiVersion: apiextensions.k8s.io/v1
@@ -9134,3 +9135,4 @@ spec:
91349135
specReplicasPath: .spec.replicas
91359136
statusReplicasPath: .status.replicas
91369137
status: {}
9138+
{{- end -}}

Diff for: charts/prometheus-operator-crds/charts/crds/templates/crd-podmonitors.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if .Values.podmonitors.enabled -}}
12
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
23
---
34
apiVersion: apiextensions.k8s.io/v1
@@ -1209,3 +1210,4 @@ spec:
12091210
type: object
12101211
served: true
12111212
storage: true
1213+
{{- end -}}

Diff for: charts/prometheus-operator-crds/charts/crds/templates/crd-probes.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if .Values.probes.enabled -}}
12
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
23
---
34
apiVersion: apiextensions.k8s.io/v1
@@ -1176,3 +1177,4 @@ spec:
11761177
type: object
11771178
served: true
11781179
storage: true
1180+
{{- end -}}

Diff for: charts/prometheus-operator-crds/charts/crds/templates/crd-prometheusagents.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if .Values.prometheusagents.enabled -}}
12
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusagents.yaml
23
---
34
apiVersion: apiextensions.k8s.io/v1
@@ -10839,3 +10840,4 @@ spec:
1083910840
specReplicasPath: .spec.shards
1084010841
statusReplicasPath: .status.shards
1084110842
status: {}
10843+
{{- end -}}

Diff for: charts/prometheus-operator-crds/charts/crds/templates/crd-prometheuses.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if .Values.prometheuses.enabled -}}
12
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
23
---
34
apiVersion: apiextensions.k8s.io/v1
@@ -13090,3 +13091,4 @@ spec:
1309013091
specReplicasPath: .spec.shards
1309113092
statusReplicasPath: .status.shards
1309213093
status: {}
13094+
{{- end -}}

Diff for: charts/prometheus-operator-crds/charts/crds/templates/crd-prometheusrules.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if .Values.prometheusrules.enabled -}}
12
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
23
---
34
apiVersion: apiextensions.k8s.io/v1
@@ -161,3 +162,4 @@ spec:
161162
type: object
162163
served: true
163164
storage: true
165+
{{- end -}}

Diff for: charts/prometheus-operator-crds/charts/crds/templates/crd-scrapeconfigs.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if .Values.scrapeconfigs.enabled -}}
12
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_scrapeconfigs.yaml
23
---
34
apiVersion: apiextensions.k8s.io/v1
@@ -12516,3 +12517,4 @@ spec:
1251612517
type: object
1251712518
served: true
1251812519
storage: true
12520+
{{- end -}}

Diff for: charts/prometheus-operator-crds/charts/crds/templates/crd-servicemonitors.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if .Values.servicemonitors.enabled -}}
12
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
23
---
34
apiVersion: apiextensions.k8s.io/v1
@@ -1231,3 +1232,4 @@ spec:
12311232
type: object
12321233
served: true
12331234
storage: true
1235+
{{- end -}}

Diff for: charts/prometheus-operator-crds/charts/crds/templates/crd-thanosrulers.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if .Values.thanosrulers.enabled -}}
12
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.81.0/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
23
---
34
apiVersion: apiextensions.k8s.io/v1
@@ -8155,3 +8156,4 @@ spec:
81558156
storage: true
81568157
subresources:
81578158
status: {}
8159+
{{- end -}}

Diff for: charts/prometheus-operator-crds/hack/update_crds.sh

+19-13
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/bin/bash
2+
set -euo pipefail
23

34
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
45

@@ -8,22 +9,23 @@ else
89
VERSION="$(grep ^appVersion "${SCRIPT_DIR}/../Chart.yaml" | sed 's/appVersion:\s//g')"
910
fi
1011

11-
FILES=(
12-
"crd-alertmanagerconfigs.yaml : monitoring.coreos.com_alertmanagerconfigs.yaml"
13-
"crd-alertmanagers.yaml : monitoring.coreos.com_alertmanagers.yaml"
14-
"crd-podmonitors.yaml : monitoring.coreos.com_podmonitors.yaml"
15-
"crd-probes.yaml : monitoring.coreos.com_probes.yaml"
16-
"crd-prometheusagents.yaml : monitoring.coreos.com_prometheusagents.yaml"
17-
"crd-prometheuses.yaml : monitoring.coreos.com_prometheuses.yaml"
18-
"crd-prometheusrules.yaml : monitoring.coreos.com_prometheusrules.yaml"
19-
"crd-scrapeconfigs.yaml : monitoring.coreos.com_scrapeconfigs.yaml"
20-
"crd-servicemonitors.yaml : monitoring.coreos.com_servicemonitors.yaml"
21-
"crd-thanosrulers.yaml : monitoring.coreos.com_thanosrulers.yaml"
12+
CRDS=(
13+
"alertmanagerconfigs : monitoring.coreos.com_alertmanagerconfigs.yaml"
14+
"alertmanagers : monitoring.coreos.com_alertmanagers.yaml"
15+
"podmonitors : monitoring.coreos.com_podmonitors.yaml"
16+
"probes : monitoring.coreos.com_probes.yaml"
17+
"prometheusagents : monitoring.coreos.com_prometheusagents.yaml"
18+
"prometheuses : monitoring.coreos.com_prometheuses.yaml"
19+
"prometheusrules : monitoring.coreos.com_prometheusrules.yaml"
20+
"scrapeconfigs : monitoring.coreos.com_scrapeconfigs.yaml"
21+
"servicemonitors : monitoring.coreos.com_servicemonitors.yaml"
22+
"thanosrulers : monitoring.coreos.com_thanosrulers.yaml"
2223
)
2324

24-
for line in "${FILES[@]}"; do
25-
DESTINATION=$(echo "${line%%:*}" | xargs)
25+
for line in "${CRDS[@]}"; do
26+
CRD=$(echo "${line%%:*}" | xargs)
2627
SOURCE=$(echo "${line##*:}" | xargs)
28+
DESTINATION="crd-${CRD}".yaml
2729

2830
URL="https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/$VERSION/example/prometheus-operator-crd/$SOURCE"
2931

@@ -42,4 +44,8 @@ for line in "${FILES[@]}"; do
4244
else
4345
sed -i '/^metadata:$/a {{- with .Values.annotations }}\n annotations:\n{{- toYaml . | nindent 4 }}\n{{- end }}' "${SCRIPT_DIR}/../charts/crds/templates/${DESTINATION}"
4446
fi
47+
48+
# Insert enable option
49+
sed -i "1i\{{- if .Values.${CRD}.enabled -}}" "${SCRIPT_DIR}/../charts/crds/templates/${DESTINATION}"
50+
echo "{{- end -}}" >> "${SCRIPT_DIR}/../charts/crds/templates/${DESTINATION}"
4551
done

Diff for: charts/prometheus-operator-crds/values.yaml

+21
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,24 @@
22
##
33
crds:
44
annotations: {}
5+
6+
alertmanagerconfigs:
7+
enabled: true
8+
alertmanagers:
9+
enabled: true
10+
podmonitors:
11+
enabled: true
12+
probes:
13+
enabled: true
14+
prometheusagents:
15+
enabled: true
16+
prometheuses:
17+
enabled: true
18+
prometheusrules:
19+
enabled: true
20+
scrapeconfigs:
21+
enabled: true
22+
servicemonitors:
23+
enabled: true
24+
thanosrulers:
25+
enabled: true

0 commit comments

Comments
 (0)