apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: '1'
    meta.helm.sh/release-name: nfs
    meta.helm.sh/release-namespace: nfs
  creationTimestamp: '2026-09-19T18:16:39Z'
  generation: 1
  labels:
    app.kubernetes.io/instance: nfs
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: csi-driver-nfs
    app.kubernetes.io/version: 4.13.4
    helm.sh/chart: csi-driver-nfs-4.13.4
  managedFields:
  - apiVersion: apps/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          f:meta.helm.sh/release-name: {}
          f:meta.helm.sh/release-namespace: {}
        f:labels:
          f:app.kubernetes.io/instance: {}
          f:app.kubernetes.io/managed-by: {}
          f:app.kubernetes.io/name: {}
          f:app.kubernetes.io/version: {}
          f:helm.sh/chart: {}
      f:spec:
        f:replicas: {}
        f:revisionHistoryLimit: {}
        f:selector: {}
        f:strategy:
          f:type: {}
        f:template:
          f:metadata:
            f:labels:
              f:app: {}
              f:app.kubernetes.io/instance: {}
              f:app.kubernetes.io/managed-by: {}
              f:app.kubernetes.io/name: {}
              f:app.kubernetes.io/version: {}
              f:helm.sh/chart: {}
          f:spec:
            f:containers:
              k:{"name":"csi-provisioner"}:
                .: {}
                f:args: {}
                f:env:
                  k:{"name":"ADDRESS"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                f:image: {}
                f:imagePullPolicy: {}
                f:name: {}
                f:resources:
                  f:limits:
                    f:memory: {}
                  f:requests:
                    f:cpu: {}
                    f:memory: {}
                f:securityContext:
                  f:capabilities:
                    f:drop: {}
                  f:readOnlyRootFilesystem: {}
                f:volumeMounts:
                  k:{"mountPath":"/csi"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
              k:{"name":"csi-resizer"}:
                .: {}
                f:args: {}
                f:env:
                  k:{"name":"ADDRESS"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                f:image: {}
                f:imagePullPolicy: {}
                f:name: {}
                f:resources:
                  f:limits:
                    f:memory: {}
                  f:requests:
                    f:cpu: {}
                    f:memory: {}
                f:securityContext:
                  f:capabilities:
                    f:drop: {}
                f:volumeMounts:
                  k:{"mountPath":"/csi"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
              k:{"name":"csi-snapshotter"}:
                .: {}
                f:args: {}
                f:env:
                  k:{"name":"ADDRESS"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                f:image: {}
                f:imagePullPolicy: {}
                f:name: {}
                f:resources:
                  f:limits:
                    f:memory: {}
                  f:requests:
                    f:cpu: {}
                    f:memory: {}
                f:securityContext:
                  f:capabilities:
                    f:drop: {}
                f:volumeMounts:
                  k:{"mountPath":"/csi"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
              k:{"name":"liveness-probe"}:
                .: {}
                f:args: {}
                f:image: {}
                f:imagePullPolicy: {}
                f:name: {}
                f:resources:
                  f:limits:
                    f:memory: {}
                  f:requests:
                    f:cpu: {}
                    f:memory: {}
                f:securityContext:
                  f:capabilities:
                    f:drop: {}
                  f:readOnlyRootFilesystem: {}
                f:volumeMounts:
                  k:{"mountPath":"/csi"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
              k:{"name":"nfs"}:
                .: {}
                f:args: {}
                f:env:
                  k:{"name":"CSI_ENDPOINT"}:
                    .: {}
                    f:name: {}
                    f:value: {}
                  k:{"name":"NODE_ID"}:
                    .: {}
                    f:name: {}
                    f:valueFrom:
                      f:fieldRef: {}
                f:image: {}
                f:imagePullPolicy: {}
                f:livenessProbe:
                  f:failureThreshold: {}
                  f:httpGet:
                    f:host: {}
                    f:path: {}
                    f:port: {}
                  f:initialDelaySeconds: {}
                  f:periodSeconds: {}
                  f:timeoutSeconds: {}
                f:name: {}
                f:resources:
                  f:limits:
                    f:memory: {}
                  f:requests:
                    f:cpu: {}
                    f:memory: {}
                f:securityContext:
                  f:allowPrivilegeEscalation: {}
                  f:capabilities:
                    f:add: {}
                    f:drop: {}
                  f:privileged: {}
                f:volumeMounts:
                  k:{"mountPath":"/csi"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
                  k:{"mountPath":"/var/lib/kubelet/pods"}:
                    .: {}
                    f:mountPath: {}
                    f:mountPropagation: {}
                    f:name: {}
            f:dnsPolicy: {}
            f:hostNetwork: {}
            f:nodeSelector: {}
            f:priorityClassName: {}
            f:securityContext:
              f:seccompProfile:
                f:type: {}
            f:serviceAccountName: {}
            f:tolerations: {}
            f:volumes:
              k:{"name":"pods-mount-dir"}:
                .: {}
                f:hostPath:
                  f:path: {}
                  f:type: {}
                f:name: {}
              k:{"name":"socket-dir"}:
                .: {}
                f:emptyDir: {}
                f:name: {}
    manager: helm
    operation: Apply
    time: '2026-09-19T18:16:39Z'
  - apiVersion: apps/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          f:deployment.kubernetes.io/revision: {}
      f:status:
        f:availableReplicas: {}
        f:conditions:
          .: {}
          k:{"type":"Available"}:
            .: {}
            f:lastTransitionTime: {}
            f:lastUpdateTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
          k:{"type":"Progressing"}:
            .: {}
            f:lastTransitionTime: {}
            f:lastUpdateTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
        f:observedGeneration: {}
        f:readyReplicas: {}
        f:replicas: {}
        f:terminatingReplicas: {}
        f:updatedReplicas: {}
    manager: kube-controller-manager
    operation: Update
    subresource: status
    time: '2026-09-19T18:16:57Z'
  name: csi-nfs-controller
  namespace: nfs
  resourceVersion: '185633'
  uid: ee207668-645c-49ff-817f-7f2f19261f9d
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: csi-nfs-controller
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: csi-nfs-controller
        app.kubernetes.io/instance: nfs
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/name: csi-driver-nfs
        app.kubernetes.io/version: 4.13.4
        helm.sh/chart: csi-driver-nfs-4.13.4
    spec:
      containers:
      - args:
        - -v=2
        - --csi-address=$(ADDRESS)
        - --leader-election
        - --leader-election-namespace=nfs
        - --extra-create-metadata=true
        - --feature-gates=VolumeAttributesClass=false
        - --timeout=1200s
        - --retry-interval-max=30m
        env:
        - name: ADDRESS
          value: /csi/csi.sock
        image: registry.k8s.io/sig-storage/csi-provisioner:v6.3.0
        imagePullPolicy: IfNotPresent
        name: csi-provisioner
        resources:
          limits:
            memory: 400Mi
          requests:
            cpu: 10m
            memory: 20Mi
        securityContext:
          capabilities:
            drop:
            - ALL
          readOnlyRootFilesystem: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /csi
          name: socket-dir
      - args:
        - -csi-address=$(ADDRESS)
        - -v=2
        - -leader-election
        - --leader-election-namespace=nfs
        - -handle-volume-inuse-error=false
        - -feature-gates=VolumeAttributesClass=false
        env:
        - name: ADDRESS
          value: /csi/csi.sock
        image: registry.k8s.io/sig-storage/csi-resizer:v2.2.0
        imagePullPolicy: IfNotPresent
        name: csi-resizer
        resources:
          limits:
            memory: 400Mi
          requests:
            cpu: 10m
            memory: 20Mi
        securityContext:
          capabilities:
            drop:
            - ALL
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /csi
          name: socket-dir
      - args:
        - --v=2
        - --csi-address=$(ADDRESS)
        - --leader-election-namespace=nfs
        - --leader-election
        - --timeout=1200s
        - --retry-interval-max=30m
        env:
        - name: ADDRESS
          value: /csi/csi.sock
        image: registry.k8s.io/sig-storage/csi-snapshotter:v8.6.0
        imagePullPolicy: IfNotPresent
        name: csi-snapshotter
        resources:
          limits:
            memory: 200Mi
          requests:
            cpu: 10m
            memory: 20Mi
        securityContext:
          capabilities:
            drop:
            - ALL
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /csi
          name: socket-dir
      - args:
        - --csi-address=/csi/csi.sock
        - --probe-timeout=3s
        - --http-endpoint=localhost:29652
        - --v=2
        image: registry.k8s.io/sig-storage/livenessprobe:v2.19.0
        imagePullPolicy: IfNotPresent
        name: liveness-probe
        resources:
          limits:
            memory: 100Mi
          requests:
            cpu: 10m
            memory: 20Mi
        securityContext:
          capabilities:
            drop:
            - ALL
          readOnlyRootFilesystem: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /csi
          name: socket-dir
      - args:
        - --v=5
        - --nodeid=$(NODE_ID)
        - --endpoint=$(CSI_ENDPOINT)
        - --drivername=nfs.csi.k8s.io
        - --mount-permissions=0777
        - --working-mount-dir=/tmp
        - --default-ondelete-policy=delete
        - --use-tar-command-in-snapshot=false
        - --enable-snapshot-compression=true
        env:
        - name: NODE_ID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: CSI_ENDPOINT
          value: unix:///csi/csi.sock
        image: registry.k8s.io/sig-storage/nfsplugin:v4.13.4
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 5
          httpGet:
            host: localhost
            path: /healthz
            port: 29652
            scheme: HTTP
          initialDelaySeconds: 30
          periodSeconds: 30
          successThreshold: 1
          timeoutSeconds: 10
        name: nfs
        resources:
          limits:
            memory: 200Mi
          requests:
            cpu: 10m
            memory: 20Mi
        securityContext:
          allowPrivilegeEscalation: true
          capabilities:
            add:
            - SYS_ADMIN
            drop:
            - ALL
          privileged: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /var/lib/kubelet/pods
          mountPropagation: Bidirectional
          name: pods-mount-dir
        - mountPath: /csi
          name: socket-dir
      dnsPolicy: ClusterFirstWithHostNet
      hostNetwork: true
      nodeSelector:
        kubernetes.io/os: linux
      priorityClassName: system-cluster-critical
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext:
        seccompProfile:
          type: RuntimeDefault
      serviceAccount: csi-nfs-controller-sa
      serviceAccountName: csi-nfs-controller-sa
      terminationGracePeriodSeconds: 30
      tolerations:
      - effect: NoSchedule
        key: node-role.kubernetes.io/master
        operator: Exists
      - effect: NoSchedule
        key: node-role.kubernetes.io/controlplane
        operator: Exists
      - effect: NoSchedule
        key: node-role.kubernetes.io/control-plane
        operator: Exists
      - effect: NoSchedule
        key: CriticalAddonsOnly
        operator: Exists
      volumes:
      - hostPath:
          path: /var/lib/kubelet/pods
          type: Directory
        name: pods-mount-dir
      - emptyDir: {}
        name: socket-dir
status:
  availableReplicas: 1
  conditions:
  - lastTransitionTime: '2026-09-19T18:16:57Z'
    lastUpdateTime: '2026-09-19T18:16:57Z'
    message: Deployment has minimum availability.
    reason: MinimumReplicasAvailable
    status: 'True'
    type: Available
  - lastTransitionTime: '2026-09-19T18:16:39Z'
    lastUpdateTime: '2026-09-19T18:16:57Z'
    message: ReplicaSet "csi-nfs-controller-5f4d8b8cf5" has successfully progressed.
    reason: NewReplicaSetAvailable
    status: 'True'
    type: Progressing
  observedGeneration: 1
  readyReplicas: 1
  replicas: 1
  terminatingReplicas: 0
  updatedReplicas: 1
