Skip to content

Commit 1abaf84

Browse files
Merge pull request #154 from shiftstack/merge-bot-main
NO-JIRA: Merge https://github.com/kubernetes-csi/csi-driver-nfs:master into main
2 parents c7155ad + cf6774a commit 1abaf84

File tree

137 files changed

+5686
-1161
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

137 files changed

+5686
-1161
lines changed

.github/workflows/trivy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- name: Install go
1616
uses: actions/setup-go@v5
1717
with:
18-
go-version: 1.23.6
18+
go-version: 1.24.4
1919

2020
- name: Build an image from Dockerfile
2121
run: |

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM registry.k8s.io/build-image/debian-base:bookworm-v1.0.4
15+
FROM registry.k8s.io/build-image/debian-base:bookworm-v1.0.5
1616

1717
ARG ARCH
1818
ARG binary=./bin/${ARCH}/nfsplugin

charts/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,13 @@ The following table lists the configurable parameters of the latest NFS CSI Driv
5353
| `image.nfs.tag` | csi-driver-nfs image tag | `latest` |
5454
| `image.nfs.pullPolicy` | csi-driver-nfs image pull policy | `IfNotPresent` |
5555
| `image.csiProvisioner.repository` | csi-provisioner docker image | `registry.k8s.io/sig-storage/csi-provisioner` |
56-
| `image.csiProvisioner.tag` | csi-provisioner docker image tag | `v5.2.0` |
56+
| `image.csiProvisioner.tag` | csi-provisioner docker image tag | `v5.3.0` |
5757
| `image.csiProvisioner.pullPolicy` | csi-provisioner image pull policy | `IfNotPresent` |
5858
| `image.livenessProbe.repository` | liveness-probe docker image | `registry.k8s.io/sig-storage/livenessprobe` |
59-
| `image.livenessProbe.tag` | liveness-probe docker image tag | `v2.15.0` |
59+
| `image.livenessProbe.tag` | liveness-probe docker image tag | `v2.16.0` |
6060
| `image.livenessProbe.pullPolicy` | liveness-probe image pull policy | `IfNotPresent` |
6161
| `image.nodeDriverRegistrar.repository` | csi-node-driver-registrar docker image | `registry.k8s.io/sig-storage/csi-node-driver-registrar` |
62-
| `image.nodeDriverRegistrar.tag` | csi-node-driver-registrar docker image tag | `v2.13.0` |
62+
| `image.nodeDriverRegistrar.tag` | csi-node-driver-registrar docker image tag | `v2.14.0` |
6363
| `image.nodeDriverRegistrar.pullPolicy` | csi-node-driver-registrar image pull policy | `IfNotPresent` |
6464
| `imagePullSecrets` | Specify docker-registry secret names as an array | [] (does not add image pull secrets to deployed pods) |
6565
| `serviceAccount.create` | whether create service account of csi-nfs-controller | `true` |
-2 Bytes
Binary file not shown.

charts/latest/csi-driver-nfs/values.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,27 @@ image:
77
pullPolicy: IfNotPresent
88
csiProvisioner:
99
repository: registry.k8s.io/sig-storage/csi-provisioner
10-
tag: v5.2.0
10+
tag: v5.3.0
1111
pullPolicy: IfNotPresent
1212
csiResizer:
1313
repository: registry.k8s.io/sig-storage/csi-resizer
14-
tag: v1.13.1
14+
tag: v1.13.2
1515
pullPolicy: IfNotPresent
1616
csiSnapshotter:
1717
repository: registry.k8s.io/sig-storage/csi-snapshotter
18-
tag: v8.2.0
18+
tag: v8.2.1
1919
pullPolicy: IfNotPresent
2020
livenessProbe:
2121
repository: registry.k8s.io/sig-storage/livenessprobe
22-
tag: v2.15.0
22+
tag: v2.16.0
2323
pullPolicy: IfNotPresent
2424
nodeDriverRegistrar:
2525
repository: registry.k8s.io/sig-storage/csi-node-driver-registrar
26-
tag: v2.13.0
26+
tag: v2.14.0
2727
pullPolicy: IfNotPresent
2828
externalSnapshotter:
2929
repository: registry.k8s.io/sig-storage/snapshot-controller
30-
tag: v8.2.0
30+
tag: v8.2.1
3131
pullPolicy: IfNotPresent
3232

3333
serviceAccount:

deploy/csi-nfs-controller.yaml

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,19 +38,23 @@ spec:
3838
effect: "NoSchedule"
3939
containers:
4040
- name: csi-provisioner
41-
image: registry.k8s.io/sig-storage/csi-provisioner:v5.2.0
41+
image: registry.k8s.io/sig-storage/csi-provisioner:v5.3.0
4242
args:
4343
- "-v=2"
4444
- "--csi-address=$(ADDRESS)"
4545
- "--leader-election"
46-
- "--leader-election-namespace=kube-system"
46+
- "--leader-election-namespace=$(POD_NAMESPACE)"
4747
- "--extra-create-metadata=true"
4848
- "--feature-gates=HonorPVReclaimPolicy=true"
4949
- "--timeout=1200s"
5050
- "--retry-interval-max=30m"
5151
env:
5252
- name: ADDRESS
5353
value: /csi/csi.sock
54+
- name: POD_NAMESPACE
55+
valueFrom:
56+
fieldRef:
57+
fieldPath: metadata.namespace
5458
volumeMounts:
5559
- mountPath: /csi
5660
name: socket-dir
@@ -65,16 +69,20 @@ spec:
6569
drop:
6670
- ALL
6771
- name: csi-resizer
68-
image: registry.k8s.io/sig-storage/csi-resizer:v1.13.1
72+
image: registry.k8s.io/sig-storage/csi-resizer:v1.13.2
6973
args:
7074
- "-csi-address=$(ADDRESS)"
7175
- "-v=2"
7276
- "-leader-election"
73-
- "--leader-election-namespace=kube-system"
77+
- "--leader-election-namespace=$(POD_NAMESPACE)"
7478
- '-handle-volume-inuse-error=false'
7579
env:
7680
- name: ADDRESS
7781
value: /csi/csi.sock
82+
- name: POD_NAMESPACE
83+
valueFrom:
84+
fieldRef:
85+
fieldPath: metadata.namespace
7886
volumeMounts:
7987
- name: socket-dir
8088
mountPath: /csi
@@ -89,17 +97,21 @@ spec:
8997
drop:
9098
- ALL
9199
- name: csi-snapshotter
92-
image: registry.k8s.io/sig-storage/csi-snapshotter:v8.2.0
100+
image: registry.k8s.io/sig-storage/csi-snapshotter:v8.2.1
93101
args:
94102
- "--v=2"
95103
- "--csi-address=$(ADDRESS)"
96-
- "--leader-election-namespace=kube-system"
104+
- "--leader-election-namespace=$(POD_NAMESPACE)"
97105
- "--leader-election"
98106
- "--timeout=1200s"
99107
- "--retry-interval-max=30m"
100108
env:
101109
- name: ADDRESS
102110
value: /csi/csi.sock
111+
- name: POD_NAMESPACE
112+
valueFrom:
113+
fieldRef:
114+
fieldPath: metadata.namespace
103115
imagePullPolicy: IfNotPresent
104116
volumeMounts:
105117
- name: socket-dir
@@ -115,7 +127,7 @@ spec:
115127
drop:
116128
- ALL
117129
- name: liveness-probe
118-
image: registry.k8s.io/sig-storage/livenessprobe:v2.15.0
130+
image: registry.k8s.io/sig-storage/livenessprobe:v2.16.0
119131
args:
120132
- --csi-address=/csi/csi.sock
121133
- --probe-timeout=3s

deploy/csi-nfs-node.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ spec:
3030
- operator: "Exists"
3131
containers:
3232
- name: liveness-probe
33-
image: registry.k8s.io/sig-storage/livenessprobe:v2.15.0
33+
image: registry.k8s.io/sig-storage/livenessprobe:v2.16.0
3434
args:
3535
- --csi-address=/csi/csi.sock
3636
- --probe-timeout=3s
@@ -50,7 +50,7 @@ spec:
5050
drop:
5151
- ALL
5252
- name: node-driver-registrar
53-
image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.13.0
53+
image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0
5454
args:
5555
- --v=2
5656
- --csi-address=/csi/csi.sock

deploy/csi-snapshot-controller.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,16 @@ spec:
5252
effect: "NoSchedule"
5353
containers:
5454
- name: snapshot-controller
55-
image: registry.k8s.io/sig-storage/snapshot-controller:v8.2.0
55+
image: registry.k8s.io/sig-storage/snapshot-controller:v8.2.1
5656
args:
5757
- "--v=2"
5858
- "--leader-election=true"
59-
- "--leader-election-namespace=kube-system"
59+
- "--leader-election-namespace=$(POD_NAMESPACE)"
60+
env:
61+
- name: POD_NAMESPACE
62+
valueFrom:
63+
fieldRef:
64+
fieldPath: metadata.namespace
6065
resources:
6166
limits:
6267
memory: 300Mi

docs/driver-parameters.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ mountOptions | mount options separated by comma during snapshot creation, e.g. `
4343
- `${pvc.metadata.namespace}`
4444
- `${pv.metadata.name}`
4545

46-
#### provide `mountOptions` for `DeleteVolume`
47-
> since `DeleteVolumeRequest` does not provide `mountOptions`, following is the workaround to provide `mountOptions` for `DeleteVolume`, check details [here](https://github.com/kubernetes-csi/csi-driver-nfs/issues/260)
46+
#### provide `mountOptions` for `DeleteVolume` and `DeleteSnapshot`
47+
> since `DeleteVolumeRequest` and `DeleteSnapshotRequest` does not provide `mountOptions`, following is the workaround to provide `mountOptions` for `DeleteVolume` and `DeleteSnapshot`, check details [here](https://github.com/kubernetes-csi/csi-driver-nfs/issues/260)
4848
- create a secret with `mountOptions`
4949
```console
5050
kubectl create secret generic mount-options --from-literal mountOptions="nfsvers=3,hard"
@@ -67,4 +67,17 @@ volumeBindingMode: Immediate
6767
allowVolumeExpansion: true
6868
mountOptions:
6969
- nfsvers=4.1
70+
```
71+
- define a storage class with `csi.storage.k8s.io/snapshotter-secret-name` and `csi.storage.k8s.io/snapshotter-secret-namespace` setting:
72+
```yaml
73+
apiVersion: snapshot.storage.k8s.io/v1
74+
kind: VolumeSnapshotClass
75+
metadata:
76+
name: csi-nfs-snapclass
77+
driver: nfs.csi.k8s.io
78+
deletionPolicy: Delete
79+
parameters:
80+
# csi.storage.k8s.io/snapshotter-secret is only needed for providing mountOptions in DeleteSnapshot
81+
csi.storage.k8s.io/snapshotter-secret-name: "mount-options"
82+
csi.storage.k8s.io/snapshotter-secret-namespace: "default"
7083
```

go.mod

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ require (
99
github.com/onsi/gomega v1.37.0
1010
github.com/pborman/uuid v1.2.1
1111
github.com/stretchr/testify v1.10.0
12-
golang.org/x/net v0.39.0
13-
google.golang.org/grpc v1.71.1
12+
go.uber.org/goleak v1.3.0
13+
golang.org/x/net v0.41.0
14+
google.golang.org/grpc v1.73.0
1415
google.golang.org/protobuf v1.36.6
1516
k8s.io/api v0.31.6
1617
k8s.io/apimachinery v0.31.6
@@ -94,28 +95,28 @@ require (
9495
go.etcd.io/etcd/client/v3 v3.5.14 // indirect
9596
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0 // indirect
9697
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect
97-
go.opentelemetry.io/otel v1.34.0 // indirect
98+
go.opentelemetry.io/otel v1.35.0 // indirect
9899
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 // indirect
99100
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 // indirect
100-
go.opentelemetry.io/otel/metric v1.34.0 // indirect
101-
go.opentelemetry.io/otel/sdk v1.34.0 // indirect
102-
go.opentelemetry.io/otel/trace v1.34.0 // indirect
101+
go.opentelemetry.io/otel/metric v1.35.0 // indirect
102+
go.opentelemetry.io/otel/sdk v1.35.0 // indirect
103+
go.opentelemetry.io/otel/trace v1.35.0 // indirect
103104
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
104105
go.uber.org/multierr v1.11.0 // indirect
105106
go.uber.org/zap v1.26.0 // indirect
106-
golang.org/x/crypto v0.37.0 // indirect
107+
golang.org/x/crypto v0.39.0 // indirect
107108
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
108-
golang.org/x/mod v0.24.0
109-
golang.org/x/oauth2 v0.25.0 // indirect
110-
golang.org/x/sync v0.13.0 // indirect
111-
golang.org/x/sys v0.32.0 // indirect
112-
golang.org/x/term v0.31.0 // indirect
113-
golang.org/x/text v0.24.0 // indirect
109+
golang.org/x/mod v0.25.0
110+
golang.org/x/oauth2 v0.28.0 // indirect
111+
golang.org/x/sync v0.15.0 // indirect
112+
golang.org/x/sys v0.33.0 // indirect
113+
golang.org/x/term v0.32.0 // indirect
114+
golang.org/x/text v0.26.0 // indirect
114115
golang.org/x/time v0.3.0 // indirect
115-
golang.org/x/tools v0.31.0 // indirect
116+
golang.org/x/tools v0.33.0 // indirect
116117
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect
117-
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect
118-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect
118+
google.golang.org/genproto/googleapis/api v0.0.0-20250324211829-b45e905df463 // indirect
119+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
119120
gopkg.in/inf.v0 v0.9.1 // indirect
120121
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
121122
gopkg.in/yaml.v2 v2.4.0 // indirect

0 commit comments

Comments
 (0)