Skip to content

Commit 63cb2f5

Browse files
authored
Adds servicemonitor for thanos operator (#776)
1 parent 10e3581 commit 63cb2f5

File tree

2 files changed

+48
-4
lines changed

2 files changed

+48
-4
lines changed

magefiles/servicemonitors.go

+12-4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package main
33
import (
44
"github.com/observatorium/observatorium/configuration_go/kubegen/openshift"
55
templatev1 "github.com/openshift/api/template/v1"
6+
"github.com/philipgough/mimic"
67
"github.com/philipgough/mimic/encoding"
78
monitoringv1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1"
89
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -11,10 +12,17 @@ import (
1112
)
1213

1314
func (s Stage) ServiceMonitors() {
14-
gen := s.generator("servicemonitors")
1515
objs := createServiceMonitors(s.namespace())
16-
objs = append(objs, serviceMonitor(s.namespace())...)
16+
objs = append(objs, operatorServiceMonitor(s.namespace())...)
17+
serviceMonitorTemplateGen(s.generator("servicemonitors"), objs)
18+
}
19+
20+
func (p Production) ServiceMonitors() {
21+
objs := operatorServiceMonitor(p.namespace())
22+
serviceMonitorTemplateGen(p.generator("servicemonitors"), objs)
23+
}
1724

25+
func serviceMonitorTemplateGen(gen *mimic.Generator, objs []runtime.Object) {
1826
template := openshift.WrapInTemplate(objs, metav1.ObjectMeta{Name: "thanos-operator-servicemonitors"}, []templatev1.Parameter{})
1927
encoder := encoding.GhodssYAML(template)
2028
gen.Add("servicemonitors.yaml", encoder)
@@ -24,14 +32,14 @@ func (s Stage) ServiceMonitors() {
2432
func (l Local) ServiceMonitors() {
2533
gen := l.generator("servicemonitors")
2634

27-
objs := serviceMonitor(l.namespace())
35+
objs := operatorServiceMonitor(l.namespace())
2836

2937
encoder := encoding.GhodssYAML(objs[0])
3038
gen.Add("servicemonitors.yaml", encoder)
3139
gen.Generate()
3240
}
3341

34-
func serviceMonitor(namespace string) []runtime.Object {
42+
func operatorServiceMonitor(namespace string) []runtime.Object {
3543
return []runtime.Object{
3644
&monitoringv1.ServiceMonitor{
3745
TypeMeta: metav1.TypeMeta{
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
apiVersion: template.openshift.io/v1
2+
kind: Template
3+
metadata:
4+
creationTimestamp: null
5+
name: thanos-operator-servicemonitors
6+
objects:
7+
- apiVersion: monitoring.coreos.com/v1
8+
kind: ServiceMonitor
9+
metadata:
10+
creationTimestamp: null
11+
labels:
12+
app.kubernetes.io/component: monitoring
13+
app.kubernetes.io/created-by: thanos-operator
14+
app.kubernetes.io/instance: controller-manager-metrics
15+
app.kubernetes.io/managed-by: rhobs
16+
app.kubernetes.io/name: servicemonitor
17+
app.kubernetes.io/part-of: thanos-operator
18+
prometheus: app-sre
19+
name: thanos-operator-controller-manager-metrics
20+
namespace: openshift-customer-monitoring
21+
spec:
22+
endpoints:
23+
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
24+
path: /metrics
25+
port: https
26+
scheme: https
27+
tlsConfig:
28+
ca: {}
29+
cert: {}
30+
insecureSkipVerify: true
31+
namespaceSelector:
32+
matchNames:
33+
- rhobs-production
34+
selector:
35+
matchLabels:
36+
control-plane: controller-manager

0 commit comments

Comments
 (0)