apiVersion: apps/v1 kind: Deployment metadata: labels: app: truenas-csi-controller name: truenas-csi-controller namespace: truenas-csi spec: selector: matchLabels: app: truenas-csi-controller strategy: {} template: metadata: labels: app: truenas-csi-controller spec: containers: - args: - --endpoint=$(CSI_ENDPOINT) - --node-id=$(NODE_ID) - --mode=controller - --v=4 env: - name: CSI_ENDPOINT value: unix:///csi/csi.sock - name: TRUENAS_API_KEY valueFrom: secretKeyRef: key: api-key name: truenas-csi-api-credentials - name: NODE_ID valueFrom: fieldRef: fieldPath: spec.nodeName - name: TRUENAS_DEFAULT_POOL valueFrom: configMapKeyRef: key: defaultPool name: truenas-csi - name: TRUENAS_INSECURE_SKIP_VERIFY valueFrom: configMapKeyRef: key: truenasInsecure name: truenas-csi - name: TRUENAS_ISCSI_IQN_BASE valueFrom: configMapKeyRef: key: iscsiIQNBase name: truenas-csi - name: TRUENAS_ISCSI_PORTAL valueFrom: configMapKeyRef: key: iscsiPortal name: truenas-csi - name: TRUENAS_NFS_SERVER valueFrom: configMapKeyRef: key: nfsServer name: truenas-csi - name: TRUENAS_URL valueFrom: configMapKeyRef: key: truenasURL name: truenas-csi image: ghcr.io/truenas/truenas-csi:latest imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 5 httpGet: path: /healthz port: 9808 initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 3 name: csi-controller resources: {} volumeMounts: - mountPath: /csi name: socket-dir - args: - --csi-address=$(ADDRESS) - --v=5 - --feature-gates=Topology=true - --extra-create-metadata - --leader-election=true - --default-fstype=ext4 - --timeout=60s env: - name: ADDRESS value: /csi/csi.sock image: registry.k8s.io/sig-storage/csi-provisioner:v6.1.1 name: csi-provisioner resources: {} volumeMounts: - mountPath: /csi name: socket-dir - args: - --csi-address=$(ADDRESS) - --v=5 - --leader-election=true - --timeout=60s env: - name: ADDRESS value: /csi/csi.sock image: registry.k8s.io/sig-storage/csi-attacher:v4.11.0 name: csi-attacher resources: {} volumeMounts: - mountPath: /csi name: socket-dir - args: - --csi-address=$(ADDRESS) - --v=5 - --leader-election=true - --timeout=60s env: - name: ADDRESS value: /csi/csi.sock image: registry.k8s.io/sig-storage/csi-snapshotter:v8.5.0 name: csi-snapshotter resources: {} volumeMounts: - mountPath: /csi name: socket-dir - args: - --csi-address=$(ADDRESS) - --v=5 - --leader-election=true - --timeout=60s env: - name: ADDRESS value: /csi/csi.sock image: registry.k8s.io/sig-storage/csi-resizer:v2.1.0 name: csi-resizer resources: {} volumeMounts: - mountPath: /csi name: socket-dir - args: - --csi-address=/csi/csi.sock - --health-port=9808 image: registry.k8s.io/sig-storage/livenessprobe:v2.18.0 name: liveness-probe resources: {} volumeMounts: - mountPath: /csi name: socket-dir serviceAccountName: truenas-csi-controller-sa volumes: - emptyDir: {} name: socket-dir status: {}