1
- {{- if .Values.metrics.serviceMonitor.enabled }}
1
+ {{- if or .Values.metrics.serviceMonitor.enabled .Values.metrics.podMonitor .enabled }}
2
2
{{- $fullName := include "minio.fullname" . -}}
3
3
{{ $scheme := "http" }}
4
4
{{- if .Values.tls.enabled }}
@@ -101,18 +101,35 @@ spec:
101
101
- name : kubectl-create
102
102
image : " {{ .Values.helmKubectlJqImage.repository }}:{{ .Values.helmKubectlJqImage.tag }}"
103
103
imagePullPolicy : {{ .Values.helmKubectlJqImage.pullPolicy }}
104
- command :
105
- - /bin/sh
106
- - " -c"
104
+ command : ["/bin/sh", "-c"]
105
+ args :
107
106
# The following script does:
108
107
# - get the servicemonitor that need this secret and copy some metadata and create the ownerreference for the secret file
109
108
# - create the secret
110
109
# - merge both json
111
- - >
112
- kubectl -n {{ .Release.Namespace }} get servicemonitor {{ $fullName }} -o json |
113
- jq -c '{metadata: {name: "{{ $fullName }}-prometheus", namespace: .metadata.namespace, labels: {app: .metadata.labels.app, release: .metadata.labels.release}, ownerReferences: [{apiVersion: .apiVersion, kind: .kind, blockOwnerDeletion: true, controller: true, uid: .metadata.uid, name: .metadata.name}]}}' > /workdir/metadata.json &&
114
- kubectl create secret generic {{ $fullName }}-prometheus --from-file=token=/workdir/token --dry-run -o json > /workdir/secret.json &&
115
- cat /workdir/secret.json /workdir/metadata.json | jq -s add > /workdir/object.json
110
+ {{- if and .Values.metrics.serviceMonitor.enabled .Values.metrics.podMonitor.enabled }}
111
+ - |
112
+ mkdir -p /workdir/secrets && kubectl -n {{ .Release.Namespace }} get servicemonitor {{ $fullName }} -o json |
113
+ jq -c '{metadata: {name: "{{ $fullName }}-servicemonitor-prometheus", namespace: .metadata.namespace, labels: {app: .metadata.labels.app, release: .metadata.labels.release}, ownerReferences: [{apiVersion: .apiVersion, kind: .kind, blockOwnerDeletion: true, controller: true, uid: .metadata.uid, name: .metadata.name}]}}' > /workdir/servicemonitormetadata.json &&
114
+ kubectl create secret generic {{ $fullName }}-servicemonitor-prometheus --from-file=token=/workdir/token --dry-run -o json > /workdir/servicemonitorsecret.json &&
115
+ cat /workdir/servicemonitorsecret.json /workdir/servicemonitormetadata.json | jq -s add > /workdir/secrets/servicemonitorobject.json;
116
+ mkdir -p /workdir/secrets && kubectl -n {{ .Release.Namespace }} get podmonitor {{ $fullName }} -o json |
117
+ jq -c '{metadata: {name: "{{ $fullName }}-podmonitor-prometheus", namespace: .metadata.namespace, labels: {app: .metadata.labels.app, release: .metadata.labels.release}, ownerReferences: [{apiVersion: .apiVersion, kind: .kind, blockOwnerDeletion: true, controller: true, uid: .metadata.uid, name: .metadata.name}]}}' > /workdir/podmonitormetadata.json &&
118
+ kubectl create secret generic {{ $fullName }}-podmonitor-prometheus --from-file=token=/workdir/token --dry-run -o json > /workdir/podmonitorsecret.json &&
119
+ cat /workdir/podmonitorsecret.json /workdir/podmonitormetadata.json | jq -s add > /workdir/secrets/podmonitorobject.json
120
+ {{- else if .Values.metrics.podMonitor.enabled }}
121
+ - |
122
+ mkdir -p /workdir/secrets && kubectl -n {{ .Release.Namespace }} get podmonitor {{ $fullName }} -o json |
123
+ jq -c '{metadata: {name: "{{ $fullName }}-podmonitor-prometheus", namespace: .metadata.namespace, labels: {app: .metadata.labels.app, release: .metadata.labels.release}, ownerReferences: [{apiVersion: .apiVersion, kind: .kind, blockOwnerDeletion: true, controller: true, uid: .metadata.uid, name: .metadata.name}]}}' > /workdir/podmonitormetadata.json &&
124
+ kubectl create secret generic {{ $fullName }}-podmonitor-prometheus --from-file=token=/workdir/token --dry-run -o json > /workdir/podmonitorsecret.json &&
125
+ cat /workdir/podmonitorsecret.json /workdir/podmonitormetadata.json | jq -s add > /workdir/secrets/podmonitorobject.json
126
+ {{- else if .Values.metrics.serviceMonitor.enabled }}
127
+ - |
128
+ mkdir -p /workdir/secrets && kubectl -n {{ .Release.Namespace }} get servicemonitor {{ $fullName }} -o json |
129
+ jq -c '{metadata: {name: "{{ $fullName }}-servicemonitor-prometheus", namespace: .metadata.namespace, labels: {app: .metadata.labels.app, release: .metadata.labels.release}, ownerReferences: [{apiVersion: .apiVersion, kind: .kind, blockOwnerDeletion: true, controller: true, uid: .metadata.uid, name: .metadata.name}]}}' > /workdir/servicemonitormetadata.json &&
130
+ kubectl create secret generic {{ $fullName }}-servicemonitor-prometheus --from-file=token=/workdir/token --dry-run -o json > /workdir/servicemonitorsecret.json &&
131
+ cat /workdir/servicemonitorsecret.json /workdir/servicemonitormetadata.json | jq -s add > /workdir/secrets/servicemonitorobject.json
132
+ {{- end }}
116
133
volumeMounts :
117
134
- name : workdir
118
135
mountPath : /workdir
@@ -126,7 +143,7 @@ spec:
126
143
- kubectl
127
144
- apply
128
145
- " -f"
129
- - /workdir/object.json
146
+ - /workdir/secrets
130
147
volumeMounts :
131
148
- name : workdir
132
149
mountPath : /workdir
0 commit comments