Skip to content

Commit 867465e

Browse files
Move kube-prometheus-stack crds out of helm/prometheus chart
Before, the helm/prometheus chart would package a large helm release due to the crds being included. Now, the crds are included in a separate chart intended for debugging with the local tilt setup.
1 parent caa8c1e commit 867465e

File tree

11 files changed

+113
-67
lines changed

11 files changed

+113
-67
lines changed

Tiltfile

+2-4
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,8 @@ k8s_resource('cortex-postgresql', port_forwards=[
7979
], labels=['Core-Services'])
8080

8181
########### Monitoring
82-
k8s_yaml(helm('./helm/prometheus', name='cortex-prometheus', set=[
83-
# Deploy prometheus operator CRDs, Prometheus, and Alertmanager
84-
'kube-prometheus-stack.enabled=true',
85-
]))
82+
k8s_yaml(helm('./helm/prometheus-deps', name='cortex-prometheus-deps')) # Operator
83+
k8s_yaml(helm('./helm/prometheus', name='cortex-prometheus')) # Alerts + ServiceMonitor
8684
k8s_resource('cortex-prometheus-operator', labels=['Monitoring'])
8785
k8s_resource(
8886
new_name='cortex-prometheus',

helm/prometheus-deps/.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Copyright 2025 SAP SE
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
Chart.lock

helm/prometheus-deps/.helmignore

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Copyright 2025 SAP SE
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
# Patterns to ignore when building packages.
5+
# This supports shell glob matching, relative path matching, and
6+
# negation (prefixed with !). Only one pattern per line.
7+
.DS_Store
8+
# Common VCS dirs
9+
.git/
10+
.gitignore
11+
charts/.gitignore
12+
.bzr/
13+
.bzrignore
14+
.hg/
15+
.hgignore
16+
.svn/
17+
# Common backup files
18+
*.swp
19+
*.bak
20+
*.tmp
21+
*.orig
22+
*~
23+
# Various IDEs
24+
.project
25+
.idea/
26+
*.tmproj
27+
.vscode/

helm/prometheus-deps/Chart.yaml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Copyright 2025 SAP SE
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
apiVersion: v2
5+
description: Prometheus alerts setup for Cortex.
6+
name: cortex-alerts
7+
version: 0.2.0
8+
dependencies:
9+
# CRDs of the prometheus operator, such as PrometheusRule, ServiceMonitor, etc.
10+
- name: kube-prometheus-stack
11+
repository: https://prometheus-community.github.io/helm-charts
12+
version: 70.7.0
13+
# Owner info adds a configmap to the kubernetes cluster with information on
14+
# the service owner. This makes it easier to find out who to contact in case
15+
# of issues. See: https://github.com/sapcc/helm-charts/pkgs/container/helm-charts%2Fowner-info
16+
- name: owner-info
17+
repository: oci://ghcr.io/sapcc/helm-charts
18+
version: 1.0.0
+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright 2025 SAP SE
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
*
5+
!.gitignore

helm/prometheus/templates/alertmanager.yaml renamed to helm/prometheus-deps/templates/alertmanager.yaml

-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Copyright 2025 SAP SE
22
# SPDX-License-Identifier: Apache-2.0
33

4-
{{- if index .Values "kube-prometheus-stack" "enabled" }}
54
apiVersion: monitoring.coreos.com/v1alpha1
65
kind: AlertmanagerConfig
76
metadata:
@@ -30,4 +29,3 @@ spec:
3029
alertmanagerConfigSelector:
3130
matchLabels:
3231
alertmanagerConfig: cortex-alertmanager
33-
{{- end }}

helm/prometheus/templates/prometheus.yaml renamed to helm/prometheus-deps/templates/prometheus.yaml

-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Copyright 2025 SAP SE
22
# SPDX-License-Identifier: Apache-2.0
33

4-
{{- if index .Values "kube-prometheus-stack" "enabled" }}
54
apiVersion: monitoring.coreos.com/v1
65
kind: Prometheus
76
metadata:
@@ -25,4 +24,3 @@ spec:
2524
ruleSelector:
2625
matchLabels:
2726
type: alerting-rules
28-
{{- end }}

helm/prometheus/templates/rbac.yaml renamed to helm/prometheus-deps/templates/rbac.yaml

-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Copyright 2025 SAP SE
22
# SPDX-License-Identifier: Apache-2.0
33

4-
{{- if index .Values "kube-prometheus-stack" "enabled" }}
54
apiVersion: v1
65
kind: ServiceAccount
76
metadata:
@@ -44,4 +43,3 @@ subjects:
4443
- kind: ServiceAccount
4544
name: cortex-prometheus
4645
namespace: default
47-
{{- end }}

helm/prometheus-deps/values.yaml

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Copyright 2025 SAP SE
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
kube-prometheus-stack:
5+
# kube-prometheus-stack deploys a bunch of junk we don't need.
6+
# Therefore, we disable all components and only enable the prometheus operator.
7+
# See: https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/ci/01-provision-crds-values.yaml
8+
coreDns:
9+
enabled: false
10+
kubeApiServer:
11+
enabled: false
12+
kubeControllerManager:
13+
enabled: false
14+
kubeDns:
15+
enabled: false
16+
kubeEtcd:
17+
enabled: false
18+
kubeProxy:
19+
enabled: false
20+
kubeScheduler:
21+
enabled: false
22+
kubeStateMetrics:
23+
enabled: false
24+
kubelet:
25+
enabled: false
26+
nodeExporter:
27+
enabled: false
28+
grafana:
29+
enabled: false
30+
defaultRules:
31+
create: false
32+
alertmanager:
33+
enabled: false
34+
prometheus:
35+
enabled: false
36+
fullnameOverride: "cortex"
37+
prometheusOperator:
38+
enabled: true
39+
fullnameOverride: cortex-prometheus-operator
40+
serviceMonitor:
41+
selfMonitor: false
42+
tls:
43+
enabled: false
44+
admissionWebhooks:
45+
enabled: false
46+
namespaces:
47+
releaseNamespace: true
48+
additional:
49+
- kube-system
50+
51+
owner-info:
52+
helm-chart-url: "https://github.com/cobaltcore-dev/cortex/helm/prometheus"
53+
maintainers:
54+
55+
support-group: "cobaltcore-dev"
56+
enabled: true

helm/prometheus/Chart.yaml

+1-6
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,8 @@
44
apiVersion: v2
55
description: Prometheus alerts setup for Cortex.
66
name: cortex-alerts
7-
version: 0.1.0
7+
version: 0.2.0
88
dependencies:
9-
# CRDs of the prometheus operator, such as PrometheusRule, ServiceMonitor, etc.
10-
- name: kube-prometheus-stack
11-
repository: https://prometheus-community.github.io/helm-charts
12-
version: 70.7.0
13-
condition: kube-prometheus-stack.enabled
149
# Owner info adds a configmap to the kubernetes cluster with information on
1510
# the service owner. This makes it easier to find out who to contact in case
1611
# of issues. See: https://github.com/sapcc/helm-charts/pkgs/container/helm-charts%2Fowner-info

helm/prometheus/values.yaml

-51
Original file line numberDiff line numberDiff line change
@@ -34,57 +34,6 @@ alerts:
3434
cortexSyncObjectsTooHigh:
3535
severity: info
3636

37-
kube-prometheus-stack:
38-
# Whether the CRDs of the prometheus-operator should be deployed
39-
# together with a prometheus and alertmanager instance.
40-
enabled: false
41-
42-
# kube-prometheus-stack deploys a bunch of junk we don't need.
43-
# Therefore, we disable all components and only enable the prometheus operator.
44-
# See: https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/ci/01-provision-crds-values.yaml
45-
coreDns:
46-
enabled: false
47-
kubeApiServer:
48-
enabled: false
49-
kubeControllerManager:
50-
enabled: false
51-
kubeDns:
52-
enabled: false
53-
kubeEtcd:
54-
enabled: false
55-
kubeProxy:
56-
enabled: false
57-
kubeScheduler:
58-
enabled: false
59-
kubeStateMetrics:
60-
enabled: false
61-
kubelet:
62-
enabled: false
63-
nodeExporter:
64-
enabled: false
65-
grafana:
66-
enabled: false
67-
defaultRules:
68-
create: false
69-
alertmanager:
70-
enabled: false
71-
prometheus:
72-
enabled: false
73-
fullnameOverride: "cortex"
74-
prometheusOperator:
75-
enabled: true
76-
fullnameOverride: cortex-prometheus-operator
77-
serviceMonitor:
78-
selfMonitor: false
79-
tls:
80-
enabled: false
81-
admissionWebhooks:
82-
enabled: false
83-
namespaces:
84-
releaseNamespace: true
85-
additional:
86-
- kube-system
87-
8837
owner-info:
8938
helm-chart-url: "https://github.com/cobaltcore-dev/cortex/helm/prometheus"
9039
maintainers:

0 commit comments

Comments
 (0)