apiVersion: apps/v1 kind: Deployment metadata: name: {{ template "apm.fullname" . }} labels: app: {{ .Chart.Name }} release: {{ .Release.Name | quote }} {{- range $key, $value := .Values.labels }} {{ $key }}: {{ $value | quote }} {{- end }} spec: replicas: {{ .Values.replicas }} strategy: {{ toYaml .Values.updateStrategy | indent 4 }} selector: matchLabels: app: apm-server release: {{ .Release.Name | quote }} template: metadata: labels: app: apm-server release: {{ .Release.Name | quote }} {{- range $key, $value := .Values.labels }} {{ $key }}: {{ $value | quote }} {{- end }} annotations: {{- range $key, $value := .Values.podAnnotations }} {{ $key }}: {{ $value | quote }} {{- end }} {{/* This forces a restart if the configmap has changed */}} {{- if .Values.apmConfig }} configChecksum: {{ include (print .Template.BasePath "/configmap.yaml") . | sha256sum | trunc 63 }} {{- end }} spec: {{- if .Values.podSecurityContext }} securityContext: {{ toYaml .Values.podSecurityContext | indent 10 }} {{- end }} {{- if .Values.priorityClassName }} priorityClassName: {{ .Values.priorityClassName }} {{- end }} serviceAccountName: {{ template "apm.serviceAccount" . }} {{- if .Values.hostAliases }} hostAliases: {{ toYaml .Values.hostAliases | nindent 6 }} {{- end }} volumes: {{- range .Values.secretMounts }} - name: {{ .name }} secret: secretName: {{ .secretName }} {{- end }} {{- if .Values.apmConfig }} - name: apm-server-config configMap: name: {{ template "apm.fullname" . }}-config defaultMode: 0600 {{- end }} {{- if .Values.extraVolumes }} {{ toYaml .Values.extraVolumes | indent 8 }} {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{ toYaml . | indent 8 }} {{- end }} {{- with .Values.affinity }} affinity: {{ toYaml . | indent 8 }} {{- end }} {{- with .Values.tolerations }} tolerations: {{ toYaml . | indent 8 }} {{- end }} {{- if .Values.imagePullSecrets }} imagePullSecrets: {{ toYaml .Values.imagePullSecrets | indent 8 }} {{- end }} {{- if .Values.extraInitContainers }} initContainers: {{ tpl .Values.extraInitContainers . | indent 6 }} {{- end }} containers: - name: apm-server image: "{{ .Values.image }}:{{ .Values.imageTag }}" imagePullPolicy: "{{ .Values.imagePullPolicy }}" {{- with .Values.extraEnvs }} env: {{ toYaml . | nindent 10 }} {{- end }} {{- if .Values.envFrom }} envFrom: {{ toYaml .Values.envFrom | indent 10 }} {{- end }} {{- if .Values.securityContext }} securityContext: {{ toYaml .Values.securityContext | indent 10 }} {{- end }} livenessProbe: {{ toYaml .Values.livenessProbe | indent 10 }} readinessProbe: {{ toYaml .Values.readinessProbe | indent 10 }} ports: - containerPort: {{ .Values.service.port }} name: http {{- if .Values.lifecycle }} lifecycle: {{ toYaml .Values.lifecycle | indent 10 }} {{- end }} resources: {{ toYaml .Values.resources | indent 10 }} volumeMounts: {{- range .Values.secretMounts }} - name: {{ .name }} mountPath: {{ .path }} {{- if .subPath }} subPath: {{ .subPath }} {{- end }} {{- end }} {{- range $path, $config := .Values.apmConfig }} - name: apm-server-config mountPath: /usr/share/apm-server/{{ $path }} subPath: {{ $path }} readOnly: true {{- end -}} {{- if .Values.extraVolumes }} {{ toYaml .Values.extraVolumeMounts | indent 10 }} {{- end }} {{- if .Values.extraContainers }} {{ tpl .Values.extraContainers . | indent 6 }} {{- end }}