{{- if .Values.localpv.enabled }} apiVersion: apps/v1 kind: Deployment metadata: name: {{ template "localpv.fullname" . }} {{- with .Values.localpv.annotations }} annotations: {{ toYaml . | nindent 4 }} {{- end }} labels: {{- include "localpv.labels" . | nindent 4 }} spec: replicas: {{ .Values.localpv.replicas }} strategy: type: "Recreate" rollingUpdate: null selector: matchLabels: {{- include "localpv.selectorLabels" . | nindent 6 }} template: metadata: {{- with .Values.localpv.podAnnotations }} annotations: {{ toYaml . | nindent 8 }} {{- end }} labels: {{- include "localpv.labels" . | nindent 8 }} {{- with .Values.localpv.podLabels }} {{ toYaml . | nindent 8 }} {{- end }} spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} serviceAccountName: {{ template "localpv.serviceAccountName" . }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} containers: - name: {{ template "localpv.fullname" . }} image: "{{ .Values.localpv.image.registry }}{{ .Values.localpv.image.repository }}:{{ .Values.localpv.image.tag }}" imagePullPolicy: {{ .Values.localpv.image.pullPolicy }} resources: {{ toYaml .Values.localpv.resources | indent 10 }} args: - "--bd-time-out=$(BDC_BD_BIND_RETRIES)" env: # OPENEBS_IO_K8S_MASTER enables openebs provisioner to connect to K8s # based on this address. This is ignored if empty. # This is supported for openebs provisioner version 0.5.2 onwards #- name: OPENEBS_IO_K8S_MASTER # value: "http://10.128.0.12:8080" # OPENEBS_IO_KUBE_CONFIG enables openebs provisioner to connect to K8s # based on this config. This is ignored if empty. # This is supported for openebs provisioner version 0.5.2 onwards #- name: OPENEBS_IO_KUBE_CONFIG # value: "/home/ubuntu/.kube/config" # This sets the number of times the provisioner should try # with a polling interval of 5 seconds, to get the Blockdevice # Name from a BlockDeviceClaim, before the BlockDeviceClaim # is deleted. E.g. 12 * 5 seconds = 60 seconds timeout - name: BDC_BD_BIND_RETRIES value: "{{ .Values.localpv.waitForBDBindTimeoutRetryCount }}" - name: OPENEBS_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName # OPENEBS_SERVICE_ACCOUNT provides the service account of this pod as # environment variable - name: OPENEBS_SERVICE_ACCOUNT valueFrom: fieldRef: fieldPath: spec.serviceAccountName # OPENEBS_IO_BASE_PATH is the environment variable that provides the # default base path on the node where host-path PVs will be provisioned. - name: OPENEBS_IO_ENABLE_ANALYTICS value: "{{ .Values.analytics.enabled }}" - name: OPENEBS_IO_BASE_PATH value: "{{ .Values.localpv.basePath }}" - name: OPENEBS_IO_HELPER_IMAGE value: "{{ .Values.helperPod.image.registry }}{{ .Values.helperPod.image.repository }}:{{ .Values.helperPod.image.tag }}" - name: OPENEBS_IO_INSTALLER_TYPE value: "localpv-charts-helm" # LEADER_ELECTION_ENABLED is used to enable/disable leader election. By default # leader election is enabled. - name: LEADER_ELECTION_ENABLED value: "{{ .Values.localpv.enableLeaderElection }}" {{- if .Values.imagePullSecrets }} - name: OPENEBS_IO_IMAGE_PULL_SECRETS value: "{{- range $index, $secret := .Values.imagePullSecrets}}{{if $index}},{{end}}{{ $secret.name }}{{- end}}" {{- end }} # Process name used for matching is limited to the 15 characters # present in the pgrep output. # So fullname can't be used here with pgrep (>15 chars).A regular expression # that matches the entire command name has to specified. # Anchor `^` : matches any string that starts with `provisioner-loc` # `.*`: matches any string that has `provisioner-loc` followed by zero or more char livenessProbe: exec: command: - sh - -c - test `pgrep -c "^provisioner-loc.*"` = 1 initialDelaySeconds: {{ .Values.localpv.healthCheck.initialDelaySeconds }} periodSeconds: {{ .Values.localpv.healthCheck.periodSeconds }} {{- if .Values.localpv.nodeSelector }} nodeSelector: {{ toYaml .Values.localpv.nodeSelector | indent 8 }} {{- end }} {{- if .Values.localpv.tolerations }} tolerations: {{ toYaml .Values.localpv.tolerations | indent 8 }} {{- end }} {{- if .Values.localpv.affinity }} affinity: {{ toYaml .Values.localpv.affinity | indent 8 }} {{- end }} {{- end }}