github.com/verrazzano/verrazzano@v1.7.0/platform-operator/thirdparty/charts/prometheus-community/kube-prometheus-stack/templates/prometheus-operator/deployment.yaml (about) 1 {{- $namespace := printf "%s" (include "kube-prometheus-stack.namespace" .) }} 2 {{- $defaultKubeletSvcName := printf "%s-kubelet" (include "kube-prometheus-stack.fullname" .) }} 3 {{- if .Values.prometheusOperator.enabled }} 4 apiVersion: apps/v1 5 kind: Deployment 6 metadata: 7 name: {{ template "kube-prometheus-stack.fullname" . }}-operator 8 namespace: {{ template "kube-prometheus-stack.namespace" . }} 9 labels: 10 app: {{ template "kube-prometheus-stack.name" . }}-operator 11 {{ include "kube-prometheus-stack.labels" . | indent 4 }} 12 {{- if .Values.prometheusOperator.labels }} 13 {{ toYaml .Values.prometheusOperator.labels | indent 4 }} 14 {{- end }} 15 {{- if .Values.prometheusOperator.annotations }} 16 annotations: 17 {{ toYaml .Values.prometheusOperator.annotations | indent 4 }} 18 {{- end }} 19 spec: 20 replicas: 1 21 selector: 22 matchLabels: 23 app: {{ template "kube-prometheus-stack.name" . }}-operator 24 release: {{ $.Release.Name | quote }} 25 template: 26 metadata: 27 labels: 28 app: {{ template "kube-prometheus-stack.name" . }}-operator 29 {{ include "kube-prometheus-stack.labels" . | indent 8 }} 30 {{- if .Values.prometheusOperator.podLabels }} 31 {{ toYaml .Values.prometheusOperator.podLabels | indent 8 }} 32 {{- end }} 33 {{- if .Values.prometheusOperator.podAnnotations }} 34 annotations: 35 {{ toYaml .Values.prometheusOperator.podAnnotations | indent 8 }} 36 {{- end }} 37 spec: 38 {{- if .Values.prometheusOperator.priorityClassName }} 39 priorityClassName: {{ .Values.prometheusOperator.priorityClassName }} 40 {{- end }} 41 containers: 42 - name: {{ template "kube-prometheus-stack.name" . }} 43 {{- $configReloaderRegistry := .Values.global.imageRegistry | default .Values.prometheusOperator.prometheusConfigReloader.image.registry -}} 44 {{- $operatorRegistry := .Values.global.imageRegistry | default .Values.prometheusOperator.image.registry -}} 45 {{- $thanosRegistry := .Values.global.imageRegistry | default .Values.prometheusOperator.thanosImage.registry -}} 46 {{- if .Values.prometheusOperator.image.sha }} 47 image: "{{ $operatorRegistry }}/{{ .Values.prometheusOperator.image.repository }}:{{ .Values.prometheusOperator.image.tag | default .Chart.AppVersion }}@sha256:{{ .Values.prometheusOperator.image.sha }}" 48 {{- else }} 49 image: "{{ $operatorRegistry }}/{{ .Values.prometheusOperator.image.repository }}:{{ .Values.prometheusOperator.image.tag | default .Chart.AppVersion }}" 50 {{- end }} 51 imagePullPolicy: "{{ .Values.prometheusOperator.image.pullPolicy }}" 52 args: 53 {{- if .Values.prometheusOperator.kubeletService.enabled }} 54 - --kubelet-service={{ .Values.prometheusOperator.kubeletService.namespace }}/{{ default $defaultKubeletSvcName .Values.prometheusOperator.kubeletService.name }} 55 {{- end }} 56 {{- if .Values.prometheusOperator.logFormat }} 57 - --log-format={{ .Values.prometheusOperator.logFormat }} 58 {{- end }} 59 {{- if .Values.prometheusOperator.logLevel }} 60 - --log-level={{ .Values.prometheusOperator.logLevel }} 61 {{- end }} 62 {{- if .Values.prometheusOperator.denyNamespaces }} 63 - --deny-namespaces={{ tpl (.Values.prometheusOperator.denyNamespaces | join ",") $ }} 64 {{- end }} 65 {{- with $.Values.prometheusOperator.namespaces }} 66 {{- $namespaces := list }} 67 {{- if .releaseNamespace }} 68 {{- $namespaces = append $namespaces $namespace }} 69 {{- end }} 70 {{- if .additional }} 71 {{- range $ns := .additional }} 72 {{- $namespaces = append $namespaces (tpl $ns $) }} 73 {{- end }} 74 {{- end }} 75 - --namespaces={{ $namespaces | mustUniq | join "," }} 76 {{- end }} 77 - --localhost=127.0.0.1 78 {{- if .Values.prometheusOperator.prometheusDefaultBaseImage }} 79 - --prometheus-default-base-image={{ .Values.global.imageRegistry | default .Values.prometheusOperator.prometheusDefaultBaseImageRegistry }}/{{ .Values.prometheusOperator.prometheusDefaultBaseImage }} 80 {{- end }} 81 {{- if .Values.prometheusOperator.alertmanagerDefaultBaseImage }} 82 - --alertmanager-default-base-image={{ .Values.global.imageRegistry | default .Values.prometheusOperator.alertmanagerDefaultBaseImageRegistry }}/{{ .Values.prometheusOperator.alertmanagerDefaultBaseImage }} 83 {{- end }} 84 {{- if .Values.prometheusOperator.prometheusConfigReloader.image.sha }} 85 - --prometheus-config-reloader={{ $configReloaderRegistry }}/{{ .Values.prometheusOperator.prometheusConfigReloader.image.repository }}:{{ .Values.prometheusOperator.prometheusConfigReloader.image.tag | default .Chart.AppVersion }}@sha256:{{ .Values.prometheusOperator.prometheusConfigReloader.image.sha }} 86 {{- else }} 87 - --prometheus-config-reloader={{ $configReloaderRegistry }}/{{ .Values.prometheusOperator.prometheusConfigReloader.image.repository }}:{{ .Values.prometheusOperator.prometheusConfigReloader.image.tag | default .Chart.AppVersion }} 88 {{- end }} 89 - --config-reloader-cpu-request={{ .Values.prometheusOperator.prometheusConfigReloader.resources.requests.cpu }} 90 - --config-reloader-cpu-limit={{ .Values.prometheusOperator.prometheusConfigReloader.resources.limits.cpu }} 91 - --config-reloader-memory-request={{ .Values.prometheusOperator.prometheusConfigReloader.resources.requests.memory }} 92 - --config-reloader-memory-limit={{ .Values.prometheusOperator.prometheusConfigReloader.resources.limits.memory }} 93 {{- if .Values.prometheusOperator.alertmanagerInstanceNamespaces }} 94 - --alertmanager-instance-namespaces={{ .Values.prometheusOperator.alertmanagerInstanceNamespaces | join "," }} 95 {{- end }} 96 {{- if .Values.prometheusOperator.alertmanagerInstanceSelector }} 97 - --alertmanager-instance-selector={{ .Values.prometheusOperator.alertmanagerInstanceSelector }} 98 {{- end }} 99 {{- if .Values.prometheusOperator.alertmanagerConfigNamespaces }} 100 - --alertmanager-config-namespaces={{ .Values.prometheusOperator.alertmanagerConfigNamespaces | join "," }} 101 {{- end }} 102 {{- if .Values.prometheusOperator.prometheusInstanceNamespaces }} 103 - --prometheus-instance-namespaces={{ .Values.prometheusOperator.prometheusInstanceNamespaces | join "," }} 104 {{- end }} 105 {{- if .Values.prometheusOperator.prometheusInstanceSelector }} 106 - --prometheus-instance-selector={{ .Values.prometheusOperator.prometheusInstanceSelector }} 107 {{- end }} 108 {{- if .Values.prometheusOperator.thanosImage.sha }} 109 - --thanos-default-base-image={{ $thanosRegistry }}/{{ .Values.prometheusOperator.thanosImage.repository }}:{{ .Values.prometheusOperator.thanosImage.tag }}@sha256:{{ .Values.prometheusOperator.thanosImage.sha }} 110 {{- else }} 111 - --thanos-default-base-image={{ $thanosRegistry }}/{{ .Values.prometheusOperator.thanosImage.repository }}:{{ .Values.prometheusOperator.thanosImage.tag }} 112 {{- end }} 113 {{- if .Values.prometheusOperator.thanosRulerInstanceNamespaces }} 114 - --thanos-ruler-instance-namespaces={{ .Values.prometheusOperator.thanosRulerInstanceNamespaces | join "," }} 115 {{- end }} 116 {{- if .Values.prometheusOperator.thanosRulerInstanceSelector }} 117 - --thanos-ruler-instance-selector={{ .Values.prometheusOperator.thanosRulerInstanceSelector }} 118 {{- end }} 119 {{- if .Values.prometheusOperator.secretFieldSelector }} 120 - --secret-field-selector={{ tpl (.Values.prometheusOperator.secretFieldSelector) $ }} 121 {{- end }} 122 {{- if .Values.prometheusOperator.clusterDomain }} 123 - --cluster-domain={{ .Values.prometheusOperator.clusterDomain }} 124 {{- end }} 125 {{- if .Values.prometheusOperator.tls.enabled }} 126 - --web.enable-tls=true 127 - --web.cert-file=/cert/{{ if .Values.prometheusOperator.admissionWebhooks.certManager.enabled }}tls.crt{{ else }}cert{{ end }} 128 - --web.key-file=/cert/{{ if .Values.prometheusOperator.admissionWebhooks.certManager.enabled }}tls.key{{ else }}key{{ end }} 129 - --web.listen-address=:{{ .Values.prometheusOperator.tls.internalPort }} 130 - --web.tls-min-version={{ .Values.prometheusOperator.tls.tlsMinVersion }} 131 ports: 132 - containerPort: {{ .Values.prometheusOperator.tls.internalPort }} 133 name: https 134 {{- else }} 135 ports: 136 - containerPort: 8080 137 name: http 138 {{- end }} 139 resources: 140 {{ toYaml .Values.prometheusOperator.resources | indent 12 }} 141 securityContext: 142 {{ toYaml .Values.prometheusOperator.containerSecurityContext | indent 12 }} 143 {{- if .Values.prometheusOperator.tls.enabled }} 144 volumeMounts: 145 - name: tls-secret 146 mountPath: /cert 147 readOnly: true 148 volumes: 149 - name: tls-secret 150 secret: 151 defaultMode: 420 152 secretName: {{ template "kube-prometheus-stack.fullname" . }}-admission 153 {{- end }} 154 {{- with .Values.prometheusOperator.dnsConfig }} 155 dnsConfig: 156 {{ toYaml . | indent 8 }} 157 {{- end }} 158 {{- if .Values.prometheusOperator.securityContext }} 159 securityContext: 160 {{ toYaml .Values.prometheusOperator.securityContext | indent 8 }} 161 {{- end }} 162 serviceAccountName: {{ template "kube-prometheus-stack.operator.serviceAccountName" . }} 163 {{- if .Values.prometheusOperator.hostNetwork }} 164 hostNetwork: true 165 dnsPolicy: ClusterFirstWithHostNet 166 {{- end }} 167 {{- with .Values.prometheusOperator.nodeSelector }} 168 nodeSelector: 169 {{ toYaml . | indent 8 }} 170 {{- end }} 171 {{- with .Values.prometheusOperator.affinity }} 172 affinity: 173 {{ toYaml . | indent 8 }} 174 {{- end }} 175 {{- with .Values.prometheusOperator.tolerations }} 176 tolerations: 177 {{ toYaml . | indent 8 }} 178 {{- end }} 179 {{- end }}