Skip to content

Commit 9cde864

Browse files
rl0nergan12ushan
authored andcommitted
[operator] feat: add 'relabelings' and 'metricRelabelings' configs to serviceMonitor (open-telemetry#1246)
* feat: add 'relabelings' and 'metricRelabelings' configs to serviceMonitor Signed-off-by: Ryan Lonergan <ryan.tlonergan@gmail.com> * update schema Signed-off-by: Ryan Lonergan <ryan.tlonergan@gmail.com> * update version in Chart.yaml Signed-off-by: Ryan Lonergan <ryan.tlonergan@gmail.com> * bump Chart version * chore: make generate-examples CHARTS=opentelemetry-operator --------- Signed-off-by: Ryan Lonergan <ryan.tlonergan@gmail.com>
1 parent b8c4f43 commit 9cde864

15 files changed

+128
-96
lines changed

charts/opentelemetry-operator/Chart.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
apiVersion: v2
22
name: opentelemetry-operator
3-
version: 0.64.3
3+
version: 0.64.4
44
description: OpenTelemetry Operator Helm chart for Kubernetes
55
type: application
66
home: https://opentelemetry.io/

charts/opentelemetry-operator/examples/default/rendered/admission-webhooks/operator-webhook-with-cert-manager.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ metadata:
66
annotations:
77
cert-manager.io/inject-ca-from: default/example-opentelemetry-operator-serving-cert
88
labels:
9-
helm.sh/chart: opentelemetry-operator-0.64.3
9+
helm.sh/chart: opentelemetry-operator-0.64.4
1010
app.kubernetes.io/name: opentelemetry-operator
1111
app.kubernetes.io/version: "0.103.0"
1212
app.kubernetes.io/managed-by: Helm
@@ -91,7 +91,7 @@ metadata:
9191
annotations:
9292
cert-manager.io/inject-ca-from: default/example-opentelemetry-operator-serving-cert
9393
labels:
94-
helm.sh/chart: opentelemetry-operator-0.64.3
94+
helm.sh/chart: opentelemetry-operator-0.64.4
9595
app.kubernetes.io/name: opentelemetry-operator
9696
app.kubernetes.io/version: "0.103.0"
9797
app.kubernetes.io/managed-by: Helm

charts/opentelemetry-operator/examples/default/rendered/certmanager.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ apiVersion: cert-manager.io/v1
44
kind: Certificate
55
metadata:
66
labels:
7-
helm.sh/chart: opentelemetry-operator-0.64.3
7+
helm.sh/chart: opentelemetry-operator-0.64.4
88
app.kubernetes.io/name: opentelemetry-operator
99
app.kubernetes.io/version: "0.103.0"
1010
app.kubernetes.io/managed-by: Helm
@@ -30,7 +30,7 @@ apiVersion: cert-manager.io/v1
3030
kind: Issuer
3131
metadata:
3232
labels:
33-
helm.sh/chart: opentelemetry-operator-0.64.3
33+
helm.sh/chart: opentelemetry-operator-0.64.4
3434
app.kubernetes.io/name: opentelemetry-operator
3535
app.kubernetes.io/version: "0.103.0"
3636
app.kubernetes.io/managed-by: Helm

charts/opentelemetry-operator/examples/default/rendered/clusterrole.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ apiVersion: rbac.authorization.k8s.io/v1
44
kind: ClusterRole
55
metadata:
66
labels:
7-
helm.sh/chart: opentelemetry-operator-0.64.3
7+
helm.sh/chart: opentelemetry-operator-0.64.4
88
app.kubernetes.io/name: opentelemetry-operator
99
app.kubernetes.io/version: "0.103.0"
1010
app.kubernetes.io/managed-by: Helm
@@ -223,7 +223,7 @@ apiVersion: rbac.authorization.k8s.io/v1
223223
kind: ClusterRole
224224
metadata:
225225
labels:
226-
helm.sh/chart: opentelemetry-operator-0.64.3
226+
helm.sh/chart: opentelemetry-operator-0.64.4
227227
app.kubernetes.io/name: opentelemetry-operator
228228
app.kubernetes.io/version: "0.103.0"
229229
app.kubernetes.io/managed-by: Helm
@@ -242,7 +242,7 @@ apiVersion: rbac.authorization.k8s.io/v1
242242
kind: ClusterRole
243243
metadata:
244244
labels:
245-
helm.sh/chart: opentelemetry-operator-0.64.3
245+
helm.sh/chart: opentelemetry-operator-0.64.4
246246
app.kubernetes.io/name: opentelemetry-operator
247247
app.kubernetes.io/version: "0.103.0"
248248
app.kubernetes.io/managed-by: Helm

charts/opentelemetry-operator/examples/default/rendered/clusterrolebinding.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ apiVersion: rbac.authorization.k8s.io/v1
44
kind: ClusterRoleBinding
55
metadata:
66
labels:
7-
helm.sh/chart: opentelemetry-operator-0.64.3
7+
helm.sh/chart: opentelemetry-operator-0.64.4
88
app.kubernetes.io/name: opentelemetry-operator
99
app.kubernetes.io/version: "0.103.0"
1010
app.kubernetes.io/managed-by: Helm
@@ -26,7 +26,7 @@ apiVersion: rbac.authorization.k8s.io/v1
2626
kind: ClusterRoleBinding
2727
metadata:
2828
labels:
29-
helm.sh/chart: opentelemetry-operator-0.64.3
29+
helm.sh/chart: opentelemetry-operator-0.64.4
3030
app.kubernetes.io/name: opentelemetry-operator
3131
app.kubernetes.io/version: "0.103.0"
3232
app.kubernetes.io/managed-by: Helm

charts/opentelemetry-operator/examples/default/rendered/deployment.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ apiVersion: apps/v1
44
kind: Deployment
55
metadata:
66
labels:
7-
helm.sh/chart: opentelemetry-operator-0.64.3
7+
helm.sh/chart: opentelemetry-operator-0.64.4
88
app.kubernetes.io/name: opentelemetry-operator
99
app.kubernetes.io/version: "0.103.0"
1010
app.kubernetes.io/managed-by: Helm

charts/opentelemetry-operator/examples/default/rendered/role.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ apiVersion: rbac.authorization.k8s.io/v1
44
kind: Role
55
metadata:
66
labels:
7-
helm.sh/chart: opentelemetry-operator-0.64.3
7+
helm.sh/chart: opentelemetry-operator-0.64.4
88
app.kubernetes.io/name: opentelemetry-operator
99
app.kubernetes.io/version: "0.103.0"
1010
app.kubernetes.io/managed-by: Helm

charts/opentelemetry-operator/examples/default/rendered/rolebinding.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ apiVersion: rbac.authorization.k8s.io/v1
44
kind: RoleBinding
55
metadata:
66
labels:
7-
helm.sh/chart: opentelemetry-operator-0.64.3
7+
helm.sh/chart: opentelemetry-operator-0.64.4
88
app.kubernetes.io/name: opentelemetry-operator
99
app.kubernetes.io/version: "0.103.0"
1010
app.kubernetes.io/managed-by: Helm

charts/opentelemetry-operator/examples/default/rendered/service.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ apiVersion: v1
44
kind: Service
55
metadata:
66
labels:
7-
helm.sh/chart: opentelemetry-operator-0.64.3
7+
helm.sh/chart: opentelemetry-operator-0.64.4
88
app.kubernetes.io/name: opentelemetry-operator
99
app.kubernetes.io/version: "0.103.0"
1010
app.kubernetes.io/managed-by: Helm
@@ -32,7 +32,7 @@ apiVersion: v1
3232
kind: Service
3333
metadata:
3434
labels:
35-
helm.sh/chart: opentelemetry-operator-0.64.3
35+
helm.sh/chart: opentelemetry-operator-0.64.4
3636
app.kubernetes.io/name: opentelemetry-operator
3737
app.kubernetes.io/version: "0.103.0"
3838
app.kubernetes.io/managed-by: Helm

charts/opentelemetry-operator/examples/default/rendered/serviceaccount.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ metadata:
66
name: opentelemetry-operator
77
namespace: default
88
labels:
9-
helm.sh/chart: opentelemetry-operator-0.64.3
9+
helm.sh/chart: opentelemetry-operator-0.64.4
1010
app.kubernetes.io/name: opentelemetry-operator
1111
app.kubernetes.io/version: "0.103.0"
1212
app.kubernetes.io/managed-by: Helm

charts/opentelemetry-operator/examples/default/rendered/tests/test-certmanager-connection.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ metadata:
66
name: "example-opentelemetry-operator-cert-manager"
77
namespace: default
88
labels:
9-
helm.sh/chart: opentelemetry-operator-0.64.3
9+
helm.sh/chart: opentelemetry-operator-0.64.4
1010
app.kubernetes.io/name: opentelemetry-operator
1111
app.kubernetes.io/version: "0.103.0"
1212
app.kubernetes.io/managed-by: Helm

charts/opentelemetry-operator/examples/default/rendered/tests/test-service-connection.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ metadata:
66
name: "example-opentelemetry-operator-metrics"
77
namespace: default
88
labels:
9-
helm.sh/chart: opentelemetry-operator-0.64.3
9+
helm.sh/chart: opentelemetry-operator-0.64.4
1010
app.kubernetes.io/name: opentelemetry-operator
1111
app.kubernetes.io/version: "0.103.0"
1212
app.kubernetes.io/managed-by: Helm
@@ -44,7 +44,7 @@ metadata:
4444
name: "example-opentelemetry-operator-webhook"
4545
namespace: default
4646
labels:
47-
helm.sh/chart: opentelemetry-operator-0.64.3
47+
helm.sh/chart: opentelemetry-operator-0.64.4
4848
app.kubernetes.io/name: opentelemetry-operator
4949
app.kubernetes.io/version: "0.103.0"
5050
app.kubernetes.io/managed-by: Helm

charts/opentelemetry-operator/templates/servicemonitor.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,14 @@ spec:
2323
app.kubernetes.io/component: controller-manager
2424
endpoints:
2525
{{- toYaml .Values.manager.serviceMonitor.metricsEndpoints | nindent 2 }}
26+
{{- with .Values.manager.serviceMonitor.relabelings }}
27+
relabelings:
28+
{{- toYaml . | nindent 4 }}
29+
{{- end }}
30+
{{- with .Values.manager.serviceMonitor.metricRelabelings }}
31+
metricRelabelings:
32+
{{- toYaml . | nindent 4 }}
33+
{{- end }}
2634
namespaceSelector:
2735
matchNames:
2836
- {{ .Release.Namespace }}

charts/opentelemetry-operator/values.schema.json

+97-77
Original file line numberDiff line numberDiff line change
@@ -711,83 +711,103 @@
711711
}]
712712
},
713713
"serviceMonitor": {
714-
"type": "object",
715-
"default": {},
716-
"title": "The serviceMonitor Schema",
717-
"required": [
718-
"enabled",
719-
"extraLabels",
720-
"annotations",
721-
"metricsEndpoints"
722-
],
723-
"additionalProperties": false,
724-
"properties": {
725-
"enabled": {
726-
"type": "boolean",
727-
"default": false,
728-
"title": "The enabled Schema",
729-
"examples": [
730-
false
731-
]
732-
},
733-
"extraLabels": {
734-
"type": "object",
735-
"default": {},
736-
"title": "The extraLabels Schema",
737-
"required": [],
738-
"properties": {},
739-
"examples": [{}]
740-
},
741-
"annotations": {
742-
"type": "object",
743-
"default": {},
744-
"title": "The annotations Schema",
745-
"required": [],
746-
"properties": {},
747-
"examples": [{}]
748-
},
749-
"metricsEndpoints": {
750-
"type": "array",
751-
"default": [],
752-
"title": "The metricsEndpoints Schema",
753-
"items": {
754-
"type": "object",
755-
"default": {},
756-
"title": "A Schema",
757-
"required": [
758-
"port"
759-
],
760-
"additionalProperties": false,
761-
"properties": {
762-
"port": {
763-
"type": "string",
764-
"default": "",
765-
"title": "The port Schema",
766-
"examples": [
767-
"metrics"
768-
]
769-
}
770-
},
771-
"examples": [{
772-
"port": "metrics"
773-
}]
774-
},
775-
"examples": [
776-
[{
777-
"port": "metrics"
778-
}]
779-
]
780-
}
781-
},
782-
"examples": [{
783-
"enabled": false,
784-
"extraLabels": {},
785-
"annotations": {},
786-
"metricsEndpoints": [{
787-
"port": "metrics"
788-
}]
789-
}]
790-
},
714+
"type": "object",
715+
"default": {},
716+
"title": "The serviceMonitor Schema",
717+
"required": [
718+
"enabled",
719+
"extraLabels",
720+
"annotations",
721+
"metricsEndpoints",
722+
"relabelings",
723+
"metricRelabelings"
724+
],
725+
"properties": {
726+
"enabled": {
727+
"type": "boolean",
728+
"default": false,
729+
"title": "The enabled Schema",
730+
"examples": [
731+
true
732+
]
733+
},
734+
"extraLabels": {
735+
"type": "object",
736+
"default": {},
737+
"title": "The extraLabels Schema",
738+
"required": [],
739+
"properties": {},
740+
"examples": [{}]
741+
},
742+
"annotations": {
743+
"type": "object",
744+
"default": {},
745+
"title": "The annotations Schema",
746+
"required": [],
747+
"properties": {},
748+
"examples": [{}]
749+
},
750+
"metricsEndpoints": {
751+
"type": "array",
752+
"default": [],
753+
"title": "The metricsEndpoints Schema",
754+
"items": {
755+
"type": "object",
756+
"default": {},
757+
"title": "A Schema",
758+
"required": [
759+
"port"
760+
],
761+
"properties": {
762+
"port": {
763+
"type": "string",
764+
"default": "",
765+
"title": "The port Schema",
766+
"examples": [
767+
"metrics"
768+
]
769+
}
770+
},
771+
"examples": [{
772+
"port": "metrics"
773+
}]
774+
},
775+
"examples": [
776+
[{
777+
"port": "metrics"
778+
}]
779+
]
780+
},
781+
"relabelings": {
782+
"type": "array",
783+
"description": "Specify general relabeling",
784+
"default": [],
785+
"items": {}
786+
},
787+
"metricRelabelings": {
788+
"type": "array",
789+
"description": "Specify additional relabeling of metrics",
790+
"default": [],
791+
"items": {}
792+
}
793+
},
794+
"examples": [{
795+
"enabled": true,
796+
"extraLabels": {},
797+
"annotations": {},
798+
"metricsEndpoints": [{
799+
"port": "metrics"
800+
}],
801+
"relabelings": [{
802+
"sourceLabels": [
803+
"__meta_kubernetes_pod_node_name"
804+
],
805+
"targetLabel": "node",
806+
"replacement": "${1}"
807+
}],
808+
"metricRelabelings": []
809+
}]
810+
},
791811
"deploymentAnnotations": {
792812
"type": "object",
793813
"default": {},

charts/opentelemetry-operator/values.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,10 @@ manager:
109109
annotations: {}
110110
metricsEndpoints:
111111
- port: metrics
112+
# Used to set relabeling and metricRelabeling configs on the ServiceMonitor
113+
# https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
114+
relabelings: []
115+
metricRelabelings: []
112116

113117
# Adds additional annotations to the manager Deployment
114118
deploymentAnnotations: {}

0 commit comments

Comments
 (0)