# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # {{- if .Values.extra.monitoring }} apiVersion: apps/v1 kind: Deployment metadata: name: "{{ template "pulsar.fullname" . }}-{{ .Values.prometheus.component }}" namespace: {{ .Values.namespace }} labels: app: {{ template "pulsar.name" . }} chart: {{ template "pulsar.chart" . }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} component: {{ .Values.prometheus.component }} cluster: {{ template "pulsar.fullname" . }} spec: replicas: {{ .Values.prometheus.replicaCount }} selector: matchLabels: app: {{ template "pulsar.name" . }} release: {{ .Release.Name }} component: {{ .Values.prometheus.component }} template: metadata: labels: app: {{ template "pulsar.name" . }} release: {{ .Release.Name }} component: {{ .Values.prometheus.component }} cluster: {{ template "pulsar.fullname" . }} annotations: {{ toYaml .Values.prometheus.annotations | indent 8 }} spec: {{- if .Values.prometheus.nodeSelector }} nodeSelector: {{ toYaml .Values.prometheus.nodeSelector | indent 8 }} {{- end }} {{- if .Values.prometheus.tolerations }} tolerations: {{ toYaml .Values.prometheus.tolerations | indent 8 }} {{- end }} serviceAccount: "{{ template "pulsar.fullname" . }}-{{ .Values.prometheus.component }}" terminationGracePeriodSeconds: {{ .Values.prometheus.gracePeriod }} containers: - name: "{{ template "pulsar.fullname" . }}-{{ .Values.prometheus.component }}" image: "{{ .Values.prometheus.image.repository }}:{{ .Values.prometheus.image.tag }}" imagePullPolicy: {{ .Values.prometheus.image.pullPolicy }} {{- if .Values.prometheus.resources }} resources: {{ toYaml .Values.prometheus.resources | indent 10 }} {{- end }} ports: - containerPort: 9090 volumeMounts: - name: "{{ template "pulsar.fullname" . }}-{{ .Values.prometheus.component }}-config" mountPath: /etc/prometheus - name: "{{ template "pulsar.fullname" . }}-{{ .Values.prometheus.component }}-{{ .Values.prometheus.volumes.data.name }}" mountPath: /prometheus volumes: - name: "{{ template "pulsar.fullname" . }}-{{ .Values.prometheus.component }}-config" configMap: name: "{{ template "pulsar.fullname" . }}-{{ .Values.prometheus.component }}" {{- if not .Values.prometheus_persistence }} - name: "{{ template "pulsar.fullname" . }}-{{ .Values.prometheus.component }}-{{ .Values.prometheus.volumes.data.name }}" emptyDir: {} {{- end }} {{- if .Values.prometheus_persistence }} - name: "{{ template "pulsar.fullname" . }}-{{ .Values.prometheus.component }}-{{ .Values.prometheus.volumes.data.name }}" persistentVolumeClaim: claimName: "{{ template "pulsar.fullname" . }}-{{ .Values.prometheus.component }}-{{ .Values.prometheus.volumes.data.name }}" {{- end }} {{- end }}