apiVersion: apps/v1 kind: Deployment metadata: name: longhorn-driver-deployer namespace: {{ .Release.Namespace }} labels: {{- include "longhorn.labels" . | nindent 4 }} spec: replicas: 1 selector: matchLabels: app: longhorn-driver-deployer template: metadata: labels: {{- include "longhorn.labels" . | nindent 8 }} app: longhorn-driver-deployer spec: initContainers: - name: wait-longhorn-manager image: {{ template "system_default_registry" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }} command: ['sh', '-c', 'while [ $(curl -m 1 -s -o /dev/null -w "%{http_code}" http://longhorn-backend:9500/v1) != "200" ]; do echo waiting; sleep 2; done'] containers: - name: longhorn-driver-deployer image: {{ template "system_default_registry" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }} imagePullPolicy: IfNotPresent command: - longhorn-manager - -d - deploy-driver - --manager-image - "{{ template "system_default_registry" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}" - --manager-url - http://longhorn-backend:9500/v1 env: - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName - name: SERVICE_ACCOUNT valueFrom: fieldRef: fieldPath: spec.serviceAccountName {{- if .Values.csi.kubeletRootDir }} - name: KUBELET_ROOT_DIR value: {{ .Values.csi.kubeletRootDir }} {{- end }} {{- if and .Values.image.csi.attacher.repository .Values.image.csi.attacher.tag }} - name: CSI_ATTACHER_IMAGE value: "{{ template "system_default_registry" . }}{{ .Values.image.csi.attacher.repository }}:{{ .Values.image.csi.attacher.tag }}" {{- end }} {{- if and .Values.image.csi.provisioner.repository .Values.image.csi.provisioner.tag }} - name: CSI_PROVISIONER_IMAGE value: "{{ template "system_default_registry" . }}{{ .Values.image.csi.provisioner.repository }}:{{ .Values.image.csi.provisioner.tag }}" {{- end }} {{- if and .Values.image.csi.nodeDriverRegistrar.repository .Values.image.csi.nodeDriverRegistrar.tag }} - name: CSI_NODE_DRIVER_REGISTRAR_IMAGE value: "{{ template "system_default_registry" . }}{{ .Values.image.csi.nodeDriverRegistrar.repository }}:{{ .Values.image.csi.nodeDriverRegistrar.tag }}" {{- end }} {{- if and .Values.image.csi.resizer.repository .Values.image.csi.resizer.tag }} - name: CSI_RESIZER_IMAGE value: "{{ template "system_default_registry" . }}{{ .Values.image.csi.resizer.repository }}:{{ .Values.image.csi.resizer.tag }}" {{- end }} {{- if .Values.csi.attacherReplicaCount }} - name: CSI_ATTACHER_REPLICA_COUNT value: {{ .Values.csi.attacherReplicaCount | quote }} {{- end }} {{- if .Values.csi.provisionerReplicaCount }} - name: CSI_PROVISIONER_REPLICA_COUNT value: {{ .Values.csi.provisionerReplicaCount | quote }} {{- end }} {{- if .Values.csi.resizerReplicaCount }} - name: CSI_RESIZER_REPLICA_COUNT value: {{ .Values.csi.resizerReplicaCount | quote }} {{- end }} {{- if .Values.defaultSettings.registrySecret }} imagePullSecrets: - name: {{ .Values.defaultSettings.registrySecret }} {{- end }} serviceAccountName: longhorn-service-account securityContext: runAsUser: 0