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 }}