Compare commits

...

720 Commits

Author SHA1 Message Date
Andy Zhang 032db3090b
Merge pull request #964 from andyzhangx/CVE-2025-22868
fix: CVE-2025-22868
2025-07-21 14:22:34 +08:00
andyzhangx 2fafbb8e16
fix: CVE-2025-22868 2025-07-21 02:36:07 +00:00
Andy Zhang a2065934fc
Merge pull request #962 from andyzhangx/upgrade-resizer-1.14.0
chore: upgrade csi-resizer to v1.14.0
2025-07-04 11:40:26 +03:00
andyzhangx 231f2e5960
chore: upgrade csi-resizer to v1.14.0
fix
2025-07-04 03:56:31 +00:00
Andy Zhang 17485a5155
Merge pull request #957 from andyzhangx/upgrade-side-car
chore: upgrade sidecar image versions
2025-06-18 12:07:27 +03:00
Andy Zhang b1365be731
Merge pull request #960 from kubernetes-csi/dependabot/docker/cmd/smbplugin/build-image/debian-base-bookworm-v1.0.5
chore(deps): bump build-image/debian-base from bookworm-v1.0.4 to bookworm-v1.0.5 in /cmd/smbplugin
2025-06-18 12:06:55 +03:00
dependabot[bot] 8bfe5482a5
chore(deps): bump build-image/debian-base in /cmd/smbplugin
Bumps build-image/debian-base from bookworm-v1.0.4 to bookworm-v1.0.5.

---
updated-dependencies:
- dependency-name: build-image/debian-base
  dependency-version: bookworm-v1.0.5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-17 17:15:47 +00:00
Andy Zhang 9c2333552b
Merge pull request #959 from andyzhangx/CVE-2025-4673
test: fix CVE-2025-4673 in trivy action
2025-06-14 05:39:02 +03:00
andyzhangx d6455ae492
test: fix CVE-2025-4673 in trivy action 2025-06-14 02:07:39 +00:00
andyzhangx 42214abfdf chore: upgrade sidecar image versions 2025-06-03 06:45:15 +00:00
Andy Zhang 56bc37e7dc
Merge pull request #953 from andyzhangx/cut-v1.18.0
doc: cut v1.18.0 release
2025-05-12 14:11:10 +03:00
andyzhangx 6b1a2688f7 doc: use latest version for master branch 2025-05-12 03:19:33 +00:00
andyzhangx 6286cadc2c doc: cut v1.18.0 release 2025-05-12 03:18:53 +00:00
Andy Zhang 7b23ca333f
Merge pull request #947 from andyzhangx/fix-goroutine-leak
fix: goroutine leak when timeout
2025-05-01 17:07:41 +03:00
andyzhangx 85694b712b fix: goroutine leak when timeout 2025-05-01 02:35:56 +00:00
Andy Zhang 887341d3d2
Update csi-debug.md 2025-04-24 22:43:15 +08:00
Andy Zhang ec93e4ce9a
Merge pull request #945 from andyzhangx/upgrade-resizer
chore: upgrade resizer sidecar image version to v1.13.2
2025-04-21 04:33:37 +03:00
andyzhangx 2d081d65b1 chore: upgrade resizer sidecar image version to v1.13.2 2025-04-20 13:23:40 +00:00
Andy Zhang 1876db3d8a
Merge pull request #944 from andyzhangx/CVE-2025-22872
fix: CVE-2025-22872
2025-04-20 16:04:29 +03:00
andyzhangx d5d2cf4e9f fix: CVE-2025-22872 2025-04-19 03:43:45 +00:00
Andy Zhang 475af8ac63
doc: enable hostprocess install on v1.17.0 2025-04-11 17:26:38 +08:00
Andy Zhang 051635c39c
Merge pull request #942 from andyzhangx/CVE-2025-22871
test: fix CVE-2025-22871 in trivy action
2025-04-10 07:01:45 +03:00
andyzhangx 40dfe50acd test: fix CVE-2025-22871 in trivy action 2025-04-10 03:38:31 +00:00
Andy Zhang 1fa7d8ee77
Merge pull request #941 from andyzhangx/go1.24
chore: use go1.24
2025-04-02 20:02:42 +08:00
andyzhangx 727f75e151 fix golint
fix golint
2025-04-02 09:50:54 +00:00
andyzhangx 7b52494b36 Merge commit 'efb8d5c82076fdf63b6a1f1a160964198cfd55fe' into go1.24 2025-04-02 09:25:35 +00:00
andyzhangx efb8d5c820 Squashed 'release-tools/' changes from 90efb2ca5..701dc34bc
701dc34bc Merge pull request #273 from andyzhangx/patch-4
aeebd30e8 Bump golang to 1.24.0
f277d561f Merge pull request #270 from carlory/update-kind-version
6dcb96a51 update default kind version to v0.25.0

git-subtree-dir: release-tools
git-subtree-split: 701dc34bc0c28e007eef01d773afecec50f22e8d
2025-04-02 09:25:35 +00:00
andyzhangx 181769ad9d chore: use go1.24 2025-04-02 09:25:24 +00:00
Andy Zhang b6290f874d
Merge pull request #937 from andyzhangx/CVE-2025-30204
fix: CVE-2025-30204
2025-03-27 16:36:50 +08:00
andyzhangx f4c065cea7 fix: CVE-2025-30204 2025-03-22 13:30:21 +00:00
Andy Zhang 9ce75fb21e
Merge pull request #926 from andyzhangx/CVE-2025-0426
fix: CVE-2025-0426
2025-03-17 19:36:48 +08:00
andyzhangx e2112c6ebe fix: CVE-2025-0426 2025-03-17 08:16:48 +00:00
andyzhangx 5c8abe2985 test: fix test suite issue 2025-03-17 08:10:56 +00:00
Andy Zhang a71b8cf5b8
Merge pull request #931 from Phaow/hotfix
test: correct external-e2e driver capabilities
2025-02-22 22:07:18 +08:00
Penghao 081e93bb0b test: correct external-e2e driver capabilities 2025-02-21 22:48:00 +08:00
Andy Zhang d7708fc61e
Merge pull request #928 from Phaow/hotfix
test: use env var for CSI inline volume test secret
2025-02-18 19:20:23 +08:00
Andy Zhang db56eeee25
Merge pull request #929 from andyzhangx/update-csi-release-tools5
chore: update csi release tools (building driver with go1.23.6)
2025-02-18 19:19:10 +08:00
andyzhangx 23caca9d25 Squashed 'release-tools/' changes from 049659326..90efb2ca5
90efb2ca5 Merge pull request #272 from andyzhangx/patch-3
9b616fec4 Bump golang to 1.23.6 to fix CVE-2024-45336, CVE-2025-22866

git-subtree-dir: release-tools
git-subtree-split: 90efb2ca59900f19eba05e65da28beda79c5bb28
2025-02-18 09:30:02 +00:00
andyzhangx 710426f162 Merge commit '23caca9d25283f1457e24d433242dfa36da3d880' into update-csi-release-tools5 2025-02-18 09:30:02 +00:00
Penghao 6320a9ee44 test: use env var for CSI inline volume secrets 2025-02-18 17:14:58 +08:00
andyzhangx e96e1cb0b0 fix: CVE-2025-0426 2025-02-15 08:56:38 +00:00
andyzhangx 70a2160a6b test: test code change due to upgrading to k8s lib 1.29.14 2025-02-15 08:56:11 +00:00
Andy Zhang 4bbf3e6cd0
Merge pull request #924 from andyzhangx/fix-affinity-chart
fix: incorrect affinity chart config
2025-02-12 12:40:34 +08:00
andyzhangx 38e03c2f94 fix: incorrect affinity chart config in v1.17.0 chart config 2025-02-11 10:11:07 +00:00
andyzhangx 7691e0e133 fix: incorrect affinity chart config 2025-02-10 08:41:21 +00:00
Andy Zhang 3cf10b3ff4
Merge pull request #923 from andyzhangx/CVE-2025-22866
test: fix CVE-2025-22866 in trivy action
2025-02-08 11:40:09 +08:00
andyzhangx f2090a7f8d test: fix CVE-2025-22866 in trivy action 2025-02-08 03:26:27 +00:00
Andy Zhang 872d89083e
Merge pull request #921 from andyzhangx/fix-dup-securityContext
fix: duplicated securityContext on Windows chart config
2025-02-01 12:10:32 +08:00
andyzhangx 98cf76808c fix: duplicated securityContext on Windows chart config 2025-02-01 02:46:38 +00:00
Andy Zhang e2790e40e5
Merge pull request #919 from andyzhangx/CVE-2024-45336
test: fix trivy action failure due to CVE-2024-45336
2025-01-30 15:37:28 +08:00
andyzhangx ef1775ea59 test: fix trivy action failure due to CVE-2024-45336 2025-01-30 02:25:49 +00:00
Andy Zhang 193a64f652
Merge pull request #907 from andyzhangx/cut-v1.17.0
doc: cut v1.17.0 release
2025-01-24 10:15:57 +08:00
andyzhangx 1e6ce896e4 doc: use latest version for master branch 2025-01-23 14:00:12 +00:00
andyzhangx 760cf4819f doc: cut v1.17.0 release 2025-01-23 13:59:34 +00:00
Andy Zhang 4fb7ea9bde
Merge pull request #910 from andyzhangx/upgrade-sidecar-images6
chore: upgrade CSI driver sidecar image versions
2025-01-23 21:42:41 +08:00
andyzhangx 4b3ffb4f43 test: add unit test 2025-01-22 15:17:08 +00:00
andyzhangx 46fb162903 chore: upgrade CSI driver sidecar image versions 2025-01-22 14:45:11 +00:00
Andy Zhang 7dcb9ea40d
Merge pull request #908 from kubernetes-csi/revert-906-fix-password
Revert "feat: support base64password field in secret"
2025-01-22 22:00:49 +08:00
Andy Zhang c1138d0a71
Revert "feat: support base64password field in secret" 2025-01-22 20:07:28 +08:00
Andy Zhang 7f78b7a84b
Merge pull request #906 from andyzhangx/fix-password
feat: support base64password field in secret
2025-01-22 11:11:36 +08:00
andyzhangx 3f39cbd506 fix: support base64password field in secret
fix

fix

fix

fix
2025-01-21 02:22:43 +00:00
Andy Zhang 613018d571
Merge pull request #905 from andyzhangx/inline-volume
feat: inline volume support
2025-01-17 23:42:09 +08:00
andyzhangx 9df3b58e35 feat: add feature flag for inline volume support
test: add ut

fix

fix

fix

fix

fix
2025-01-17 13:40:29 +00:00
andyzhangx 8105a9dcb5 feat: inline volume support
fix

fix
2025-01-12 15:33:10 +00:00
Andy Zhang d0687af4ca
Merge pull request #904 from andyzhangx/enable-hpc-by-default
feat: enable host process deployment for windows daemonset by default
2025-01-12 10:50:12 +08:00
andyzhangx 45c2275168 feat: enable host process deployment for windows daemonset by default 2025-01-11 14:39:11 +00:00
Andy Zhang 89414412f7
Merge pull request #903 from andyzhangx/fix-hpc-test-failure
test: fix windows hpc test failure
2025-01-11 22:17:04 +08:00
andyzhangx 625234071e test: fix windows hpc test failure
fix
2025-01-11 05:06:08 +00:00
Andy Zhang 0737748820
Merge pull request #897 from andyzhangx/use-canary-windows-hp
chore: use canary-windows-hp image for host process deployment
2025-01-03 10:34:32 +08:00
andyzhangx f857bf2b4a test: use new samber image 2025-01-02 11:26:40 +00:00
Andy Zhang def094d8ac
fix: windows hpc image build failure#7 2025-01-02 11:13:01 +08:00
andyzhangx 68eb1c0728 chore: use canary-windows-hp for host process deployment 2025-01-02 02:31:28 +00:00
Andy Zhang e1950127c4
fix: windows hpc image build failure#6 2025-01-01 22:01:11 +08:00
Andy Zhang 79e848d2d6
fix: windows hpc image build failure#5 2025-01-01 21:43:05 +08:00
Andy Zhang a530a2bcf3
fix: windows hpc image build failure#4 2025-01-01 20:53:55 +08:00
Andy Zhang f9f3c34229
fix: windows hpc image build failure#3 2025-01-01 20:04:39 +08:00
Andy Zhang dc3b6b4b66
fix: windows hpc image build failure#2 2025-01-01 19:25:50 +08:00
Andy Zhang 57fb626c1e
fix: windows hpc image build failure 2025-01-01 18:12:29 +08:00
Andy Zhang 15c3f62389
Merge pull request #896 from andyzhangx/support-win-hpc-image-build
chore: support windows hpc image build
2025-01-01 16:47:19 +08:00
andyzhangx 0edb091c18 chore: support windows hpc image build
fix
2025-01-01 03:02:19 +00:00
Andy Zhang b2d2d00947
Merge pull request #895 from andyzhangx/hpc2
feat: support windows host-process deployment
2024-12-31 11:46:01 +08:00
andyzhangx dec96df2c9 feat: support windows host-process deployment
fix

fix

fix

fix

fix

fix

fix
2024-12-30 02:18:24 +00:00
Andy Zhang fb9c5b3c9d
chore: update version in Makefile on master branch 2024-12-27 19:22:29 +08:00
Andy Zhang 9c7e069826
Merge pull request #894 from andyzhangx/main-test
test: add unit test for main function
2024-12-24 21:29:32 +08:00
andyzhangx d1fdafac4a test: add unit test for main function 2024-12-24 07:33:48 +00:00
Andy Zhang 5620c63d89
Merge pull request #893 from andyzhangx/increase-retry-interval-max
fix: increase default provisioner retry-interval-max
2024-12-24 14:15:33 +08:00
andyzhangx afd4267651 fix: increase default provisioner retry-interval-max 2024-12-24 01:25:15 +00:00
Andy Zhang 9d258aa086
Merge pull request #892 from andyzhangx/update-csi-release-tools
chore: Update csi release tools
2024-12-23 16:18:09 +08:00
andyzhangx 534c4ed460 Squashed 'release-tools/' changes from 98f23071d..049659326
049659326 Merge pull request #268 from huww98/cloudbuild
119aee1ff Merge pull request #266 from jsafrane/bump-sanity-5.3.1
0ae5e52d9 Update cloudbuild image with go 1.21+
406a79acf Merge pull request #267 from huww98/gomodcache
9cec273d8 Set GOMODCACHE to avoid re-download toolchain
43bde065f Bump csi-sanity to 5.3.1

git-subtree-dir: release-tools
git-subtree-split: 04965932661b6e62709dcdbb9c25da528bac2605
2024-12-23 03:30:38 +00:00
andyzhangx f5fde8c613 Merge commit '534c4ed460e7fb72adbaa3715804667fb6aba1e9' into update-csi-release-tools 2024-12-23 03:30:38 +00:00
Andy Zhang 40c322ce62
Merge pull request #891 from andyzhangx/CVE-2024-45338
fix: CVE-2024-45338
2024-12-19 15:39:17 +08:00
andyzhangx 644ebe42db fix: CVE-2024-45338 2024-12-19 04:24:25 +00:00
Andy Zhang f661a878db
Merge pull request #888 from andyzhangx/upgrade-mount-utils
chore: upgrade k8s.io/mount-utils to v1.32.0
2024-12-15 19:48:22 +08:00
Andy Zhang 59e5876b21
Merge pull request #889 from andyzhangx/upgrade-csi-test-5.3.1
test: upgrade csi-test to v5.3.1
2024-12-15 11:37:38 +08:00
andyzhangx 1a428fe358 test: upgrade csi-test to v5.3.1 2024-12-15 03:21:53 +00:00
andyzhangx fa78fead22 chore: upgrade k8s.io/mount-utils to v1.32.0 2024-12-15 03:10:28 +00:00
Andy Zhang 275b796b0a
Merge pull request #887 from andyzhangx/CVE-2024-45337
fix: CVE-2024-45337
2024-12-13 11:07:45 +08:00
andyzhangx 3955b75198 fix: CVE-2024-45337 2024-12-12 08:58:52 +00:00
Andy Zhang ef67340e1f
Update driver-parameters.md 2024-12-11 22:32:13 +08:00
Andy Zhang d13ea1e3cf
Merge pull request #886 from andyzhangx/fix-runOnMaster2
fix: controller.runOnMaster chart config
2024-12-11 22:28:41 +08:00
andyzhangx 6d66b3c829 fix: controller.runOnMaster chart config
fix
2024-12-11 11:22:43 +00:00
Andy Zhang a8dbff5ad8
Merge pull request #882 from andyzhangx/fix-runOnControlPlane
fix: runOnControlPlane chart config
2024-12-11 11:20:22 +08:00
Andy Zhang c9215d10a5
Merge pull request #884 from andyzhangx/use-winsymlink
fix: use godebug winsymlink on Windows build
2024-12-11 11:07:14 +08:00
andyzhangx 877fd5144b fix: use godebug winsymlink 2024-12-10 14:13:18 +00:00
andyzhangx 975289f225 doc: add allowVolumeExpansion in examples 2024-12-10 13:52:05 +00:00
andyzhangx 5a9dda426b fix: runOnControlPlane chart config in v1.16.0 2024-12-10 13:50:44 +00:00
andyzhangx dc12f41bc8 fix: runOnControlPlane chart config
fix
2024-12-10 09:38:11 +00:00
Andy Zhang fc83f7a94a
Merge pull request #883 from andyzhangx/upgrade-release-tools
chore: upgrade release tools
2024-12-10 17:17:30 +08:00
andyzhangx 2ae52b4ea3 Squashed 'release-tools/' changes from 227577e00..98f23071d
98f23071d Merge pull request #260 from TerryHowe/update-csi-driver-version
e9d8712d0 Merge pull request #259 from stmcginnis/deprecated-kind-kube-root
faf79ff66 Remove --kube-root deprecated kind argument
734c2b950 Merge pull request #265 from Rakshith-R/consider-main-branch
f95c855be Merge pull request #262 from huww98/golang-toolchain
3c8d966fe Treat main branch as equivalent to master branch
e31de525b Merge pull request #261 from huww98/golang
fd153a9e2 Bump golang to 1.23.1
a8b3d0504 pull-test.sh: fix "git subtree pull" errors
6b05f0fcc use new GOTOOLCHAIN env to manage go version
18b6ac6d2 chore: update CSI driver version to 1.15

git-subtree-dir: release-tools
git-subtree-split: 98f23071d946dd3de3188a7e1f84679067003162
2024-12-10 07:29:48 +00:00
andyzhangx 119d55c324 Merge commit '2ae52b4ea3e13b5965765e71a78b69a45f9cf813' into upgrade-release-tools 2024-12-10 07:29:48 +00:00
Andy Zhang b223fda4a6
Merge pull request #881 from andyzhangx/expand-vol
feat: add volume resize support
2024-12-08 20:54:26 +08:00
andyzhangx de81f370f3 feat: add volume resize support
fix

fix

fix
2024-12-08 09:36:13 +00:00
Kubernetes Prow Robot c5f0687e3a
Merge pull request #874 from Phaow/e2e
test: add read-only subdir e2e test
2024-11-30 01:24:57 +00:00
Penghao c127ba99c1 test: add read-only subdir e2e test 2024-11-29 15:06:24 +08:00
Kubernetes Prow Robot ccb8ff6618
Merge pull request #873 from kubernetes-csi/dependabot/go_modules/k8s.io/klog/v2-2.130.1
chore(deps): bump k8s.io/klog/v2 from 2.110.1 to 2.130.1
2024-11-29 05:06:57 +00:00
dependabot[bot] d47bd7878e
chore(deps): bump k8s.io/klog/v2 from 2.110.1 to 2.130.1
Bumps [k8s.io/klog/v2](https://github.com/kubernetes/klog) from 2.110.1 to 2.130.1.
- [Release notes](https://github.com/kubernetes/klog/releases)
- [Changelog](https://github.com/kubernetes/klog/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes/klog/compare/v2.110.1...v2.130.1)

---
updated-dependencies:
- dependency-name: k8s.io/klog/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-29 02:23:05 +00:00
Kubernetes Prow Robot e5c179858f
Merge pull request #870 from MartinForReal/patch-1
Chores:remove group update rule
2024-11-27 06:10:57 +00:00
Fan Shang Xiang e231bf42f3
remove group update rule 2024-11-27 13:57:45 +08:00
Andy Zhang 25fb5eca30
Merge pull request #867 from andyzhangx/remove-livenessProbe
cleanup: remove unused livenessProbe in registrar container
2024-11-26 09:58:51 +08:00
andyzhangx 057048eeef cleanup: remove unused livenessProble in registrar container 2024-11-25 13:46:23 +00:00
Andy Zhang d403265786
Merge pull request #864 from andyzhangx/update-dependabot
chore: update dependabot
2024-11-23 11:47:55 +08:00
andyzhangx 4285be0062 chore: update dependabot 2024-11-23 03:31:55 +00:00
Andy Zhang fd195fedf2
Merge pull request #863 from andyzhangx/upgrade-csi-spec
chore: update CSI spec to v1.10.0
2024-11-23 09:41:12 +08:00
andyzhangx 1715f7ed55 chore: fix govet 2024-11-22 14:17:29 +00:00
andyzhangx 24cd1f1305 chore: update CSI spec to v1.10.0 2024-11-22 14:11:21 +00:00
Kubernetes Prow Robot 3d4721a629
Merge pull request #862 from umagnus/use_util_wait_func
fix: mount stuck issue
2024-11-14 12:27:14 +00:00
umagnus 4ac586c086 use util wait func 2024-11-14 09:06:04 +00:00
Andy Zhang c1087f1cc6
Merge pull request #860 from andyzhangx/fix-trivy2
test: fix trivy action
2024-11-07 22:11:25 +08:00
andyzhangx 9efec696f0 test: fix trivy action 2024-11-07 14:00:33 +00:00
Andy Zhang c8b60b11e2
Merge pull request #858 from andyzhangx/add-CriticalAddonsOnly-toleration
fix: add CriticalAddonsOnly toleration into controller pod
2024-10-21 09:17:13 +08:00
andyzhangx 4e1642c687 fix: add CriticalAddonsOnly toleration into controller pod 2024-10-20 11:50:48 +00:00
Andy Zhang 589c324208
Merge pull request #857 from andyzhangx/go-guild-1.22.5
fix: build with go 1.22.5 to fix golang CVE
2024-10-20 11:50:51 +08:00
andyzhangx c716b8c04f Squashed 'release-tools/' changes from f40f0ccd4..227577e00
227577e00 Merge pull request #258 from gnufied/enable-race-detection
e1ceee287 Always enable race detection while running tests
988496a1f Merge pull request #257 from jakobmoellerdev/csi-prow-sidecar-e2e-path
028f8c698 chore: bump to Go 1.22.5
69bd71e8a chore: add CSI_PROW_SIDECAR_E2E_PATH

git-subtree-dir: release-tools
git-subtree-split: 227577e00e93c3db4e732df1a71e37676fa33bfd
2024-10-20 01:17:53 +00:00
andyzhangx c7b22dee50 Merge commit 'c716b8c04fb1dad3c75e7ebdf3bf989a34e6a30f' into go-guild-1.22.5 2024-10-20 01:17:53 +00:00
Kubernetes Prow Robot 6642f045a5
Merge pull request #848 from mpatlasov/Fix-fsGroup-behavior
fix: mount options for fsGroup delegation must ensure RWX for the group
2024-10-19 04:47:03 +01:00
Maxim Patlasov 93acf41892 Add unit-tests for NodeStageVolume() helpers 2024-10-17 14:41:04 +02:00
Maxim Patlasov 31dedc6be8 Add more unit-tests for NodeStageVolume() 2024-10-16 15:00:40 +02:00
Maxim Patlasov 932c718f65 fix: mount options for fsGroup delegation must ensure RWX for the group
If user sets `fsGroup: <gid>` in Pod's spec.securityContext, kubelet delegate fsGroup to CSI Driver, and NodeStageVolume() adds `gid=<gid>` to mount options. This might be not enough to make volume writable for the user:
```
$ kubectl exec fedora -- ls -ld /mnt/claim
drwxr-xr-x. 2 root 1002 0 Sep 13 12:04 /mnt/claim
$ kubectl exec fedora -- touch /mnt/claim/FILE
touch: cannot touch '/mnt/claim/FILE': Permission denied
```
See https://github.com/kubernetes-csi/csi-driver-smb/issues/835
2024-10-16 13:31:26 +02:00
Andy Zhang 47c20a6818
Update README.md 2024-10-13 09:10:09 +08:00
Kubernetes Prow Robot b75140b2a9
Merge pull request #854 from Phaow/hotfix
test: use env var for enable driver install in e2e
2024-10-01 04:15:49 +01:00
Penghao 91bcb2b655 test: use env var for enable driver install in e2e 2024-09-30 17:02:09 +08:00
Andy Zhang 68c09adaed
Merge pull request #851 from andyzhangx/fix-delete-volume-permission
fix: delete volume failure due to permission issue
2024-09-17 09:08:30 +08:00
andyzhangx 04ffb7dc32 fix: delete volume failure due to permission issue 2024-09-16 14:58:04 +00:00
Andy Zhang 902fe907ca
Merge pull request #850 from andyzhangx/remove-parent-dir
fix: remove parent dir in DeleteVolume
2024-09-15 23:03:34 +08:00
andyzhangx b6ded244a1 test: change one e2e test 2024-09-15 04:15:12 +00:00
andyzhangx 942e91911a fix: remove parent dir in DeleteVolume 2024-09-15 03:20:17 +00:00
Andy Zhang 679857c79d
Merge pull request #849 from andyzhangx/upgrade-sidecar-images4
chore: upgrade sidecar image versions
2024-09-15 10:21:23 +08:00
andyzhangx d21e3e0756 chore: upgrade sidecar image versions 2024-09-14 13:28:59 +00:00
Andy Zhang 85ec917e88
Merge pull request #847 from andyzhangx/fix-test-error
test: fix random ut failure
2024-09-13 16:09:44 +08:00
andyzhangx b87d98f88a test: fix ut failure 2024-09-13 07:45:46 +00:00
Andy Zhang f184d4d2ba
Merge pull request #843 from andyzhangx/mount-with-0777
fix: mount with 0777 in volume creation and deletion
2024-09-13 10:07:00 +08:00
andyzhangx e2db88a083 test: fix trivy build error 2024-09-08 08:09:59 +00:00
andyzhangx ff8a41dc5d fix: mount with 0777 in volume creation and deletion 2024-09-08 08:02:09 +00:00
Kubernetes Prow Robot 3f54a44b74
Merge pull request #842 from Zhupku/mengzezhu/upgrade-golint-version
chore: upgrade golint version
2024-09-06 08:06:08 +01:00
mengze zhu fe1fb2f0c5 chore: upgrade golint version 2024-09-06 05:44:13 +00:00
Kubernetes Prow Robot e110f3d19c
Merge pull request #840 from mpatlasov/Chmod-volume-before-deletion
fix: chmod volume dir before deletion
2024-09-05 03:37:47 +01:00
Maxim Patlasov 894bd02798 fix: chmod volume dir before deletion
os.RemoveAll() fails if at least one subdir doesn't have write permissions.
See https://github.com/kubernetes-csi/csi-driver-smb/issues/834.
2024-09-04 18:14:43 +02:00
Kubernetes Prow Robot d4481b173e
Merge pull request #839 from kubernetes-csi/dependabot/docker/cmd/smbplugin/build-image/debian-base-bookworm-v1.0.4
chore(deps): bump build-image/debian-base from bookworm-v1.0.3 to bookworm-v1.0.4 in /cmd/smbplugin
2024-09-04 05:03:49 +01:00
dependabot[bot] 197ae7eacf
chore(deps): bump build-image/debian-base in /cmd/smbplugin
Bumps build-image/debian-base from bookworm-v1.0.3 to bookworm-v1.0.4.

---
updated-dependencies:
- dependency-name: build-image/debian-base
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-04 02:10:44 +00:00
Andy Zhang 7a1545ed9d
Merge pull request #836 from andyzhangx/cut-v1.16.0
doc: cut v1.16.0 release
2024-09-03 21:09:43 +08:00
andyzhangx 6d445b0a1d doc: use latest version for master branch 2024-09-01 13:40:20 +00:00
andyzhangx 35d5601d06 doc: cut v1.16.0 release 2024-09-01 13:39:41 +00:00
Andy Zhang 54c6421b9b
Merge pull request #831 from andyzhangx/fix-delete-error-archived
fix: delete volume error in archive deletion mode
2024-09-01 17:01:00 +08:00
andyzhangx 0cd70c4b0c fix: add lock in CreateVolume to avoid race condition 2024-08-30 14:38:28 +00:00
Andy Zhang b56ca0cab4
Merge pull request #833 from andyzhangx/add-support-doc
doc: add support doc
2024-08-30 18:16:55 +08:00
andyzhangx 526c594442 doc: add support doc 2024-08-30 09:52:40 +00:00
Andy Zhang 8f691f1d32
Merge pull request #832 from andyzhangx/skip-win-test
test: skip one flacky windows test
2024-08-30 09:34:06 +08:00
andyzhangx 3951f796ba test: skip one flacky windows test 2024-08-29 11:55:22 +00:00
andyzhangx f8acafdbee fix: delete volume error in archive deletion mode 2024-08-29 10:03:53 +00:00
Andy Zhang 4d10e97800
Merge pull request #829 from andyzhangx/upgrade-csi-provisioner-v5.0.2
fix: upgrade csi-provisioner to v5.0.2 on v1.15.0 chart
2024-08-29 14:36:55 +08:00
andyzhangx 243f36f29e fix: upgrade csi-provisioner to v5.0.2 2024-08-28 11:31:26 +00:00
Andy Zhang 662c7f07b6
Merge pull request #827 from andyzhangx/mount-utils-enodev
fix: bump mount-utils to treat ENODEV error as corrupted mount
2024-08-18 14:20:15 +08:00
andyzhangx 0cc253438c fix: bump mount-utils to treat ENODEV error as corrupted mount 2024-08-18 03:35:02 +00:00
Andy Zhang 2356170551
Merge pull request #826 from andyzhangx/use-onetag-e2e-test
cleanup: use one image tag in e2e test
2024-08-17 14:45:44 +08:00
Andy Zhang c4994de662
Merge pull request #816 from andyzhangx/upgrade-golang-xnet
chore: upgrade golang.org/x/net
2024-08-17 11:42:47 +08:00
andyzhangx a069f6a9d8 cleanup: use one image tag in e2e test 2024-08-16 14:36:33 +00:00
Andy Zhang bd4f8a1631
Merge pull request #825 from andyzhangx/fix-2022-test-failure
test: fix windows 2022 test failure
2024-08-16 22:09:32 +08:00
andyzhangx 8c49d79f99 test: fix windows 2022 test failure 2024-08-16 09:37:51 +00:00
Andy Zhang 68fed09ebc
Merge pull request #822 from andyzhangx/test-win-failure
test: fix windows test failure2
2024-08-15 14:45:33 +08:00
andyzhangx a56152caa1 fix: add OSVersion arg in Dockerfile.Windows to fix windows 2022 test failure 2024-08-14 14:20:55 +00:00
andyzhangx 7b0d59c6e4 test: avoid using same digest id in windows image build 2024-08-14 13:03:39 +00:00
andyzhangx 23c40ca5c2 test: get smb server external ip
fix

fix

fix

fix

fix
2024-08-14 10:57:49 +00:00
andyzhangx ac10d9ecc2 test: print service logs
fix
2024-08-14 10:57:48 +00:00
Andy Zhang d61b38568e
Merge pull request #824 from andyzhangx/csi-provisioner-5.0.2
fix: upgrade csi-provisioner to v5.0.2 to fix pv deletion stuck issue
2024-08-13 23:39:22 +08:00
andyzhangx 7ace4f0533 fix: upgrade csi-provisioner to v5.0.2 to fix pv deletion stuck issue 2024-08-13 14:41:23 +00:00
Andy Zhang 3f38fbea2c
Merge pull request #820 from andyzhangx/fix-win-test-failure
test: fix windows e2e test failure
2024-08-13 11:50:07 +08:00
andyzhangx f4a36339f7 test: add docker push in e2e test
fix

fix
2024-08-13 01:22:44 +00:00
andyzhangx b0f343fe42 test: fix windows e2e test failure 2024-08-12 12:11:21 +00:00
Andy Zhang 93899d0cc2
Merge pull request #819 from andyzhangx/fix-external-test-failure
test: fix external test failure
2024-08-10 14:55:50 +08:00
andyzhangx 19f107b3e4 test: fix external test failure 2024-08-10 05:27:07 +00:00
Andy Zhang fab3ee06fe
Merge pull request #817 from andyzhangx/fix-e2e-test
test: add default namespace in examples to fix e2e test failure
2024-08-10 11:24:30 +08:00
andyzhangx 3c9e492b25 test: fix windows e2e test failure in image build 2024-08-10 01:22:36 +00:00
andyzhangx 3c1f41baad test: fix prow detection in tests
fix
2024-08-09 12:00:01 +00:00
andyzhangx 87f3ab7ead test: add default namespace in examples to fix e2e test failure 2024-08-09 09:54:01 +00:00
andyzhangx 11b7413051 chore: upgrade golang.org/x/net 2024-08-09 09:22:24 +00:00
Andy Zhang 4e0d9bae56
Merge pull request #815 from pas-n/fix-node-kerberos-cache-volume-name
fix: node kerberos cache volume name
2024-08-07 13:53:26 +08:00
Pascal Neub 04383f657b fix: node kerberos cache volume name
Using the linux.krb5CacheDirectory helm option doesn't work due to an invalid volume name:

spec.volumes[0].name: Invalid value: "krb5Cache-dir": a lowercase RFC 1123 label must consist of lower case alphanumeric characters or '-',
and must start and end with an alphanumeric character (e.g. 'my-name',  or '123-abc', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?')
2024-08-05 16:46:56 +02:00
Andy Zhang 6f27d54c38
Merge pull request #813 from andyzhangx/add-pv-patch-permission
fix: add pv patch permission with HonorPVReclaimPolicy enabled
2024-07-29 21:58:40 +08:00
andyzhangx 362a8a586c fix: add pv patch permission with HonorPVReclaimPolicy enabled
fix

fix
2024-07-29 09:16:30 +00:00
Andy Zhang e30c443501
chore: update version in Makefile on master branch 2024-07-29 11:56:11 +08:00
Andy Zhang f15c615386
Merge pull request #812 from andyzhangx/fix-tmp-mount-permission
fix: tmp path mount permission issue
2024-07-23 22:46:50 +08:00
andyzhangx 60ccb9ecfa fix: tmp path mount permission issue 2024-07-23 13:55:44 +00:00
Andy Zhang ff42058b7f
Merge pull request #811 from andyzhangx/fix-tmp-path-mount-issue2
fix: unmount detection failure
2024-07-23 20:39:03 +08:00
andyzhangx 5051551868 fix: unmount detection failure 2024-07-23 07:47:19 +00:00
Andy Zhang 77cc223757
Merge pull request #808 from andyzhangx/revert-1.14.0-chart-change
fix: revert v1.14.0 chart change
2024-07-21 21:56:32 +08:00
andyzhangx f7b86434f3 fix: revert v1.14.0 chart change 2024-07-21 12:26:57 +00:00
Andy Zhang 45c46b38f1
Merge pull request #806 from andyzhangx/CVE-2024-5321
fix: CVE-2024-5321
2024-07-19 22:55:28 +08:00
andyzhangx 9313bc8c61 fix: CVE-2024-5321 2024-07-19 12:51:52 +00:00
Andy Zhang ea7b1752f8
Merge pull request #803 from andyzhangx/cut-v1.15.0-2
doc: cut v1.15.0 release
2024-07-18 20:15:19 +08:00
andyzhangx c3e36cc653 test: fix windows test failure 2024-07-18 08:12:19 +00:00
andyzhangx 308d3263bc doc: use latest version for master branch 2024-07-18 07:01:39 +00:00
andyzhangx c4099a21c6 doc: cut v1.15.0 release 2024-07-18 07:01:03 +00:00
Kubernetes Prow Robot 6b93d12d2a
Merge pull request #797 from amarkevich/image_repository
make image.*.repository variables relative by default
2024-07-17 23:46:40 -07:00
Alexey Markevich d581d0acdc make image.*.repository variables relative by default
image.baseRepo can be used to specify the registry once
2024-07-18 06:03:25 +00:00
Andy Zhang 2ac717a2bc
Merge pull request #796 from andyzhangx/upgrade-sidecar-images3
chore: upgrade sidecar image versions
2024-07-18 09:07:26 +08:00
andyzhangx ebb303caa5 test: disable HonorPVReclaimPolicy due to k8s PR #125767 2024-07-17 13:02:09 +00:00
andyzhangx a4165aec8a chore: upgrade sidecar image versions
fix
2024-07-17 08:10:36 +00:00
Andy Zhang 6f8be9b978
Merge pull request #802 from andyzhangx/PRISMA-2022-0227
fix: PRISMA-2022-0227
2024-07-12 22:39:12 +08:00
andyzhangx d2d9171427 fix: PRISMA-2022-0227 2024-07-12 12:15:44 +00:00
Andy Zhang 8851b25b9d
Merge pull request #799 from andyzhangx/GHSA-xr7q-jx4m-x55m
fix: GHSA-xr7q-jx4m-x55m
2024-07-11 13:09:34 +08:00
andyzhangx 75243e7a1d fix: GHSA-xr7q-jx4m-x55m 2024-07-11 02:22:53 +00:00
Andy Zhang 0c4dfe94f2
Update README.md 2024-07-10 10:07:36 +08:00
Andy Zhang 999ac2b1e3
Merge pull request #798 from andyzhangx/trivy-goversion
test: fix trivy action failure
2024-07-06 23:29:29 +08:00
andyzhangx 65531426fd test: fix trivy action failure 2024-07-06 14:30:29 +00:00
Andy Zhang e7767aeaa8
fix: workaround windows 1809 base image build failure 2024-06-23 11:48:15 +08:00
Andy Zhang 304c00ff5d
fix: revert back to use servercore:1809 base image 2024-06-23 11:08:47 +08:00
Kubernetes Prow Robot aba2761012
Merge pull request #794 from umagnus/node-security-context
fix: shield guard issue on csi node
2024-06-20 19:37:58 -07:00
umagnus bc431bbc5d fix shield guard on csi node 2024-06-20 08:45:49 +00:00
Kubernetes Prow Robot 943001abab
Merge pull request #790 from umagnus/security-context
fix: shield guard issues
2024-06-16 22:58:47 -07:00
umagnus d2ea6da1ec Fix shield guard issues for KSM 2024-06-17 03:29:18 +00:00
Andy Zhang 9fd05f74f9
Merge pull request #791 from andyzhangx/go1.22
chore: use go 1.22 in go.mod
2024-06-15 21:21:51 +08:00
andyzhangx 0ce9add98a chore: use go 1.22 in go.mod 2024-06-15 02:32:34 +00:00
Andy Zhang ee65b1c3ec
Merge pull request #789 from andyzhangx/fix-spelling
chore: update release-tools to fix spelling error
2024-06-05 22:53:14 +08:00
andyzhangx 229efea1af test: fix stdlib error in trivy gh action 2024-06-05 13:31:03 +00:00
andyzhangx 3a89671ea4 Squashed 'release-tools/' changes from b54c1ba49..f40f0ccd4
f40f0ccd4 Merge pull request #256 from solumath/master
cfa92106c Instruction update
379a1bb9b Merge pull request #255 from humblec/sidecar-md
a5667bbbb fix typo in sidecar release process
49676850e Merge pull request #254 from bells17/add-github-actions
d9bd160c2 Update skip list in codespell GitHub Action
adb3af9df Merge pull request #252 from bells17/update-go-version
f5aebfc9f Add GitHub Actions workflows
b82ee3888 Merge pull request #253 from bells17/fix-typo
c31745621 Fix typo
0a7850561 Bump to Go 1.22.3
edd89ad58 Merge pull request #251 from jsafrane/add-logcheck
043fd0991 Add test-logcheck target
d7535ae0c Merge pull request #250 from jsafrane/go-1.22
b52e7ad35 Update go to 1.22.2
14fdb6f66 Merge pull request #247 from msau42/prow
dc4d0ae20 Merge pull request #249 from jsafrane/use-go-version
e681b170e Use .go-version to get Kubernetes go version
9b4352e9f Update release playbook
c7bb972cc Fix release notes script to use fixed tags
463a0e9f5 Add script to update specific go modules

git-subtree-dir: release-tools
git-subtree-split: f40f0ccd458f2d4555e3ca98d69b5a984bae0f14
2024-06-05 13:26:22 +00:00
andyzhangx f3f303813e Merge commit '3a89671ea4c3f4e44c4085a3dd8b990ed452167e' into fix-spelling 2024-06-05 13:26:22 +00:00
Andy Zhang 01ce25f674
Merge pull request #788 from RedBlackThunder/patch-1
Update index.yaml - remove 1.15.0 from index.yaml
2024-06-05 13:45:47 +08:00
Florian Frank 7c1075ffa5
Update index.yaml
Remove 0.15.0 from index.yaml too.
2024-05-25 01:13:09 +02:00
Andy Zhang d664482f1e
Merge pull request #781 from mpatlasov/Remove-excessive-recursive-variable-expansions
fix: Remove excessive recursive variable expansions
2024-05-24 17:20:29 +08:00
Andy Zhang 3d1f63af01
Merge pull request #787 from andyzhangx/remove-1.15-chart
cleanup: remove v1.15.0 release since windows image build is broken
2024-05-24 09:25:07 +08:00
Maxim Patlasov b022182770 fix: Remove excessive recursive variable expansions
Modern GNU make (version >= 4.4) has backward-incompatibile feature:

> * WARNING: Backward-incompatibility!
>  Previously makefile variables marked as export were not exported to commands
>  started by the $(shell ...) function.  Now, all exported variables are
>  exported to $(shell ...).  If this leads to recursion during expansion, then
>  for backward-compatibility the value from the original environment is used.

This makes any invocation of `make` command very costly. Compare the performance of make 4.3 vs. 4.4:
```
$ time ~/Sources/make-4.3/make smb ARCH=$(go env GOARCH)
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -ldflags "-X github.com/kubernetes-csi/csi-driver-smb/pkg/smb.driverVersion=v1.15.0 -X github.com/kubernetes-csi/csi-driver-smb/pkg/smb.gitCommit=f5ced814f628ddee2c9f3e6af505c5a6123e50f4 -X github.com/kubernetes-csi/csi-driver-smb/pkg/smb.buildDate=2024-05-15T00:00:09Z -s -w -extldflags "-static"" -mod vendor -o _output/amd64/smbplugin ./cmd/smbplugin

real	0m38.504s
user	3m50.580s
sys	0m23.502s

$ time ~/Sources/make-4.4/make smb ARCH=$(go env GOARCH)
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -ldflags "-X github.com/kubernetes-csi/csi-driver-smb/pkg/smb.driverVersion=v1.15.0 -X github.com/kubernetes-csi/csi-driver-smb/pkg/smb.gitCommit=f5ced814f628ddee2c9f3e6af505c5a6123e50f4 -X github.com/kubernetes-csi/csi-driver-smb/pkg/smb.buildDate=2024-05-15T00:04:04Z -s -w -extldflags "-static"" -mod vendor -o _output/amd64/smbplugin ./cmd/smbplugin

real	16m59.851s
user	13m16.490s
sys	13m46.418s
```

The same variables are evaluated again and again millions times:
```
$ rpm -qf /usr/bin/make
make-4.4.1-6.fc40.x86_64

$ /usr/bin/make -d smb ARCH=$(go env GOARCH) 2>&1 |grep "not recursively expanding.*to export to shell function" |wc -l
2171342
```

The patch doesn't change user-visible behavior of Makefile, but makes `make` command as performant as it used to be in case of make 4.3.
2024-05-23 15:49:25 -07:00
andyzhangx fc1f456066 cleanup: remove v1.15.0 release since windows image build is broken 2024-05-23 14:24:13 +00:00
Andy Zhang f657ec79cd
Merge pull request #785 from andyzhangx/fix-win1809-build-failure
fix: windows image 1809 build failure
2024-05-23 09:26:39 +08:00
andyzhangx 678b2c13d1 fix: windows image 1809 build failure 2024-05-22 15:38:13 +00:00
Andy Zhang e85c5e7d66
Merge pull request #778 from andyzhangx/cut-v1.15.0
doc: cut v1.15.0 release
2024-05-22 20:57:25 +08:00
andyzhangx 559229f399 doc: use latest version for master branch 2024-05-14 06:14:38 +00:00
andyzhangx 68781dafdb doc: cut v1.15.0 release 2024-05-14 06:14:38 +00:00
Andy Zhang ce19947ade
Merge pull request #780 from kubernetes-csi/dependabot/docker/cmd/smbplugin/build-image/debian-base-bookworm-v1.0.3
chore(deps): bump build-image/debian-base from bookworm-v1.0.2 to bookworm-v1.0.3 in /cmd/smbplugin
2024-05-14 14:12:35 +08:00
dependabot[bot] 9763e7be5c
chore(deps): bump build-image/debian-base in /cmd/smbplugin
Bumps build-image/debian-base from bookworm-v1.0.2 to bookworm-v1.0.3.

---
updated-dependencies:
- dependency-name: build-image/debian-base
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 02:35:34 +00:00
Andy Zhang f5ced814f6
Merge pull request #779 from Phaow/e2e-fix
test: fix storageclass uncleaned
2024-05-11 20:33:34 +08:00
Penghao 43c9efdbd4 test: fix storageclass uncleaned 2024-05-11 16:28:11 +08:00
Andy Zhang 876f977bf9
Merge pull request #777 from mpatlasov/Remove-stale-archived-volume-copy-before-Rename
fix: Remove stale archived volume copy before Rename
2024-05-10 21:01:57 +08:00
Maxim Patlasov 2ccfaa0b08 Remove stale archived volume copy before Rename
The user might put non-unique spec for subdir:
```
subDir: ${pvc.metadata.namespace}/${pvc.metadata.name}
```
Then, `os.Rename(internalVolumePath, archivedInternalVolumePath)` can fail becaue the destination (`archivedInternalVolumePath`) already exists. It's safer to remove it before `os.Rename()`.
2024-05-09 17:23:10 -07:00
Andy Zhang fbeb46368f
Merge pull request #776 from andyzhangx/fix-sdlib
test: fix stdlib CVE due to golang v1.22.2
2024-05-09 13:11:39 +08:00
andyzhangx ce379bf5e4 test: fix stdlib CVE due to golang v1.22.2 2024-05-09 05:04:14 +00:00
Andy Zhang 6f732800f5
Merge pull request #773 from Phaow/e2e
test: use env var for smb server configuration
2024-05-08 12:41:58 +08:00
Andy Zhang 3f16f0be43
Merge pull request #774 from kubernetes-csi/dependabot/github_actions/golangci/golangci-lint-action-6
chore(deps): bump golangci/golangci-lint-action from 5 to 6
2024-05-07 18:30:31 +08:00
dependabot[bot] efe7cd0128
chore(deps): bump golangci/golangci-lint-action from 5 to 6
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 5 to 6.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-07 02:25:19 +00:00
Penghao 6e93edeb6b test: use env var for smb server configuration 2024-05-07 08:42:23 +08:00
Andy Zhang aad97a2193
Merge pull request #770 from kubernetes-csi/dependabot/github_actions/golangci/golangci-lint-action-5
chore(deps): bump golangci/golangci-lint-action from 4 to 5
2024-04-25 20:55:50 +08:00
Andy Zhang 5b41e1f3d6
Merge pull request #771 from andyzhangx/CVE-2023-45288
fix: CVE-2023-45288, CVE-2024-3177
2024-04-25 20:55:38 +08:00
andyzhangx 39af3c536c test: ignore incorrect CVE report error 2024-04-25 10:55:57 +00:00
andyzhangx 53c8cb0985 fix: CVE-2024-3177 2024-04-25 10:32:23 +00:00
andyzhangx b0fb4f21f9 fix: CVE-2023-45288 2024-04-25 10:26:50 +00:00
dependabot[bot] 22590f02fc
chore(deps): bump golangci/golangci-lint-action from 4 to 5
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 4 to 5.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-25 02:34:12 +00:00
Andy Zhang 88bee0bdca
Merge pull request #769 from andyzhangx/http-endpoint-v1.14.0-fix
fix: incorrect http endpoint port num in v1.14.0
2024-04-10 15:10:32 +08:00
andyzhangx ba2ddab0a3 fix: incorrect http endpoint port num in v1.14.0 2024-04-10 06:59:09 +00:00
Andy Zhang 0e77d5e0be
Merge pull request #768 from andyzhangx/revert-win-http-endpoint
fix: revert http-endpoint change on windows daemonset
2024-04-09 20:43:55 +08:00
andyzhangx 115d385fb3 fix: revert http-endpoint change on windows daemonset 2024-04-09 11:13:21 +00:00
Andy Zhang d7d14f1abb
Merge pull request #766 from andyzhangx/http-endpoint
feat: use new restricted liveness probe endpoint
2024-04-02 15:08:31 +08:00
andyzhangx 7f378bb922 feat: use new restricted liveness probe endpoint on kubectl install 2024-04-01 03:47:39 +00:00
andyzhangx 718a3e0fe9 feat: use new restricted liveness probe endpoint 2024-04-01 03:36:57 +00:00
Kubernetes Prow Robot 9d3d2676e2
Merge pull request #765 from kubernetes-csi/dependabot/docker/cmd/smbplugin/build-image/debian-base-bookworm-v1.0.2
chore(deps): bump build-image/debian-base from bookworm-v1.0.1 to bookworm-v1.0.2 in /cmd/smbplugin
2024-03-28 20:44:11 -07:00
dependabot[bot] 455ba589d4
chore(deps): bump build-image/debian-base in /cmd/smbplugin
Bumps build-image/debian-base from bookworm-v1.0.1 to bookworm-v1.0.2.

---
updated-dependencies:
- dependency-name: build-image/debian-base
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-29 02:59:32 +00:00
Kubernetes Prow Robot 1591b338f8
Merge pull request #764 from kubernetes-csi/dependabot/go_modules/k8s.io/pod-security-admission-0.28.8
chore(deps): bump k8s.io/pod-security-admission from 0.28.7 to 0.28.8
2024-03-26 05:25:21 -07:00
dependabot[bot] 11c9d9ab3f
chore(deps): bump k8s.io/pod-security-admission from 0.28.7 to 0.28.8
Bumps [k8s.io/pod-security-admission](https://github.com/kubernetes/pod-security-admission) from 0.28.7 to 0.28.8.
- [Commits](https://github.com/kubernetes/pod-security-admission/compare/v0.28.7...v0.28.8)

---
updated-dependencies:
- dependency-name: k8s.io/pod-security-admission
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-26 02:06:33 +00:00
Kubernetes Prow Robot f358d34e08
Merge pull request #763 from kubernetes-csi/dependabot/go_modules/k8s.io/client-go-0.28.8
chore(deps): bump k8s.io/client-go from 0.28.7 to 0.28.8
2024-03-24 23:55:51 -07:00
dependabot[bot] 2a9061c102
chore(deps): bump k8s.io/client-go from 0.28.7 to 0.28.8
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.28.7 to 0.28.8.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.28.7...v0.28.8)

---
updated-dependencies:
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 02:55:36 +00:00
Kubernetes Prow Robot 1aa5481696
Merge pull request #761 from kubernetes-csi/dependabot/go_modules/k8s.io/mount-utils-0.29.3
chore(deps): bump k8s.io/mount-utils from 0.29.2 to 0.29.3
2024-03-22 18:50:50 -07:00
dependabot[bot] 0a341a736b
chore(deps): bump k8s.io/mount-utils from 0.29.2 to 0.29.3
Bumps [k8s.io/mount-utils](https://github.com/kubernetes/mount-utils) from 0.29.2 to 0.29.3.
- [Commits](https://github.com/kubernetes/mount-utils/compare/v0.29.2...v0.29.3)

---
updated-dependencies:
- dependency-name: k8s.io/mount-utils
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 02:52:22 +00:00
Andy Zhang 16ac78df8d
Merge pull request #760 from andyzhangx/fix-kerberos-auth-doc
doc: fix kerberos auth doc
2024-03-14 10:03:42 +08:00
andyzhangx f68c6b6eb9 doc: fix kerberos auth doc 2024-03-13 15:07:24 +00:00
Kubernetes Prow Robot 27dbe70973
Merge pull request #759 from kubernetes-csi/dependabot/go_modules/github.com/golang/protobuf-1.5.4
chore(deps): bump github.com/golang/protobuf from 1.5.3 to 1.5.4
2024-03-07 17:56:45 -08:00
dependabot[bot] f2d70862b3
chore(deps): bump github.com/golang/protobuf from 1.5.3 to 1.5.4
Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.5.3...v1.5.4)

---
updated-dependencies:
- dependency-name: github.com/golang/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 02:57:16 +00:00
Andy Zhang 16d1b4f773
chore: update master branch build version 2024-02-23 22:05:28 +08:00
Kubernetes Prow Robot bfb8a9ef0d
Merge pull request #756 from kubernetes-csi/dependabot/go_modules/k8s.io/mount-utils-0.29.2
chore(deps): bump k8s.io/mount-utils from 0.29.1 to 0.29.2
2024-02-18 20:06:39 -08:00
dependabot[bot] fbfaab904a
chore(deps): bump k8s.io/mount-utils from 0.29.1 to 0.29.2
Bumps [k8s.io/mount-utils](https://github.com/kubernetes/mount-utils) from 0.29.1 to 0.29.2.
- [Commits](https://github.com/kubernetes/mount-utils/compare/v0.29.1...v0.29.2)

---
updated-dependencies:
- dependency-name: k8s.io/mount-utils
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-19 03:03:14 +00:00
Kubernetes Prow Robot e52bcdb4f5
Merge pull request #753 from kubernetes-csi/dependabot/go_modules/k8s.io/pod-security-admission-0.28.7
chore(deps): bump k8s.io/pod-security-admission from 0.28.6 to 0.28.7
2024-02-15 19:38:12 -08:00
dependabot[bot] d5404c37b7
chore(deps): bump k8s.io/pod-security-admission from 0.28.6 to 0.28.7
Bumps [k8s.io/pod-security-admission](https://github.com/kubernetes/pod-security-admission) from 0.28.6 to 0.28.7.
- [Commits](https://github.com/kubernetes/pod-security-admission/compare/v0.28.6...v0.28.7)

---
updated-dependencies:
- dependency-name: k8s.io/pod-security-admission
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-16 02:50:01 +00:00
Kubernetes Prow Robot 5ac18be58d
Merge pull request #752 from kubernetes-csi/dependabot/go_modules/k8s.io/component-base-0.28.7
chore(deps): bump k8s.io/component-base from 0.28.6 to 0.28.7
2024-02-14 22:30:57 -08:00
Andy Zhang cadb333265
Merge pull request #751 from andyzhangx/fix-goveralls
test: fix goveralls
2024-02-15 10:35:09 +08:00
andyzhangx 5887881d1d test: fix goveralls
fix

fix

fix

fix
2024-02-15 02:24:54 +00:00
dependabot[bot] 7ffe8228e2
chore(deps): bump k8s.io/component-base from 0.28.6 to 0.28.7
Bumps [k8s.io/component-base](https://github.com/kubernetes/component-base) from 0.28.6 to 0.28.7.
- [Commits](https://github.com/kubernetes/component-base/compare/v0.28.6...v0.28.7)

---
updated-dependencies:
- dependency-name: k8s.io/component-base
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-15 02:14:41 +00:00
Andy Zhang bf0e075c0f
Merge pull request #750 from andyzhangx/cleanup-integration-test
cleanup: remove integration test
2024-02-14 20:15:37 +08:00
andyzhangx 82eb6ad5a8 cleanup: remove integration test 2024-02-14 03:48:25 +00:00
Kubernetes Prow Robot 11db3963f1
Merge pull request #749 from kubernetes-csi/dependabot/github_actions/golangci/golangci-lint-action-4
chore(deps): bump golangci/golangci-lint-action from 3 to 4
2024-02-11 18:30:10 -08:00
dependabot[bot] 88226cbfea
chore(deps): bump golangci/golangci-lint-action from 3 to 4
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3 to 4.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-12 02:19:50 +00:00
Kubernetes Prow Robot 723b214789
Merge pull request #745 from moonek/v1.14.0-node-driver-registrar-image
fix: change node-driver-registrar image version to 2.10.0 (deploy/v1.14.0 manifests)
2024-02-09 21:20:33 -08:00
Andy Zhang 9b5461057b
Merge pull request #748 from andyzhangx/fix-win-gh-action
test: fix github action test failure
2024-02-10 12:20:30 +08:00
andyzhangx dd7e10b8cb test: fix test failure 2024-02-10 04:13:15 +00:00
andyzhangx 3b6b912725 test: fix github action test failure 2024-02-10 04:05:47 +00:00
Moonhyuk Choi 8457353399 change node-driver-registrar image version to 2.10.0 2024-02-08 08:05:00 +00:00
Andy Zhang aa3f6ab16f
Merge pull request #743 from andyzhangx/fix-archive-subdir
fix: delete volume failure in archive mode when subDir contains /
2024-02-07 21:53:27 +08:00
Andy Zhang 11053fa377
Merge pull request #744 from andyzhangx/add-artifacthub-repo
doc: add this repo to ArtifactHub
2024-02-06 22:20:54 +08:00
andyzhangx 4ab29d8892 doc: add artifacthub repo 2024-02-06 14:09:25 +00:00
andyzhangx aa5541dfb3 test: fix windows ut
fix
2024-02-06 14:00:19 +00:00
andyzhangx 47024f1d8e test: fix windows test failure 2024-02-05 13:36:29 +00:00
andyzhangx fc68c3871f test: remove integration test since it's deprecated 2024-02-05 08:46:50 +00:00
andyzhangx 6568fd54b1 fix: delete volume failure in archive mode when subDir contains / 2024-02-05 08:39:05 +00:00
Kubernetes Prow Robot a9666dc796
Merge pull request #742 from kubernetes-csi/dependabot/docker/cmd/smbplugin/build-image/debian-base-bookworm-v1.0.1
chore(deps): bump build-image/debian-base from bookworm-v1.0.0 to bookworm-v1.0.1 in /cmd/smbplugin
2024-01-29 06:38:25 -08:00
dependabot[bot] aded47e6db
chore(deps): bump build-image/debian-base in /cmd/smbplugin
Bumps build-image/debian-base from bookworm-v1.0.0 to bookworm-v1.0.1.

---
updated-dependencies:
- dependency-name: build-image/debian-base
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-29 02:43:10 +00:00
Andy Zhang 6c12ee768e
Merge pull request #741 from andyzhangx/fix-var-lib-kubelet-direct-usage-1.14
fix: incorrect kubelet path setting on v1.14 chart config
2024-01-25 22:03:22 +08:00
andyzhangx 9da7d0191f fix: incorrect kubelet path setting on v1.14 chart config 2024-01-25 13:49:56 +00:00
Kubernetes Prow Robot 7d7c2b1aaa
Merge pull request #739 from slaesh/fix-var-lib-kubelet-direct-usage
fix: do not use /var/lib/kubelet, use .Values.linux.kubelet instead
2024-01-25 08:18:26 +01:00
slaesh c31157ecb2 add packaged charts 2024-01-25 07:28:44 +01:00
Kubernetes Prow Robot a3e5921169
Merge pull request #740 from kubernetes-csi/dependabot/go_modules/k8s.io/pod-security-admission-0.28.6
chore(deps): bump k8s.io/pod-security-admission from 0.28.5 to 0.28.6
2024-01-25 04:28:33 +01:00
dependabot[bot] 7f7159b40f
chore(deps): bump k8s.io/pod-security-admission from 0.28.5 to 0.28.6
Bumps [k8s.io/pod-security-admission](https://github.com/kubernetes/pod-security-admission) from 0.28.5 to 0.28.6.
- [Commits](https://github.com/kubernetes/pod-security-admission/compare/v0.28.5...v0.28.6)

---
updated-dependencies:
- dependency-name: k8s.io/pod-security-admission
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-25 02:41:52 +00:00
slaesh d1f380eb94 fix: do not use /var/lib/kubelet directly, use .Values.linux.kubelet instead 2024-01-24 11:31:24 +01:00
Kubernetes Prow Robot b2cd37ef4b
Merge pull request #738 from kubernetes-csi/dependabot/go_modules/k8s.io/mount-utils-0.29.1
chore(deps): bump k8s.io/mount-utils from 0.29.0 to 0.29.1
2024-01-24 03:35:52 +01:00
dependabot[bot] b9ad4df444
chore(deps): bump k8s.io/mount-utils from 0.29.0 to 0.29.1
Bumps [k8s.io/mount-utils](https://github.com/kubernetes/mount-utils) from 0.29.0 to 0.29.1.
- [Commits](https://github.com/kubernetes/mount-utils/compare/v0.29.0...v0.29.1)

---
updated-dependencies:
- dependency-name: k8s.io/mount-utils
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-23 02:40:06 +00:00
Kubernetes Prow Robot 7a08c484c5
Merge pull request #736 from kubernetes-csi/dependabot/go_modules/k8s.io/component-base-0.28.6
chore(deps): bump k8s.io/component-base from 0.28.5 to 0.28.6
2024-01-22 08:58:05 +01:00
dependabot[bot] 2b27b4c9c0
chore(deps): bump k8s.io/component-base from 0.28.5 to 0.28.6
Bumps [k8s.io/component-base](https://github.com/kubernetes/component-base) from 0.28.5 to 0.28.6.
- [Commits](https://github.com/kubernetes/component-base/compare/v0.28.5...v0.28.6)

---
updated-dependencies:
- dependency-name: k8s.io/component-base
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 02:38:13 +00:00
Kubernetes Prow Robot 3c69ba3a6b
Merge pull request #734 from kubernetes-csi/dependabot/go_modules/k8s.io/client-go-0.28.6
chore(deps): bump k8s.io/client-go from 0.28.5 to 0.28.6
2024-01-20 03:30:38 +01:00
dependabot[bot] a5269c17cf
chore(deps): bump k8s.io/client-go from 0.28.5 to 0.28.6
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.28.5 to 0.28.6.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.28.5...v0.28.6)

---
updated-dependencies:
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-19 02:10:56 +00:00
Andy Zhang 212e350d8c
Merge pull request #729 from andyzhangx/upgrade-csi-sidecar-images
chore: upgrade sidecar image versions
2024-01-18 13:43:09 +08:00
Kubernetes Prow Robot 0d7f4bd9f6
Merge pull request #731 from kubernetes-csi/dependabot/go_modules/k8s.io/apimachinery-0.28.6
chore(deps): bump k8s.io/apimachinery from 0.28.5 to 0.28.6
2024-01-18 05:57:20 +01:00
dependabot[bot] 2a00d328b0
chore(deps): bump k8s.io/apimachinery from 0.28.5 to 0.28.6
Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.28.5 to 0.28.6.
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.28.5...v0.28.6)

---
updated-dependencies:
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 02:53:12 +00:00
andyzhangx d59b3dc18a chore: upgrade sidecar image versions 2024-01-17 13:17:19 +00:00
Andy Zhang 1aaea30ac9
Merge pull request #725 from andyzhangx/cut-v1.14.0
doc: cut v1.14.0 release
2024-01-17 11:04:18 +08:00
andyzhangx 6d95d705b5 doc: use latest version for master branch 2024-01-16 12:54:47 +00:00
andyzhangx 7f74465a85 doc: cut v1.14.0 release 2024-01-16 12:53:54 +00:00
Andy Zhang 3e458341d2
Merge pull request #722 from andyzhangx/achive
feat: support archiveOnDelete when DeleteVolume
2024-01-15 21:31:01 +08:00
andyzhangx 5a1745dccd feat: support archiveOnDelete
fix typo

fix golint

fix e2e test failure

fix

fix windows test failure
2024-01-15 11:01:02 +00:00
Andy Zhang d5dd4acb20
Merge pull request #720 from andyzhangx/reduce-mount-lock
fix: reduce mount lock to avoid volumeID collision issue
2023-12-27 23:06:51 +08:00
andyzhangx 0b81726a01 fix: reduce mount lock to avoid volumeID collision issue 2023-12-27 13:23:51 +00:00
Kubernetes Prow Robot 8a5fe81b63
Merge pull request #719 from kubernetes-csi/dependabot/go_modules/k8s.io/pod-security-admission-0.28.5
chore(deps): bump k8s.io/pod-security-admission from 0.28.4 to 0.28.5
2023-12-24 02:58:30 +01:00
dependabot[bot] e15c5897cb
chore(deps): bump k8s.io/pod-security-admission from 0.28.4 to 0.28.5
Bumps [k8s.io/pod-security-admission](https://github.com/kubernetes/pod-security-admission) from 0.28.4 to 0.28.5.
- [Commits](https://github.com/kubernetes/pod-security-admission/compare/v0.28.4...v0.28.5)

---
updated-dependencies:
- dependency-name: k8s.io/pod-security-admission
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-22 02:50:16 +00:00
Kubernetes Prow Robot 7f5b5708b4
Merge pull request #718 from kubernetes-csi/dependabot/go_modules/k8s.io/apimachinery-0.28.5
chore(deps): bump k8s.io/apimachinery from 0.28.4 to 0.28.5
2023-12-22 03:32:15 +01:00
dependabot[bot] 74c3d9d58a
chore(deps): bump k8s.io/apimachinery from 0.28.4 to 0.28.5
Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.28.4 to 0.28.5.
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.28.4...v0.28.5)

---
updated-dependencies:
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 02:23:59 +00:00
Andy Zhang 0f23fdb7d4
Merge pull request #717 from andyzhangx/CVE-2023-48795
fix: CVE-2023-48795
2023-12-19 18:36:13 +08:00
andyzhangx bbd71bb1d7 fix: CVE-2023-48795 2023-12-19 08:39:36 +00:00
Andy Zhang 9f00db1f90
Merge pull request #715 from andyzhangx/fix-kerberos-path
fix: customized kerberos path
2023-12-19 10:32:24 +08:00
andyzhangx 512f62a992 fix: customized kerberos path
fix
2023-12-18 12:48:11 +00:00
Andy Zhang c3b9e573f9
Merge pull request #714 from andyzhangx/kerberos-dir-fix
fix: krb5CacheDirectory mount path issue
2023-12-18 15:16:59 +08:00
andyzhangx 07808e4f5f fix: krb5CacheDirectory mount path issue
fix
2023-12-18 04:05:36 +00:00
Andy Zhang ea24799e05
Merge pull request #712 from andyzhangx/update_release-tools4
chore: Update release tools
2023-12-16 09:59:18 +08:00
andyzhangx 49827a30d2 Squashed 'release-tools/' changes from f8c8cc4c7..b54c1ba49
b54c1ba49 Merge pull request #246 from xing-yang/go_1.21
5436c81e9 Change go version to 1.21.5
267b40e97 Merge pull request #244 from carlory/sig-storage
b42e5a2de nominate self (carlory) as kubernetes-csi reviewer
a17f536fc Merge pull request #210 from sunnylovestiramisu/sidecar
011033de2 Use set -x instead of die
5deaf667c Add wrapper script for sidecar release

git-subtree-dir: release-tools
git-subtree-split: b54c1ba49469d4d5d1b5d75285e8868ffe3d328f
2023-12-16 01:07:49 +00:00
andyzhangx 4d1e93dde4 Merge commit '49827a30d220e44d44782379b1f0b3951eff7252' into update_release-tools4 2023-12-16 01:07:49 +00:00
Andy Zhang 7cd9d4aa5b
Merge pull request #711 from andyzhangx/fix-kubelet-path
fix: kubelet path in chart config
2023-12-15 23:21:14 +08:00
andyzhangx 6cedacb641 fix: kubelet path in chart config 2023-12-15 13:59:18 +00:00
Andy Zhang 4a84e51249
Merge pull request #709 from andyzhangx/customize-kerberos-settings
feat: customize kerberos settings
2023-12-15 19:04:52 +08:00
Andy Zhang 5275b2ad7b
Merge pull request #707 from andyzhangx/cleanup-gomod
cleanup: gomod
2023-12-14 22:48:05 +08:00
andyzhangx 2540e1878f feat: customize kerberos settings 2023-12-14 14:17:06 +00:00
Kubernetes Prow Robot f17220a7fd
Merge pull request #706 from kubernetes-csi/dependabot/github_actions/github/codeql-action-3
chore(deps): bump github/codeql-action from 2 to 3
2023-12-14 03:46:46 +01:00
andyzhangx 39d157a149 cleanup: gomod 2023-12-14 02:31:13 +00:00
dependabot[bot] 753fe611ae
chore(deps): bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-14 02:31:02 +00:00
Kubernetes Prow Robot 2bf2a18604
Merge pull request #704 from kubernetes-csi/dependabot/github_actions/actions/setup-go-5
chore(deps): bump actions/setup-go from 4 to 5
2023-12-07 03:25:58 +01:00
dependabot[bot] 3c1a33deec
chore(deps): bump actions/setup-go from 4 to 5
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 02:15:01 +00:00
Andy Zhang 7094724c17
Merge pull request #703 from andyzhangx/fix-capz-test-failure
test: fix capz test failure
2023-12-06 11:23:33 +08:00
andyzhangx dd480c0274 test: fix capz test failure 2023-12-06 01:49:47 +00:00
Andy Zhang 7d7dfd4689
Merge pull request #701 from andyzhangx/remove-quotes
doc: remove unnecessary quotes
2023-12-05 22:33:04 +08:00
Andy Zhang c1bbc6d350
Merge pull request #700 from andyzhangx/statfs-cache
fix: add VolumeStats cache to avoid massive statfs calls
2023-12-04 20:53:17 +08:00
andyzhangx fb803dd031 doc: remove unnecessary quotes 2023-12-04 08:08:07 +00:00
andyzhangx f1c7cde7c0 fix: add VolumeStats cache to avoid massive statfs calls
fix: add VolumeStats cache to avoid massive statfs calls

fix

fix

fix
2023-12-03 03:30:19 +00:00
Kubernetes Prow Robot 8f2aa142fb
Merge pull request #698 from umagnus/add_volume_cloning_doc
doc: add volume cloning doc
2023-11-30 04:58:49 +01:00
umagnus c1813fa8b1 add volume cloning doc 2023-11-29 06:41:48 +00:00
Andy Zhang 1baba7d4b8
Merge pull request #697 from andyzhangx/upgrade-k8s-1.28.4
chore: upgrade to k8s 1.28.4 lib
2023-11-29 10:53:51 +08:00
andyzhangx 58c8747e16 cleanup: go.mod
cleanup

cleanup

cleanup

cleanup

cleanup

cleanup

cleanup

fix

fix

fix

fix
2023-11-28 10:34:56 +00:00
andyzhangx 5acafcdf8c chore: upgrade to k8s 1.28.4 lib 2023-11-28 07:19:08 +00:00
Andy Zhang 151a1c9a2a
Merge pull request #696 from andyzhangx/fix-readonly-doc
doc: fix readOnly setting doc
2023-11-28 13:53:25 +08:00
andyzhangx 582749309f doc: fix readOnly setting doc
fix
2023-11-27 13:12:07 +00:00
Andy Zhang bbbb06106f
Merge pull request #695 from andyzhangx/update_release-tools2
[chore] Update release tools2
2023-11-27 21:06:51 +08:00
andyzhangx 396795ae30 Squashed 'release-tools/' changes from de2fba88b..f8c8cc4c7
f8c8cc4c7 Merge pull request #237 from msau42/prow
b36b5bfdc Merge pull request #240 from dannawang0221/upgrade-go-version
adfddcc9a Merge pull request #243 from pohly/git-subtree-pull-fix
c4650889d pull-test.sh: avoid "git subtree pull" error
7b175a1e2 Update csi-test version to v5.2.0
987c90ccd Update go version to 1.21 to match k/k
2c625d41d Add script to generate patch release notes
f9d5b9c05 Merge pull request #236 from mowangdk/feature/bump_csi-driver-host-path_version
b01fd5372 Bump csi-driver-host-path version up to v1.12.0
984feece4 Merge pull request #234 from siddhikhapare/csi-tools
1f7e60599 fixed broken links of testgrid dashboard

git-subtree-dir: release-tools
git-subtree-split: f8c8cc4c7414c11526f14649856ff8e6b8a4e67c
2023-11-27 02:07:10 +00:00
andyzhangx f6bd787608 Merge commit '396795ae307a6c2ce426c10ae996511e92209667' 2023-11-27 02:07:10 +00:00
Andy Zhang e5467c99e5
Merge pull request #694 from andyzhangx/fix-smb-IsCorruptedMnt
fix: stale smb unmount issue when smb file share is deleted
2023-11-24 10:24:05 +08:00
andyzhangx dfdd667f34 test: run linux test on Ubuntu 20.04 due to cifs install issue on 22.04 2023-11-22 03:32:43 +00:00
andyzhangx 4e5e40ee16 fix: stale smb unmount issue when smb file share is deleted 2023-11-22 03:09:16 +00:00
Andy Zhang 955c3dcaec
Merge pull request #692 from andyzhangx/CVE-2023-5528
fix: CVE-2023-5528
2023-11-20 19:02:33 +08:00
Kubernetes Prow Robot d3d9664f08
Merge pull request #691 from umagnus/upgrade_golangci_1.54
test: upgrade golangci/golangci-lint-action to v1.54
2023-11-20 12:01:14 +01:00
andyzhangx 234c7fcdb6 fix: CVE-2023-5528 2023-11-20 10:06:21 +00:00
umagnus 8abd7fffbd clean up parm in func 2023-11-20 09:09:56 +00:00
umagnus d7e985b193 upgrade golangci/golangci-lint-action to v1.54 2023-11-20 09:02:05 +00:00
Andy Zhang 505563e518
Merge pull request #685 from andyzhangx/upgrade-sidecar-versions4
chore: upgrade sidecar image versions
2023-11-10 19:16:00 +08:00
andyzhangx 2c04e63834 chore: upgrade sidecar image versions 2023-11-10 02:07:33 +00:00
Kubernetes Prow Robot 4877aaa8e1
Merge pull request #689 from fishgrimsby/update-bugreport-md
chore: update bug-report.md gcr to registry.k8s
2023-11-10 03:05:34 +01:00
fishgrimsby e71b56ac3f chore: update bug-report.md gcr to registry.k8s 2023-11-09 19:19:17 +00:00
Andy Zhang 41c3d8e4d8
chore: switch master branch version 2023-11-09 20:33:16 +08:00
Andy Zhang 3d6ed3da88
Merge pull request #686 from andyzhangx/cut-v1.13.0
doc: cut v1.13.0 release
2023-11-09 18:20:26 +08:00
andyzhangx 9a28bf8774 doc: use latest version for master branch 2023-11-09 08:04:20 +00:00
andyzhangx 11b2bb93e7 doc: cut v1.13.0 release 2023-11-09 08:03:49 +00:00
Andy Zhang 326f9b8c66
Merge pull request #684 from andyzhangx/baseimage-bookworm
feat: switch to bookworm debian base image
2023-11-06 11:11:02 +08:00
andyzhangx 14e9cf5955 feat: switch to bookworm debian base image 2023-11-05 13:36:02 +00:00
andyzhangx 1c7945728b chore: fix unresolvable indirect gomod dependency 2023-11-05 13:32:07 +00:00
andyzhangx 024167b505 test: add more gomod check 2023-11-05 13:30:29 +00:00
Andy Zhang e8f662d52e
Merge pull request #682 from andyzhangx/refine-delete-subdir-check
chore: refine delete subDir check
2023-11-05 09:16:07 +08:00
Andy Zhang 5351591634
Merge pull request #683 from andyzhangx/CVE-2023-3676
fix: CVE-2023-3676 and GHSA-m425-mq94-257g
2023-11-05 08:43:51 +08:00
andyzhangx 4518985b24 fix: GHSA-m425-mq94-257g 2023-11-04 16:03:02 +00:00
andyzhangx 8821fe0a8b fix: CVE-2023-3676 2023-11-04 16:02:08 +00:00
andyzhangx 3eb066de51 chore: refine subDir check 2023-11-04 15:48:57 +00:00
Andy Zhang 59e0c67f5e
Merge pull request #678 from andyzhangx/upgrade-sidecar-images5
chore: upgrade csi-provisioner image version
2023-10-20 22:35:04 +08:00
andyzhangx f948c1d9fd chore: upgrade sidecar image versions 2023-10-20 06:55:02 +00:00
andyzhangx b01b349135 chore: upgrade csi-provisioner image version 2023-10-19 14:57:11 +00:00
Kubernetes Prow Robot 08a0c5bb78
Merge pull request #676 from vitaliy-leschenko/feature/ref-counts
[fix] reference counting of used volumes on Windows nodes
2023-10-19 15:54:53 +02:00
Vitaliy Leschenko 263725388c Fix tests 2023-10-19 12:25:03 +01:00
Vitaliy Leschenko d754461054 Use volumeID for refs counting 2023-10-18 19:41:13 +01:00
Andy Zhang 5d78fe3d4b
Merge pull request #677 from andyzhangx/CVE-2023-39325
fix: CVE-2023-39325
2023-10-18 23:17:10 +08:00
andyzhangx 699cd87ddf test: fix helm chart test failure 2023-10-18 14:20:41 +00:00
andyzhangx 883b17ab97 doc: fix typo 2023-10-18 14:08:30 +00:00
andyzhangx ef4166bff1 fix: CVE-2023-39325 2023-10-18 14:06:06 +00:00
Kubernetes Prow Robot 72e8ebaa90
Merge pull request #658 from kubernetes-csi/dependabot/github_actions/actions/checkout-4
chore(deps): bump actions/checkout from 3 to 4
2023-09-05 00:29:57 -07:00
Kubernetes Prow Robot b9722e8357
Merge pull request #654 from abhijeetgauravm/csidriver
fixed broken links of testgrid dashboard
2023-09-05 00:29:50 -07:00
Kubernetes Prow Robot 3a08912a66
Merge pull request #653 from kubernetes-csi/dependabot/go_modules/google.golang.org/grpc-1.57.0
chore(deps): bump google.golang.org/grpc from 1.51.0 to 1.57.0
2023-09-05 00:17:51 -07:00
dependabot[bot] 9d3ba1adec
chore(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 02:43:56 +00:00
Abhijeet Gaurav 248ea99ef2
Updated the changes in release tools SIDECAR_RELEASE_PROCESS.md 2023-08-21 20:00:58 +05:30
Abhijeet Gaurav 0ff82aaaad
fixed broken links of testgrid dashboard in SIDECAR_RELEASE_PROCESS.md 2023-08-21 17:47:50 +05:30
Abhijeet Gaurav 949d557336
fixed broken links of testgrid dashboard in README.md 2023-08-21 17:43:14 +05:30
dependabot[bot] 9fa0c22f36
chore(deps): bump google.golang.org/grpc from 1.51.0 to 1.57.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.51.0 to 1.57.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.51.0...v1.57.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-21 02:58:37 +00:00
Kubernetes Prow Robot 7bc1087c2e
Merge pull request #652 from davhdavh/fix-csi-win-defaults
Fix: wrong defaults and defaults not matching stated defaults
2023-08-18 08:10:29 -07:00
Dennis Haney ca7d2abf14 regen tgz file 2023-08-18 14:18:28 +00:00
Dennis Haney 778e16f43f Fix wrong defaults and defaults not matching stated defaults 2023-08-18 14:18:00 +00:00
Kubernetes Prow Robot 449a184d86
Merge pull request #651 from davhdavh/fix-deployment
fix: deployment hangs
2023-08-17 05:49:22 -07:00
Andy Zhang 3c49f5dcaa
Merge pull request #648 from andyzhangx/update-release-tools6
chore: update csi-release-tools
2023-08-16 22:09:30 +08:00
Dennis Haney 34e30c4099 regen tgz file 2023-08-16 13:45:59 +07:00
Dennis Haney 0f13c1befe
fix deployment hangs 2023-08-16 11:57:55 +07:00
andyzhangx 2620f7fcec Squashed 'release-tools/' changes from 670bb0ef1..de2fba88b
de2fba88b Merge pull request #233 from andyzhangx/andyzhangx-patch-1
cee895e1f remove windows 20H2 build since it's EOL long time ago

git-subtree-dir: release-tools
git-subtree-split: de2fba88becec7dec6744355a8ddb0057c5fe2f9
2023-08-14 14:08:08 +00:00
andyzhangx e0aa47fb6a Merge commit '2620f7fcec2b3da2e07973054b3f964390d00ce0' into update-release-tools6 2023-08-14 14:08:08 +00:00
Andy Zhang 202186e2bf
Merge pull request #646 from andyzhangx/update-release-tools5
chore: update csi-release-tools
2023-08-12 09:41:35 +08:00
Andy Zhang f0a1b6a661
chore: switch master branch version 2023-08-11 22:36:04 +08:00
andyzhangx 7ca56bd475 Merge commit '02293b4aee44a7c17c598a29af73f974321a593d' 2023-08-11 14:21:33 +00:00
andyzhangx 02293b4aee Squashed 'release-tools/' changes from e322ce5e5..670bb0ef1
670bb0ef1 Merge pull request #229 from marosset/fix-codespell-errors
35d5e783c Merge pull request #219 from yashsingh74/update-registry
63473cc96 Merge pull request #231 from coulof/bump-go-version-1.20.5
29a5c76c7 Merge pull request #228 from mowangdk/chore/adopt_kubernetes_recommand_labels
8dd28211b Update cloudbuild image with go 1.20.5
1df23dba6 Merge pull request #230 from msau42/prow
1f92b7e7c Add ginkgo timeout to e2e tests to help catch any stuck tests
2b8b80ead fixing some codespell errors
c10b67804 Merge pull request #227 from coulof/check-sidecar-supported-versions
72984ec0a chore: adopt kubernetes recommand label
b05553510 Header
bd0a10b65 typo
c39d73c33 Add comments
f6491af0e Script to verify EOL sidecar version
4133d1df0 Merge pull request #226 from msau42/cloudbuild
8d519d237 Pin buildkit to v0.10.6 to workaround v0.11 bug with docker manifest
6e04a0301 Merge pull request #224 from msau42/cloudbuild
26fdfffdd Update cloudbuild image
6613c3980 Merge pull request #223 from sunnylovestiramisu/update
0e7ae993d Update k8s image repo url
77e47cce8 Merge pull request #222 from xinydev/fix-dep-version
155854b09 Fix dep version mismatch
8f839056a Merge pull request #221 from sunnylovestiramisu/go-update
1d3f94dd5 Update go version to 1.20 to match k/k v1.27
901bcb5a9 Update registry k8s.gcr.io -> registry.k8s.io

git-subtree-dir: release-tools
git-subtree-split: 670bb0ef135a53be44643cc34440eff22ad3ac8c
2023-08-11 14:21:32 +00:00
Andy Zhang dbb8412972
Merge pull request #643 from andyzhangx/cut-v1.12.0
doc: cut v1.12.0 release
2023-08-11 21:34:41 +08:00
andyzhangx eca1d7e68f doc: use latest version for master branch 2023-08-10 13:32:33 +00:00
andyzhangx ae0f65540d doc: cut v1.12.0 release 2023-08-10 13:31:48 +00:00
Kubernetes Prow Robot 6bdffc1f6f
Merge pull request #638 from davhdavh/windows-name-resolution-docs
doc: refine windows server name resolution docs
2023-07-15 08:49:04 -07:00
andyzhangx b3f46b94b0 test: fix spelling issue 2023-07-15 15:29:48 +00:00
Kubernetes Prow Robot f16c76b2b9
Merge pull request #635 from davhdavh/master
feat: csi-proxy support in helm
2023-07-13 20:41:28 -07:00
Dennis e2c19bdc1c
spelling 2023-07-06 16:50:07 +07:00
Dennis b950a42502
Add documentation for workaround for windows name resolution problems 2023-07-06 16:47:10 +07:00
Dennis 8c9e22e2d3
update tgz file 2023-07-03 14:24:38 +07:00
Dennis 977df6e3b2
Merge branch 'kubernetes-csi:master' into master 2023-07-03 14:18:02 +07:00
Kubernetes Prow Robot b8bc1826b3
Merge pull request #634 from davhdavh/patch-1
Version 1.1.2 is latest
2023-06-28 09:46:32 -07:00
Dennis 649a7ab2b2
add support for csi-proxy host process installed as part of helm 2023-06-28 15:53:24 +07:00
Dennis b90ac23e9a
Version 1.1.2 is latest 2023-06-28 10:13:59 +02:00
Andy Zhang d18eaf64b2
Merge pull request #631 from andyzhangx/CVE-2023-2431
fix: CVE-2023-2431
2023-06-21 19:30:52 +08:00
andyzhangx 798981dcba test: add ginkgo timeout
fix
2023-06-19 09:11:18 +00:00
andyzhangx 4a68302e6b test: add context in e2e tests
fix

fix
2023-06-19 08:28:25 +00:00
andyzhangx 9c413c0c18 fix: CVE-2023-2431 2023-06-19 06:54:05 +00:00
Kubernetes Prow Robot e25328fe3b
Merge pull request #630 from kubernetes-csi/dependabot/github_actions/actions/checkout-3
chore(deps): bump actions/checkout from 2 to 3
2023-06-18 20:30:21 -07:00
dependabot[bot] 34f29e1542
chore(deps): bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 03:10:08 +00:00
Andy Zhang 0e8de20a8c
chore: switch master branch version 2023-06-03 11:04:48 +08:00
andyzhangx 6843c34735 doc: use latest version for master branch 2023-05-29 03:20:53 +00:00
andyzhangx 7ac290a959 doc: cut v1.11.0 release
chore: fix release version
2023-05-29 03:20:53 +00:00
dependabot[bot] ac0e14c1bb chore(deps): bump github.com/golang/protobuf from 1.5.2 to 1.5.3
Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.5.2...v1.5.3)

---
updated-dependencies:
- dependency-name: github.com/golang/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-29 03:20:53 +00:00
Oleksandr Ierenkov 384f709e8c Cleaning kerberos cache files on unstage phase
Extending initial support for kerberos-based ticket mounting.
Previously, cache has been written directly to the expected file - krb5cc_*.
With this change, cache is written to the base64(volumeID) file,
and then symlink krb5cc_* created pointing to the file with the cache.
During unstage phase only volumeID and mount path is available, and
having volumeID it's possible to do the cleanup with simple traversing
directory containing the caches.
2023-05-20 09:36:33 -04:00
Kubernetes Prow Robot 9e44061977
Merge pull request #621 from kubernetes-csi/dependabot/go_modules/golang.org/x/net-0.10.0
chore(deps): bump golang.org/x/net from 0.7.0 to 0.10.0
2023-05-17 21:08:33 -07:00
dependabot[bot] 9cd6e6271b
chore(deps): bump golang.org/x/net from 0.7.0 to 0.10.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.7.0 to 0.10.0.
- [Commits](https://github.com/golang/net/compare/v0.7.0...v0.10.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-18 03:04:36 +00:00
Kubernetes Prow Robot e7c12832f3
Merge pull request #620 from kubernetes-csi/dependabot/go_modules/github.com/Azure/azure-sdk-for-go-68.0.0incompatible
chore(deps): bump github.com/Azure/azure-sdk-for-go from 55.0.0+incompatible to 68.0.0+incompatible
2023-05-16 20:48:33 -07:00
dependabot[bot] 9048678426
chore(deps): bump github.com/Azure/azure-sdk-for-go
Bumps [github.com/Azure/azure-sdk-for-go](https://github.com/Azure/azure-sdk-for-go) from 55.0.0+incompatible to 68.0.0+incompatible.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md)
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/v55.0.0...v68.0.0)

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 03:05:35 +00:00
Kubernetes Prow Robot 46aba3621c
Merge pull request #619 from kubernetes-csi/dependabot/go_modules/github.com/pborman/uuid-1.2.1
chore(deps): bump github.com/pborman/uuid from 1.2.0 to 1.2.1
2023-05-16 06:15:36 -07:00
dependabot[bot] f593a5350a
chore(deps): bump github.com/pborman/uuid from 1.2.0 to 1.2.1
Bumps [github.com/pborman/uuid](https://github.com/pborman/uuid) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/pborman/uuid/releases)
- [Commits](https://github.com/pborman/uuid/compare/v1.2...v1.2.1)

---
updated-dependencies:
- dependency-name: github.com/pborman/uuid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-16 11:44:55 +00:00
Andy Zhang a49f266de7
Merge pull request #618 from andyzhangx/add-Dockerfile-dependabot
chore: add Dockerfile dependabot
2023-05-16 19:43:45 +08:00
andyzhangx 17ee19aabb chore: add Dockerfile dependabot 2023-05-16 11:28:04 +00:00
Kubernetes Prow Robot ba1be05ede
Merge pull request #616 from kubernetes-csi/dependabot/go_modules/github.com/Azure/go-autorest/autorest-0.11.29
chore(deps): bump github.com/Azure/go-autorest/autorest from 0.11.27 to 0.11.29
2023-05-15 21:19:36 -07:00
dependabot[bot] d12cdabef9
chore(deps): bump github.com/Azure/go-autorest/autorest
Bumps [github.com/Azure/go-autorest/autorest](https://github.com/Azure/go-autorest) from 0.11.27 to 0.11.29.
- [Release notes](https://github.com/Azure/go-autorest/releases)
- [Changelog](https://github.com/Azure/go-autorest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Azure/go-autorest/compare/autorest/v0.11.27...autorest/v0.11.29)

---
updated-dependencies:
- dependency-name: github.com/Azure/go-autorest/autorest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-16 03:05:55 +00:00
Kubernetes Prow Robot 9561447c57
Merge pull request #615 from kubernetes-csi/dependabot/go_modules/github.com/kubernetes-csi/csi-lib-utils-0.13.0
chore(deps): bump github.com/kubernetes-csi/csi-lib-utils from 0.7.0 to 0.13.0
2023-05-14 20:55:27 -07:00
dependabot[bot] e8d42ac977
chore(deps): bump github.com/kubernetes-csi/csi-lib-utils
Bumps [github.com/kubernetes-csi/csi-lib-utils](https://github.com/kubernetes-csi/csi-lib-utils) from 0.7.0 to 0.13.0.
- [Release notes](https://github.com/kubernetes-csi/csi-lib-utils/releases)
- [Commits](https://github.com/kubernetes-csi/csi-lib-utils/compare/0.7.0...v0.13.0)

---
updated-dependencies:
- dependency-name: github.com/kubernetes-csi/csi-lib-utils
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-15 03:09:45 +00:00
Kubernetes Prow Robot d714702bc9
Merge pull request #613 from edward2a/fix-krb5-tkt-access
fix: add default krb5 cc path
2023-05-12 20:47:25 -07:00
Andy Zhang c25f0be9ae
Merge pull request #614 from KlwntSingh/master
replace references of https://storage.googleapis.com/kubernetes-release with https://dl.k8s.io
2023-05-13 10:59:05 +08:00
Kulwant Singh cc69eec5b7 replace references of https://storage.googleapis.com/kubernetes-release with https://dl.k8s.io
Signed-off-by: Kulwant Singh <ikulwant@amazon.com>
2023-05-11 22:05:02 -07:00
Eduardo A. Paris Penas fc14f864f8 Add default krb5 cc path
Upon running master branch the following error was showing:

        May 11 10:19:42 worker-02 cifs.upcall: get_existing_cc: default ccache is FILE:/tmp/krb5cc_0

Checked on the host and the configuration was appropriate, mounting a
cifs share did work approrpiately.

This error was showing specifically inside the smb container, so adding
the configuration for the default krb5 cc path as expected by this sci.
2023-05-11 22:17:45 +01:00
Kubernetes Prow Robot 81e2973106
Merge pull request #606 from yerenkow/support-kerberos-ticket
feat: add support for sec=krb5 mounting
2023-05-06 00:21:16 -07:00
Oleksandr Ierenkov d9aa489da5 Adding support for sec=krb5 mounting
When mounting with kerberos security, ticket cache
is expected to be set up on the host, pointing to the
/var/lib/kubelet/kubernetes/krb5cc_${uid}.
Credential cache is then taken from the creds secret and
written to the file, that is available to the host for
using.
2023-05-05 10:57:48 -04:00
Kubernetes Prow Robot dbba312a6d
Merge pull request #610 from kubernetes-csi/dependabot/go_modules/github.com/stretchr/testify-1.8.2
chore(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.2
2023-05-05 05:37:12 -07:00
Kubernetes Prow Robot 7c633a07b9
Merge pull request #609 from kubernetes-csi/dependabot/github_actions/actions/setup-go-4
chore(deps): bump actions/setup-go from 2 to 4
2023-05-05 04:31:13 -07:00
Kubernetes Prow Robot 7a127cb311
Merge pull request #608 from kubernetes-csi/dependabot/github_actions/github/codeql-action-2
chore(deps): bump github/codeql-action from 1 to 2
2023-05-05 04:25:13 -07:00
dependabot[bot] 167f13f790
chore(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.2
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.0 to 1.8.2.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.8.0...v1.8.2)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-05 11:13:22 +00:00
dependabot[bot] 0fb65520b6
chore(deps): bump actions/setup-go from 2 to 4
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2 to 4.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-05 11:12:39 +00:00
dependabot[bot] fce25cc9e6
chore(deps): bump github/codeql-action from 1 to 2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-05 11:12:38 +00:00
Andy Zhang 36c28b611d
Merge pull request #607 from andyzhangx/add-dependabot
chore: add dependabot
2023-05-05 19:12:13 +08:00
andyzhangx 1a02391c14 chore: add dependabot 2023-05-05 09:40:33 +00:00
Andy Zhang 29200a8757
Merge pull request #605 from andyzhangx/upgrade-sidecar-images2
chore: upgrade csi sidecar container images
2023-05-05 17:38:14 +08:00
andyzhangx 7ebaf47fd1 chore: upgrade csi sidecar container images 2023-04-30 08:56:50 +00:00
Kubernetes Prow Robot 91c55ab1df
Merge pull request #601 from umagnus/copy_volume
feat: volume clone from source volume
2023-04-29 19:30:16 -07:00
Andy Zhang 5e2523d43c
Merge pull request #604 from andyzhangx/dnspolicy-fix
fix: set ClusterFirstWithHostNet as default dnsPolicy
2023-04-29 20:35:24 +08:00
andyzhangx a231585278 fix: set ClusterFirstWithHostNet as default dnsPolicy
test: fix Makefile
2023-04-29 07:13:43 +00:00
umagnus 14900220f3 add external e2e test 2023-04-26 01:58:37 +00:00
umagnus 809f9851e8 add e2e test for volume cloning 2023-04-25 04:43:21 +00:00
umagnus 25cf93ee68 add copy volume and unit test 2023-04-24 13:40:42 +00:00
Kubernetes Prow Robot 862a1384a2
Merge pull request #598 from umagnus/replace-deprecated-ioutil
cleanup: replace deprecated ioutil method
2023-04-20 00:33:11 -07:00
umagnus d7fb687ea4 replace deprecated ioutil method 2023-04-20 03:03:45 +00:00
Kubernetes Prow Robot 86dacf7d78
Merge pull request #597 from umagnus/change-test-sc
test(e2e): change the storageclass configuration method in the test file
2023-04-15 01:34:42 -07:00
umagnus 9cc145f7e6 change the storageclass configuration method in the test file 2023-04-13 08:17:28 +00:00
Andy Zhang 4d9012e4f5
Merge pull request #596 from andyzhangx/add-seccompProfile
feat: enable securityContext.seccompProfile
2023-04-09 19:43:52 +08:00
andyzhangx 7debaf03ad feat: enable securityContext.seccompProfile 2023-04-08 09:31:02 +00:00
Andy Zhang 266be22b90
Merge pull request #595 from andyzhangx/remove-20H2
cleanup: remove 20H2 windows image build
2023-04-03 20:41:56 +08:00
andyzhangx 4740376444 cleanup: remove 20H2 windows image build 2023-03-23 09:09:15 +00:00
Kubernetes Prow Robot 5b1fa5eda2
Merge pull request #589 from farodin91/add-containerSecurityContext
feat: add readOnlyRootFilesystem if possible
2023-03-20 20:15:07 -07:00
Jan Jansen d48f15eaef feat: add readOnlyRootFilesystem if possible
Signed-off-by: Jan Jansen <jan.jansen@gdata.de>
2023-03-20 15:05:36 +01:00
Kubernetes Prow Robot 981e01ba9b
Merge pull request #591 from andyzhangx/fix-golint-error2
test: fix golint error
2023-03-07 15:04:43 -08:00
andyzhangx 9252f5712f Squashed 'release-tools/' changes from aa61bfd0..e322ce5e
e322ce5e Merge pull request #220 from andyzhangx/fix-golint-error
b74a5120 test: fix golint error

git-subtree-dir: release-tools
git-subtree-split: e322ce5e5b2b384148a527a5784959b685b296b4
2023-03-07 14:44:26 +00:00
andyzhangx 5dc5ad1f14 Merge commit '9252f5712ff160f5bb24c8eda3e73a95634aee8a' into fix-golint-error2 2023-03-07 14:44:26 +00:00
andyzhangx 2d3794a5fe test: fix golint error 2023-03-07 14:44:13 +00:00
Andy Zhang cfe5448b45
Merge pull request #588 from andyzhangx/remove-node-metrics-address
cleanup: remove metrics-address on driver daemonset on the node
2023-03-07 21:29:57 +08:00
andyzhangx 542a4b8660 cleanup: remove metrics-address on driver daemonset on the node 2023-02-22 13:12:57 +00:00
Kubernetes Prow Robot 1c0db985b3
Merge pull request #587 from saschagrunert/debian-base
Update debian-base image to v1.4.3
2023-02-22 04:37:57 -08:00
Sascha Grunert 7636f86081
Update debian-base image to v1.4.3
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-02-22 12:47:01 +01:00
Andy Zhang 010c205a2f
Merge pull request #585 from andyzhangx/update-release-tools3
test: update release tools
2023-02-20 09:38:32 +08:00
andyzhangx 8256cb1c53 Squashed 'release-tools/' changes from 335339f0..aa61bfd0
aa61bfd0 Merge pull request #218 from xing-yang/update_csi_driver
7563d196 Update CSI_PROW_DRIVER_VERSION to v1.11.0
a2171bef Merge pull request #216 from msau42/process
cb987826 Merge pull request #217 from msau42/owners
a11216e4 add new reviewers and remove inactive reviewers
dd986754 Add step for checking builds
b66c0824 Merge pull request #214 from pohly/junit-fixes
b9b6763b filter-junit.go: fix loss of testcases when parsing Ginkgo v2 JUnit
d4277839 filter-junit.go: preserve system error log
38e11468 prow.sh: publish individual JUnit files as separate artifacts
78c0fb71 Merge pull request #208 from jsafrane/skip-selinux
36e433e2 Skip SELinux tests in CI by default
348d4a92 Merge pull request #207 from RaunakShah/reviewers
1efc2724 Merge pull request #206 from RaunakShah/update-prow
7d410d88 Changes to csi prow to run e2e tests in sidecars
cfa5a75c Merge pull request #203 from humblec/test-vendor
4edd1d8a Add RaunakShah to CSI reviewers group
7ccc9594 release tools update to 1.19
d24254f6 Merge pull request #202 from xing-yang/kind_0.14.0
0faa3fc7 Update to Kind v0.14.0 images
ef4e1b2b Merge pull request #201 from xing-yang/add_1.24_image
4ddce251 Add 1.24 Kind image
7fe51491 Merge pull request #200 from pohly/bump-kubernetes-version
70915a8e prow.sh: update snapshotter version
31a3f38b Merge pull request #199 from pohly/bump-kubernetes-version
7577454a prow.sh: bump Kubernetes to v1.22.0
d29a2e75 Merge pull request #198 from pohly/csi-test-5.0.0
41cb70d3 prow.sh: sanity testing with csi-test v5.0.0
c85a63fb Merge pull request #197 from pohly/fix-alpha-testing
b86d8e94 support Kubernetes 1.25 + Ginkgo v2
ab0b0a3d Merge pull request #192 from andyzhangx/patch-1
7bbab24e Merge pull request #196 from humblec/non-alpha
e51ff2cc introduce control variable for non alpha feature gate configuration
ca19ef52 Merge pull request #195 from pohly/fix-alpha-testing
3948331e fix testing with latest Kubernetes
e4dab7ff Merge pull request #194 from yselkowitz/registry-k8s-io
84a4d5a1 Move from k8s.gcr.io to registry.k8s.io
9a0260c5 fix boilerplate header
37d11049 Merge pull request #191 from pohly/go-1.18
db917f5c update to Go 1.18

git-subtree-dir: release-tools
git-subtree-split: aa61bfd0c1a80460aba7cb0feddc8cdee03622a4
2023-02-19 13:34:42 +00:00
andyzhangx 00b75fedf8 Merge commit '8256cb1c530d3b6b17e17b72560a501bc9ec5f23' 2023-02-19 13:34:42 +00:00
Andy Zhang 85364e5319
Merge pull request #575 from andyzhangx/cut-v1.10.0
doc: cut v1.10.0 release
2023-02-19 19:46:40 +08:00
andyzhangx 51d0a395c1 doc: use latest version for master branch 2023-02-19 10:48:11 +00:00
andyzhangx e7627fc8e9 doc: cut v1.10.0 release 2023-02-19 10:46:20 +00:00
Andy Zhang 48be856022
Merge pull request #583 from andyzhangx/mkdirall
fix: use mkdir -p for creating subdir in mounted base-dir
2023-02-19 18:43:57 +08:00
andyzhangx 17f20a2b50 fix: use mkdir -p for creating subdir in mounted base-dir 2023-02-19 09:34:35 +00:00
Andy Zhang d40bdb9e6a
Merge pull request #582 from andyzhangx/remove-force-umount
fix: remove forceUmount and lazyUmount
2023-02-19 10:56:24 +08:00
andyzhangx 649a027f46 fix: remove forceUmount and lazyUmount 2023-02-18 08:23:48 +00:00
Andy Zhang 6c4706956f
Merge pull request #581 from andyzhangx/CVE-2022-41723
fix: CVE-2022-41723
2023-02-18 09:59:00 +08:00
andyzhangx 2ec6115c6a fix: CVE-2022-41723 2023-02-17 14:00:25 +00:00
Andy Zhang d464b23c09
Merge pull request #579 from andyzhangx/fix-text-lib
chore: cleanup go mod dependencies
2023-02-15 17:51:52 +08:00
andyzhangx d2a45d9aae chore: cleanup go mod dependencies
cleanup
2023-02-09 12:13:37 +00:00
andyzhangx 290945fd3e chore: remove dependency on golang.org/x/text specific version 2023-02-09 12:04:34 +00:00
Andy Zhang aafefcbf27
Merge pull request #578 from andyzhangx/fix-buildx
fix: buildx issue with provenance disabled
2023-02-09 20:03:03 +08:00
andyzhangx 0a9519228f fix: buildx issue with provenance disabled 2023-02-09 02:51:49 +00:00
Andy Zhang 0b925df8b5
Merge pull request #574 from andyzhangx/refine-doc
doc: refine doc
2023-01-25 21:35:27 +08:00
andyzhangx b57b7a974b doc: refine doc 2023-01-15 14:30:24 +00:00
Andy Zhang 4f2b2ac9d8
Update driver-parameters.md 2023-01-13 17:48:20 +08:00
Andy Zhang f8685e672f
Update pv-smb.yaml 2023-01-13 17:43:30 +08:00
Andy Zhang 9d2b95a9e0
Update driver-parameters.md 2023-01-13 17:37:37 +08:00
Andy Zhang 41f7c32741
Merge pull request #572 from andyzhangx/fix-pv-annotations
doc: add annotations in PV config to support Delete reclaimPolicy
2023-01-13 17:26:19 +08:00
andyzhangx 7b40b4caef doc: add annotations in PV config to support Delete reclaimPolicy 2023-01-12 14:15:21 +00:00
Andy Zhang 0c9cfdde33
Merge pull request #569 from andyzhangx/force-umount
fix: use force unmount to fix umount failure
2023-01-12 21:58:45 +08:00
andyzhangx ebd4efd656 chore: vendor mount-utils with forceUmount fix 2023-01-08 03:03:45 +00:00
andyzhangx c170231da5 fix: user forceUmounter and lazy umount 2023-01-08 03:02:24 +00:00
Andy Zhang c1035616ce
Merge pull request #565 from andyzhangx/RemoveStageTarget
cleanup: remove useless functions
2023-01-08 10:47:18 +08:00
Andy Zhang a18fca5cc9
Merge pull request #566 from umagnus/fix-helm-lint
test: add helm lint test
2023-01-08 10:46:40 +08:00
andyzhangx 11124b5cf0 cleanup: remove redundant unmount volume code since it's already handled by mount-utils 2022-12-29 13:05:41 +00:00
umagnus 0245e00f4e fix: helm lint 2022-12-29 08:42:17 +00:00
andyzhangx 20b05c0cc9 cleanup: remove useless functions 2022-12-28 08:57:25 +00:00
Kubernetes Prow Robot 164ca0509d
Merge pull request #564 from andyzhangx/upgrade-1.26.0
chore: upgrade to k8s 1.26.0 lib
2022-12-20 23:57:30 -08:00
andyzhangx ed90d77f9b test: fix PodSecurity issue
fix
2022-12-21 06:57:15 +00:00
andyzhangx 030cc49884 test: fix golint
fix

fix

chore: fix ginkgo version

test: fix ginkgo failure

test: fix test error
2022-12-21 06:46:30 +00:00
andyzhangx 995f030fb3 chore: fix windows build
chore: fix build failure
2022-12-21 06:46:30 +00:00
andyzhangx fdb36e33df chore: fix e2e test framework and windows interface change 2022-12-21 06:46:30 +00:00
andyzhangx 41f4aee54f test: fix ut 2022-12-21 06:46:30 +00:00
andyzhangx 194021de83 fix: CVE-2022-41717 2022-12-21 06:46:30 +00:00
andyzhangx 3088b864d3 test: fix github action
fix action
2022-12-21 06:46:28 +00:00
Andy Zhang 18380b5c66
Update windows.json 2022-12-21 14:44:24 +08:00
Andy Zhang 8ecbebb715
Update linux-vmss.json 2022-12-21 14:44:04 +08:00
Andy Zhang 3ef8f3e540
Update containerd-windows.json 2022-12-21 14:43:43 +08:00
Andy Zhang fdd702c8b7
Update linux.json 2022-12-21 14:28:36 +08:00
Andy Zhang 228cac3fbb
Update linux.json 2022-12-21 13:54:46 +08:00
Andy Zhang cf6177b58b
doc: set minimum supported version as k8s 1.21 2022-12-21 10:38:55 +08:00
Andy Zhang 11584b20f8
Update containerd-windows.json 2022-12-20 17:06:10 +08:00
Andy Zhang 6da230d505
Update windows.json 2022-12-20 17:05:57 +08:00
Andy Zhang b77a4240d8
Update windows.json 2022-12-20 16:56:03 +08:00
Andy Zhang 5b27106aee
Update containerd-windows.json 2022-12-20 16:55:03 +08:00
Andy Zhang 197ab9172d
Update linux.json 2022-12-20 16:51:09 +08:00
Andy Zhang 04abd7a20a
Update linux-vmss.json 2022-12-20 16:15:42 +08:00
andyzhangx 232d4bf711 chore: upgrade to k8s 1.26.0 lib 2022-12-18 12:27:14 +00:00
Andy Zhang 6a12a5f6c6
Update csi-debug.md 2022-12-06 22:38:31 +08:00
Andy Zhang 91cf8f04e1
Merge pull request #560 from andyzhangx/csi-node-driver-registrar-v2.6.3
chore: upgrade to csi-node-driver-registrar v2.6.2
2022-12-05 20:52:42 +08:00
Andy Zhang 9043468ffd
Update support.md 2022-12-02 19:21:50 +08:00
andyzhangx 0836fe82b5 chore: upgrade to csi-node-driver-registrar v2.6.2 2022-12-02 09:15:05 +00:00
Kubernetes Prow Robot 6bf045b21c
Merge pull request #552 from tonycox/docs-updates
doc: install docs updates on Microk8s based Kubernetes
2022-11-29 00:43:22 -08:00
andyzhangx 9fcc3572cd doc: fix chart file 2022-11-29 07:55:27 +00:00
antonsolovev 402b1a558f added doc tips with table formatting 2022-11-29 07:55:04 +00:00
antonsolovev 25a35e3d45 corrected pods status selector 2022-11-29 07:55:04 +00:00
Kubernetes Prow Robot 0449f51cc7
Merge pull request #553 from andyzhangx/sidecar-upgrade
chore: ugprade sidecar images
2022-11-23 08:48:19 -08:00
andyzhangx de9ebe7843 chore: ugprade sidecar images 2022-11-21 07:34:14 +00:00
Andy Zhang cd54dccba9
Update README.md 2022-11-17 10:31:45 +08:00
Andy Zhang 33a1500ddd
Merge pull request #546 from andyzhangx/upgrade-base-image2
chore: upgrade base image as debian-base:bullseye-v1.4.2
2022-11-10 13:46:19 +08:00
andyzhangx 46d737091d fix: CVE-2022-32149 2022-10-12 08:09:08 +00:00
andyzhangx aceb008aed chore: upgrade base image as debian-base:bullseye-v1.4.2 2022-10-11 10:05:07 +00:00
Kubernetes Prow Robot 596ca8d4e1
Merge pull request #544 from umagnus/test_helm_repo
test: add helm repo install check
2022-09-30 02:48:29 -07:00
umagnus 1e0288e287 test: add helm repo install check
chmod

fix chart check
2022-09-30 08:33:08 +00:00
Kubernetes Prow Robot ffdbd3eda8
Merge pull request #539 from amolmote/fix-broken
updated  CONTRIBUTING.md fix broken link
2022-09-16 06:01:17 -07:00
Andy Zhang c052619e0e
Merge pull request #537 from andyzhangx/csi-test-v5
test: run sanity test using csi-test v5.0.0
2022-09-16 20:53:46 +08:00
amolmote 59675f9306 updated CONTRIBUTING.md fix broken link
Signed-off-by: amolmote <amolmote201@gmail.com>
2022-09-16 17:56:53 +05:30
andyzhangx 6c39ca5faa fix: CVE-2022-27664 2022-09-15 14:11:03 +00:00
andyzhangx c1c7496f04 test: fix sanity test failure 2022-09-15 14:10:19 +00:00
andyzhangx 8d4ad3d6a5 test: run sanity test using csi-test v5.0.0 2022-09-15 13:44:14 +00:00
Andy Zhang a48784456f
Merge pull request #535 from andyzhangx/go-1.18
chore: switch to golang 1.18
2022-09-09 23:15:49 +08:00
Andy Zhang d3174368c5
Merge pull request #536 from andyzhangx/fix-golint-error
test: fix golint error
2022-09-09 23:13:22 +08:00
andyzhangx 34761710ec test: fix golint error 2022-09-03 07:26:17 +00:00
Andy Zhang 26caba4231
Update linux-vmss.json 2022-09-03 14:55:56 +08:00
andyzhangx d75f08554e chore: switch to golang 1.18 2022-09-02 07:59:48 +00:00
Andy Zhang 63fbffe473
Merge pull request #533 from andyzhangx/workflow-test-fix
test: update ubuntu-18.04 to ubuntu-latest in GitHub workflows
2022-08-26 09:43:42 +08:00
andyzhangx cd47b4c337 test: update ubuntu-18.04 to ubuntu-latest in GitHub workflows 2022-08-22 14:33:50 +00:00
Andy Zhang f443716604
Update bug-report.md 2022-08-22 22:30:48 +08:00
Andy Zhang 1693f1a84f
Update csi-debug.md 2022-08-21 15:30:52 +08:00
Andy Zhang 602cfd990e
Update csi-debug.md 2022-08-21 15:28:27 +08:00
Andy Zhang e4d2e6f2f1
Merge pull request #531 from andyzhangx/switch-master-1.10.0
chore: switch master branch to use v1.10.0
2022-08-20 16:53:00 +08:00
andyzhangx 9d869d27a7 chore: switch master branch to use v1.10.0 2022-08-20 07:35:28 +00:00
andyzhangx cdbb4ec3d7 Merge branch 'master' of https://github.com/kubernetes-csi/csi-driver-smb 2022-08-20 07:34:54 +00:00
Andy Zhang e9b1f0963b
Merge pull request #529 from andyzhangx/cut-v1.9.0
doc: cut v1.9.0 release
2022-08-20 15:32:33 +08:00
andyzhangx 023adfd207 doc: use latest version for master branch 2022-08-20 02:54:02 +00:00
andyzhangx e5c63a1ad0 doc: cut v1.9.0 release 2022-08-20 02:54:02 +00:00
andyzhangx e5e8c633e6 chore: fix code spelling issue 2022-08-20 02:54:02 +00:00
andyzhangx 1f4cbf21bf doc: use latest version for master branch 2022-08-20 02:35:31 +00:00
andyzhangx 7bfd64b8c8 doc: cut v1.9.0 release 2022-08-20 02:35:06 +00:00
Andy Zhang 999b3a229a
Merge pull request #527 from andyzhangx/removeSMBMappingDuringUnmount-switch
feat: add removeSMBMappingDuringUnmount config in chart config
2022-08-17 10:11:48 +08:00
andyzhangx 05f9162983 chore: add remove-smb-mapping-during-unmount in kubectl deploy 2022-08-15 08:12:57 +00:00
andyzhangx ae1d36ef83 feat: add removeSMBMappingDuringUnmount in chart config
fix

fix ut

fix

fix

fix ut

fix win ut

fix

fix ut

fix
2022-08-14 14:54:09 +00:00
Kubernetes Prow Robot eb9ddbcf81
Merge pull request #505 from vitaliy-leschenko/smb-unmount
Calls RemoveSmbGlobalMapping when it necessary
2022-08-13 06:08:12 -07:00
vitaliy-leschenko 277160089d Calls RemoveSmbGlobalMapping when it necessary. 2022-08-09 20:11:19 +03:00
Andy Zhang a408bba9ff
Merge pull request #526 from andyzhangx/fix-index
fix: helm chart index error
2022-08-05 17:13:43 +08:00
andyzhangx f7f379caa2 fix: helm chart index error 2022-08-05 09:03:12 +00:00
Kubernetes Prow Robot f68287edc5
Merge pull request #524 from luborpetr/hotfix/mem-limits
Increase memory limits of `livenessprobe` and `csi-node-driver-registrar` Windows containers.
2022-08-05 00:37:46 -07:00
Lubor PETR 70aafa917b Update package index 2022-08-04 13:17:28 +02:00
Lubor PETR 21d01999bc Generate helm packages 2022-08-04 13:13:25 +02:00
Lubor PETR e856508615 Lift registrar & probe containers memory limits to 150Mi 2022-08-04 13:09:33 +02:00
Lubor PETR 169d6f19bf Update chart index 2022-08-03 12:12:52 +02:00
Lubor PETR b7937938bc Generate helm packages 2022-08-03 12:04:17 +02:00
Lubor PETR 4cca7f5411 Lift registrar & probe containers memory limits 2022-08-03 11:59:58 +02:00
Kubernetes Prow Robot 50166e6df2
Merge pull request #521 from luborpetr/hotfix/kubelet-path
Update default `windows.kubelet` value to be compatible with containerd runtime
2022-08-02 07:19:45 -07:00
Lubor PETR 70b921f43f Update helm packages 2022-08-01 21:14:05 +02:00
Lubor PETR 21c2969613 Implement container engine independent DRIVER_REG_SOCK_PATH templating 2022-08-01 16:43:18 +02:00
Lubor PETR 70f61d4bff Revert `windows.kubelet` change 2022-08-01 16:35:51 +02:00
Andy Zhang c679210409
Merge pull request #522 from andyzhangx/fix-TestLogGRPC-failure
test: fix TestLogGRPC ut failure
2022-07-31 13:47:27 +08:00
andyzhangx b6abc5e9e6 fix: windows hostpath issue on containerd runtime 2022-07-31 02:54:47 +00:00
andyzhangx b6c05bcbd3 test: fix gofmt failure 2022-07-31 02:46:46 +00:00
andyzhangx 204026c1ea test: fix TestLogGRPC ut failure
fix
2022-07-31 02:46:45 +00:00
Lubor PETR 7bb16a6ba1 Correct kubelet path in v1.7.0 chart 2022-07-29 13:40:12 +02:00
Lubor PETR 65dd8528bb Correct kubelet path in v1.8.0 chart 2022-07-29 13:35:15 +02:00
Andy Zhang e044d84da5
Merge pull request #519 from andyzhangx/fix-chart-index
fix: chart index
2022-07-20 21:12:02 +08:00
andyzhangx 787cef17d1 fix: CVE-2022-29526 2022-07-20 06:41:50 +00:00
andyzhangx 5926ad59aa fix: chart index 2022-07-20 06:31:50 +00:00
andyzhangx 123d2cefb1 chore: upgrade base image 2022-07-20 06:31:39 +00:00
Andy Zhang 2231345713
Merge pull request #513 from andyzhangx/update-master-chart-version
chore: set master branch chart version to v0.0.0
2022-07-07 11:29:17 +08:00
andyzhangx f1444a13c2 chore: set master branch chart version to v0.0.0 2022-07-05 06:35:02 +00:00
Andy Zhang bf98c744d9
Merge pull request #511 from andyzhangx/switch-master-1.9.0
chore: switch master branch to use v1.9.0
2022-07-04 16:40:41 +08:00
andyzhangx 7de77a3f1c chore: switch master branch to use v1.9.0 2022-07-04 02:50:30 +00:00
Andy Zhang a2eedbed58
Update README.md 2022-07-04 10:00:16 +08:00
Andy Zhang f8cac30ea0
Merge pull request #509 from andyzhangx/cut-v1.8.0
doc: cut v1.8.0 release
2022-07-04 09:51:34 +08:00
andyzhangx 01b9313783 doc: use latest version for master branch 2022-07-03 01:35:29 +00:00
andyzhangx a793311710 doc: cut v1.8.0 release 2022-07-03 01:34:38 +00:00
Andy Zhang a7337357be
Update install-smb-csi-driver.md 2022-07-01 22:50:00 +08:00
Andy Zhang 013d044cca
Update driver-parameters.md 2022-06-26 19:35:05 +08:00
Andy Zhang cf4862ae12
Update driver-parameters.md 2022-06-26 19:32:40 +08:00
Kubernetes Prow Robot e18d7378d4
Merge pull request #504 from andyzhangx/upgrade-sidecar-images
chore: upgrade sidecar image versions
2022-06-25 01:52:57 -07:00
andyzhangx 9bf7797d88 chore: upgrade sidecar image versions
fix comments
2022-06-25 07:00:44 +00:00
Kubernetes Prow Robot 7647407337
Merge pull request #503 from andyzhangx/subdir-pvc-metadata
feat: support pv/pvc metadata for subDir parameter
2022-06-22 20:41:43 -07:00
andyzhangx b481a50036 test: add unit tests for pv/pvc metadata check
fix
2022-06-19 03:07:45 +00:00
andyzhangx 45e7f52488 feat: support pv/pvc metadata in subDir parameter
refine
2022-06-18 14:20:34 +00:00
Andy Zhang 8d385026f0
Merge pull request #500 from andyzhangx/runOnControlPlane
feat: add runOnControlPlane in chart config
2022-06-17 22:31:45 +08:00
andyzhangx f3f11e22f4 feat: add runOnControlPlane in chart config 2022-06-13 07:24:11 +00:00
Andy Zhang 0e94a805cd
Merge pull request #498 from andyzhangx/create-subdir-if-not-exists
feat: create subdir if not exists
2022-06-13 10:07:17 +08:00
andyzhangx 8e74fa3e08 chore: combine case insensitive key/value setting in parameters 2022-06-12 13:42:45 +00:00
andyzhangx 1bbc39b140 fix: set mount path as uuid in Create/Delete Volume
field rename
2022-06-12 13:42:45 +00:00
andyzhangx daed57358d fix: prefix issue in getSmbVolFromID 2022-06-12 13:42:45 +00:00
andyzhangx 66748bd597 feat: create subdir if not exists
fix e2e test

remove one e2e test
2022-06-12 13:42:44 +00:00
Andy Zhang 2457c6d71e
Merge pull request #494 from andyzhangx/chart-serviceAccount-fix-v1.7
fix: node.serviceAccount setting in chart config on 1.7.0
2022-06-04 19:31:44 +08:00
Andy Zhang ad56e3fe9d
Merge pull request #495 from andyzhangx/enable-GetVolumeStats
feat: enable GetVolumeStats by default
2022-06-04 19:31:31 +08:00
andyzhangx 7d9d872582 fix: node.nodeSelector and node.affinity chart config on Windows node 2022-06-04 07:09:30 +00:00
andyzhangx ce55e8848d feat: enable GetVolumeStats by default 2022-06-04 07:08:26 +00:00
Kubernetes Prow Robot c495e08abf
Merge pull request #488 from steveizzle/fix/node-sa-values
fix: node.serviceAccount setting in chart config
2022-06-03 20:56:20 -07:00
andyzhangx cc1bfb4573 fix: affinity indent error 2022-06-04 03:14:31 +00:00
andyzhangx 45b8cc44f7 fix: node.serviceAccount setting in chart config on 1.7.0 2022-06-04 03:01:36 +00:00
steveizzle 8670e91346
Update image digest
Signed-off-by: steveizzle <stefan.riembauer@gmail.com>
2022-06-03 15:16:32 +02:00
steveizzle 39e9a9f4be
Added variables from values file 2022-06-03 15:16:05 +02:00
Kubernetes Prow Robot 4bc26f4eaa
Merge pull request #492 from aymenfurter/fix/490-node-affinity
fix: fix affinity indent error 🐞
2022-06-03 00:02:19 -07:00
Aymen Furter 610ee42a28
Align digest with current latest helm package 2022-06-02 17:50:50 +02:00
Aymen Furter e777683b83 Package fixed version 2022-06-02 15:48:36 +00:00
Aymen Furter 69229369f7
Fix Affinity indent error
Moving affinity element to spec level instead of nodeSelector
2022-06-02 17:45:08 +02:00
Andy Zhang 4f479b0402
Merge pull request #487 from andyzhangx/update-csi-proxy-install
doc: update csi-proxy install doc
2022-06-02 15:03:37 +08:00
Andy Zhang a9a6f74776
Merge pull request #486 from andyzhangx/fix-v1.7-image
fix: incorrect v1.7.0 image address
2022-06-02 15:03:06 +08:00
andyzhangx f9aea1ecf3 doc: update csi-proxy install doc
fix golint
2022-06-01 14:26:26 +00:00
andyzhangx e2dc05b1c3 fix: incorrect v1.7.0 image address 2022-06-01 11:29:23 +00:00
Andy Zhang 95a3d72010
Merge pull request #485 from andyzhangx/fix-runOnMaster
fix: incorrect runOnMaster config
2022-06-01 19:21:29 +08:00
andyzhangx ffd1ff3fde fix: incorrect runOnMaster config 2022-05-29 01:38:58 +00:00
Andy Zhang 6a79d3df28
Merge pull request #484 from andyzhangx/switch-master-1.8.0
chore: switch master branch to use v1.8.0
2022-05-28 21:50:06 +08:00
andyzhangx 193be7b933 chore: switch master branch to use v1.8.0 2022-05-28 11:16:43 +00:00
Andy Zhang 902f1f084e
Merge pull request #482 from andyzhangx/cut-v1.7.0
doc: cut v1.7.0 release
2022-05-28 15:08:23 +08:00
andyzhangx 0f18dc31f5 doc: use latest version for master branch 2022-05-28 01:01:38 +00:00
andyzhangx 483eb8083f doc: cut v1.7.0 release 2022-05-28 01:01:16 +00:00
Andy Zhang 4e99bc9943
Merge pull request #480 from andyzhangx/node-serviceAccount
fix: add serviceAccount for driver daemonset running on the node
2022-05-15 15:22:29 +08:00
Andy Zhang b8e368b6ea
Update csi-debug.md 2022-05-12 08:59:09 +08:00
andyzhangx 016ebcecb0 fix: add serviceAccount for driver daemonset running on the node 2022-05-10 13:09:06 +00:00
Andy Zhang 3ca42a3c52
Merge pull request #479 from andyzhangx/external-1.24.0
test: run k8s 1.24 external e2e test
2022-05-08 14:51:24 +08:00
andyzhangx a2828245dd test: enable one external e2e test 2022-05-08 01:08:43 +00:00
andyzhangx 86358ae251 test: skip two external e2e tests 2022-05-07 15:02:40 +00:00
andyzhangx 83635a52a2 test: run k8s 1.24 external e2e test 2022-05-07 14:13:57 +00:00
Andy Zhang ade8a17459
Merge pull request #478 from andyzhangx/charts-fix
fix: broken chart files
2022-05-06 14:56:31 +08:00
andyzhangx cd055d8232 fix: broken chart files 2022-05-06 03:05:48 +00:00
Andy Zhang 62e8d99a0b
Merge pull request #475 from andyzhangx/gcr-canary
chore: replace mcr images with gcr.io images
2022-05-03 19:54:28 +08:00
andyzhangx 4e92c73940 chore: replace mcr images with gcr 2022-05-03 07:38:24 +00:00
andyzhangx da5241ae23 chore: revert release-tools changes 2022-05-03 07:37:37 +00:00
andyzhangx afe3676d66 chore: update master image as gcr.io 2022-05-02 12:33:43 +00:00
Andy Zhang 17ad45fd5c
Merge pull request #471 from andyzhangx/fix-windows-pipeline
chore: fix windows pipeline
2022-05-02 11:43:21 +08:00
andyzhangx 2bb3d9274c chore: fix windows pipeline
fix
2022-05-02 02:33:41 +00:00
Andy Zhang 912ddfdede
Merge pull request #470 from andyzhangx/win-build-pipeline
chore: fix Windows build in build pipeline
2022-05-02 00:07:42 +08:00
andyzhangx 03e1d3e7ad chore: fix Windows build in build pipeline
fix
2022-05-01 15:24:10 +00:00
Andy Zhang 8326812b1a
Merge pull request #465 from andyzhangx/fix-broken-pipeline
chore: fix broken post-csi-driver-smb-push-images pipeline
2022-05-01 09:37:36 +08:00
andyzhangx c353fba1cc chore: fix image build
fix
2022-04-30 13:18:15 +00:00
andyzhangx 24b4afac5d chore: fix broken post-csi-driver-smb-push-images pipeline 2022-04-30 11:46:35 +00:00
Andy Zhang 60d4b2e168
Merge pull request #464 from andyzhangx/upgrade-sidecar-versions3
chore: upgrade sidecar image version
2022-04-29 19:40:32 +08:00
andyzhangx 94680a460c chore: upgrade sidecar image version 2022-04-28 11:09:47 +00:00
Andy Zhang d8cc06504b
Merge pull request #463 from andyzhangx/fix-canary-build
chore: fix canary-csi-driver-smb-push-images build failure
2022-04-26 23:01:19 +08:00
andyzhangx c4aeb531b4 chore: fix canary-csi-driver-smb-push-images build failure
fix
2022-04-26 13:44:47 +00:00
Andy Zhang 71e6fabfbb
Update README.md 2022-04-26 09:50:33 +08:00
Andy Zhang 976b8a5083
Merge pull request #462 from andyzhangx/guest-create-subdir
feat: create sub dir in CreateVolume for guest mount option
2022-04-25 20:41:19 +08:00
andyzhangx 2f8db3b749 feat: create sub dir for guest option
fix

fix
2022-04-25 10:53:15 +00:00
Andy Zhang 6c31ab255b
Merge pull request #460 from andyzhangx/registry.k8s.io
chore: replace k8s.gcr.io with registry.k8s.io
2022-04-25 15:52:50 +08:00
andyzhangx 1f9f5206af chore: replace k8s.gcr.io with registry.k8s.io 2022-04-23 07:39:32 +00:00
Andy Zhang 80518da8a6
Merge pull request #457 from andyzhangx/guest-login
feat: support guest login option
2022-04-22 21:24:32 +08:00
Andy Zhang f5f87eec9f
Merge pull request #458 from andyzhangx/upgrade-base-image
chore: upgrade base image
2022-04-22 10:49:06 +08:00
andyzhangx c4d707f2f7 chore: switch base image registry 2022-04-21 13:52:35 +00:00
Andy Zhang fd02a10314
Merge pull request #459 from andyzhangx/fix-image-push
chore: fix image push in k8s staging repo
2022-04-21 21:51:18 +08:00
andyzhangx 36fb80ccfd test: fix IMAGE_NAME 2022-04-21 12:49:20 +00:00
andyzhangx 6a037f1756 chore: fix image push in k8s staging repo 2022-04-21 12:14:33 +00:00
andyzhangx 8190d07fe1 chore: refine package patching process 2022-04-20 10:44:39 +00:00
andyzhangx e509dc4008 chore: upgrade base image 2022-04-20 08:09:00 +00:00
Andy Zhang b55cdbd0f3
Merge pull request #456 from andyzhangx/CVE-2022-1271
fix: CVE-2022-1271 in image build
2022-04-19 20:36:56 +08:00
andyzhangx 0850f66958 feat: support guest login option 2022-04-19 12:28:52 +00:00
andyzhangx b1a085ba73 fix: CVE-2022-1271 in image build 2022-04-19 10:47:42 +00:00
Andy Zhang eddd6e7dbe
Update README.md 2022-04-12 11:08:03 +08:00
Andy Zhang cbde90da6e
Merge pull request #454 from andyzhangx/switch-master-1.7.0
chore: switch master branch to use v1.7.0
2022-04-12 10:14:22 +08:00
andyzhangx 221c6f2119 chore: switch master branch to use v1.7.0 2022-04-12 01:04:35 +00:00
Andy Zhang 50f065f944
Merge pull request #451 from andyzhangx/cut-v1.6.0
doc: cut v1.6.0 release
2022-04-11 21:56:55 +08:00
andyzhangx a356cb8ed7 doc: use latest version for master branch 2022-04-11 12:40:30 +00:00
5867 changed files with 748824 additions and 316773 deletions

View File

@ -17,6 +17,10 @@ about: Create a report to help us improve this project
**Anything else we need to know?**:
**Environment**:
<!--
Run following command to get CSI driver version:
kubectl get po -n kube-system -o yaml | grep registry.k8s | grep smb
-->
- CSI Driver version:
- Kubernetes version (use `kubectl version`):
- OS (e.g. from /etc/os-release):

View File

@ -9,7 +9,7 @@ STOP -- PLEASE READ!
GitHub is not the right place for support requests.
If you're looking for help, post your question on the [Kubernetes Slack ](http://slack.k8s.io/) Sig-AZURE Channel.
If you're looking for help, post your question on the [Kubernetes Slack ](http://slack.k8s.io/) sig-storage Channel.
If the matter is security related, please disclose it privately via https://kubernetes.io/security/.
-->

31
.github/dependabot.yaml vendored Normal file
View File

@ -0,0 +1,31 @@
version: 2
updates:
- package-ecosystem: gomod
directory: "/"
schedule:
interval: daily
labels:
- "area/dependency"
- "release-note-none"
- "ok-to-test"
open-pull-requests-limit: 1
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
labels:
- "area/dependency"
- "release-note-none"
- "ok-to-test"
open-pull-requests-limit: 1
- package-ecosystem: "docker"
directory: "/cmd/smbplugin/"
schedule:
interval: "daily"
time: "01:00"
timezone: "Asia/Shanghai"
labels:
- "area/dependency"
- "release-note-none"
- "ok-to-test"
- "kind/cleanup"

View File

@ -38,17 +38,17 @@ jobs:
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: ^1.18
id: go
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@ -63,4 +63,4 @@ jobs:
make all
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v3

View File

@ -8,9 +8,9 @@ jobs:
name: Check for spelling errors
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: codespell-project/actions-codespell@master
with:
check_filenames: true
skip: ./.git,./.github/workflows/codespell.yml,.git,*.png,*.jpg,*.svg,*.sum,./vendor,go.sum
ignore_words_list: browseable
ignore_words_list: "browseable,ro"

View File

@ -11,13 +11,13 @@ jobs:
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: ^1.16
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Build Test
run: |

View File

@ -11,32 +11,25 @@ jobs:
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: ^1.16
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Install packages
run: |
sudo apt update
sudo apt install cifs-utils procps conntrack -y
GO111MODULE=off go get github.com/rexray/gocsi/csc
sudo apt install cifs-utils procps -y
- name: Build Test
run: |
export PATH=$PATH:$HOME/.local/bin
go test -covermode=count -coverprofile=profile.cov ./pkg/...
go test -race -covermode=atomic -coverprofile=profile.cov ./pkg/...
export DOCKER_CLI_EXPERIMENTAL=enabled && make container
- name: Integration Testing
run: |
export PATH=$PATH:$HOME/.local/bin
make
make integration-test
- name: Sanity test
env:
GITHUB_ACTIONS: true
@ -46,9 +39,10 @@ jobs:
echo "is running in github actions: $GITHUB_ACTIONS"
make sanity-test
- name: Install goveralls
run: go install github.com/mattn/goveralls@latest
- name: Send coverage
env:
COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
GO111MODULE=off go get github.com/mattn/goveralls
$(go env GOPATH)/bin/goveralls -coverprofile=profile.cov -service=github
run: goveralls -coverprofile=profile.cov -service=github

View File

@ -11,7 +11,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
# https://pluto.docs.fairwinds.com/advanced/#display-options
- name: Download pluto

View File

@ -16,7 +16,7 @@ jobs:
name: Shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@master
env:

View File

@ -5,12 +5,15 @@ on:
jobs:
go_lint:
name: Go Lint
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@master
- name: Run linter
uses: golangci/golangci-lint-action@v2
- name: Set up Go 1.x
uses: actions/setup-go@v5
with:
version: v1.45
args: -E=gofmt,deadcode,unused,varcheck,ineffassign,revive,misspell,exportloopref,asciicheck,bodyclose,contextcheck --timeout=30m0s
go-version: ^1.19
- uses: actions/checkout@master
- name: Run linter
uses: golangci/golangci-lint-action@v6
with:
version: v1.64
args: -E=gofmt,unused,ineffassign,revive,misspell,copyloopvar,asciicheck,bodyclose,contextcheck,dogsled,durationcheck,errname,forbidigo -D=staticcheck --timeout=30m0s

View File

@ -7,16 +7,16 @@ on:
jobs:
build:
name: Build
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: ^1.16
go-version: 1.24.4
id: go
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Build an image from Dockerfile
run: |
@ -28,6 +28,8 @@ jobs:
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
env:
TRIVY_DB_REPOSITORY: "public.ecr.aws/aquasecurity/trivy-db:2"
with:
image-ref: 'test/smb-csi:latest'
format: 'table'

View File

@ -14,13 +14,13 @@ jobs:
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: ^1.16
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: e2e tests
run: |

View File

@ -12,12 +12,12 @@ jobs:
runs-on: ${{ matrix.platform }}
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: ^1.16
id: go
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Build Test
run: |
make smb-windows

2
.gitignore vendored
View File

@ -68,3 +68,5 @@ cscope.*
/bazel-*
*.pyc
bin

12
.golangci.yml Normal file
View File

@ -0,0 +1,12 @@
linters-settings:
depguard:
rules:
main:
files:
- $all
- "!$test"
allow:
- $gostd
- k8s.io
- sigs.k8s.io
- github.com

View File

@ -13,7 +13,7 @@ We have full documentation on how to get started contributing here:
- [Contributor License Agreement](https://git.k8s.io/community/CLA.md) Kubernetes projects require that you sign a Contributor License Agreement (CLA) before we can accept your pull requests
- [Kubernetes Contributor Guide](http://git.k8s.io/community/contributors/guide) - Main contributor documentation, or you can just jump directly to the [contributing section](http://git.k8s.io/community/contributors/guide#contributing)
- [Contributor Cheat Sheet](https://git.k8s.io/community/contributors/guide/contributor-cheatsheet.md) - Common resources for existing developers
- [Contributor Cheat Sheet](https://github.com/kubernetes/community/blob/master/contributors/guide/contributor-cheatsheet/README.md) - Common resources for existing developers
## Mentorship

113
Makefile
View File

@ -12,12 +12,24 @@
# See the License for the specific language governing permissions and
# limitations under the License.
CMDS=smbplugin
PKG = github.com/kubernetes-csi/csi-driver-smb
GIT_COMMIT ?= $(shell git rev-parse HEAD)
GINKGO_FLAGS = -ginkgo.v -ginkgo.timeout=2h
GO111MODULE = on
ifndef GOPATH
GOPATH := $(shell go env GOPATH)
endif
GOBIN ?= $(GOPATH)/bin
DOCKER_CLI_EXPERIMENTAL = enabled
IMAGENAME ?= smb-csi
export GOPATH GOBIN GO111MODULE DOCKER_CLI_EXPERIMENTAL
include release-tools/build.make
GIT_COMMIT := $(shell git rev-parse HEAD)
REGISTRY ?= andyzhangx
REGISTRY_NAME = $(shell echo $(REGISTRY) | sed "s/.azurecr.io//g")
IMAGE_NAME ?= smb-csi
IMAGE_VERSION ?= v1.6.0
REGISTRY_NAME := $(shell echo $(REGISTRY) | sed "s/.azurecr.io//g")
IMAGE_VERSION ?= v1.18.0
VERSION ?= latest
# Use a custom version for E2E tests if we are testing in CI
ifdef CI
@ -25,39 +37,34 @@ ifndef PUBLISH
override IMAGE_VERSION := e2e-$(GIT_COMMIT)
endif
endif
IMAGE_TAG = $(REGISTRY)/$(IMAGE_NAME):$(IMAGE_VERSION)
IMAGE_TAG_LATEST = $(REGISTRY)/$(IMAGE_NAME):latest
BUILD_DATE ?= $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
LDFLAGS ?= "-X ${PKG}/pkg/smb.driverVersion=${IMAGE_VERSION} -X ${PKG}/pkg/smb.gitCommit=${GIT_COMMIT} -X ${PKG}/pkg/smb.buildDate=${BUILD_DATE} -s -w -extldflags '-static'"
E2E_HELM_OPTIONS ?= --set image.smb.repository=$(REGISTRY)/$(IMAGE_NAME) --set image.smb.tag=$(IMAGE_VERSION) --set controller.dnsPolicy=ClusterFirstWithHostNet --set linux.dnsPolicy=ClusterFirstWithHostNet
IMAGE_TAG = $(REGISTRY)/$(IMAGENAME):$(IMAGE_VERSION)
IMAGE_TAG_LATEST = $(REGISTRY)/$(IMAGENAME):latest
ifndef BUILD_DATE
BUILD_DATE := $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
endif
LDFLAGS = -X ${PKG}/pkg/smb.driverVersion=${IMAGE_VERSION} -X ${PKG}/pkg/smb.gitCommit=${GIT_COMMIT} -X ${PKG}/pkg/smb.buildDate=${BUILD_DATE}
EXT_LDFLAGS = -s -w -extldflags "-static"
E2E_HELM_OPTIONS ?= --set image.smb.repository=$(REGISTRY)/$(IMAGENAME) --set image.smb.tag=$(IMAGE_VERSION) --set controller.runOnControlPlane=true
E2E_HELM_OPTIONS += ${EXTRA_HELM_OPTIONS}
GINKGO_FLAGS = -ginkgo.v
GO111MODULE = on
GOPATH ?= $(shell go env GOPATH)
GOBIN ?= $(GOPATH)/bin
DOCKER_CLI_EXPERIMENTAL = enabled
export GOPATH GOBIN GO111MODULE DOCKER_CLI_EXPERIMENTAL
# Generate all combination of all OS, ARCH, and OSVERSIONS for iteration
ALL_OS = linux windows
ALL_ARCH.linux = arm64 amd64 ppc64le
ALL_OS_ARCH.linux = linux-arm64 linux-arm-v7 linux-amd64 linux-ppc64le
ALL_ARCH.windows = amd64
ALL_OSVERSIONS.windows := 1809 20H2 ltsc2022
ALL_OSVERSIONS.windows := 1809 ltsc2022
ALL_OS_ARCH.windows = $(foreach arch, $(ALL_ARCH.windows), $(foreach osversion, ${ALL_OSVERSIONS.windows}, windows-${osversion}-${arch}))
ALL_OS_ARCH = $(foreach os, $(ALL_OS), ${ALL_OS_ARCH.${os}})
# The current context of image building
# The architecture of the image
ARCH ?= amd64
# OS Version for the Windows images: 1809, 1903, 1909, 2004
# OS Version for the Windows images: 1809, ltsc2022
OSVERSION ?= 1809
# Output type of docker buildx build
OUTPUT_TYPE ?= registry
.EXPORT_ALL_VARIABLES:
.PHONY: all
all: smb
.PHONY: update
@ -65,12 +72,6 @@ update:
hack/update-dependencies.sh
hack/verify-update.sh
# There seems to be some shell quoting problem with cloudbuild.yaml, and trying
# to pass multiple make targets appears as a single quoted string. See
# cloudbuild.yaml for how this is used.
.PHONY: cloudbuild
cloudbuild: container-all push-manifest push-latest
.PHONY: verify
verify: unit-test
hack/verify-all.sh
@ -101,11 +102,16 @@ e2e-test:
.PHONY: e2e-bootstrap
e2e-bootstrap: install-helm
ifdef WINDOWS_USE_HOST_PROCESS_CONTAINERS
(docker pull $(IMAGE_TAG) && docker pull $(IMAGE_TAG)-windows-hp) || make container-all push-manifest
else
docker pull $(IMAGE_TAG) || make container-all push-manifest
endif
ifdef TEST_WINDOWS
helm upgrade csi-driver-smb charts/$(VERSION)/csi-driver-smb --namespace kube-system --wait --timeout=15m -v=5 --debug --install \
${E2E_HELM_OPTIONS} \
--set windows.enabled=true \
--set windows.useHostProcessContainers=${WINDOWS_USE_HOST_PROCESS_CONTAINERS} \
--set linux.enabled=false \
--set controller.replicas=1 \
--set controller.logLevel=6 \
@ -125,39 +131,60 @@ e2e-teardown:
.PHONY: smb
smb:
CGO_ENABLED=0 GOOS=linux GOARCH=$(ARCH) go build -a -ldflags ${LDFLAGS} -mod vendor -o _output/${ARCH}/smbplugin ./pkg/smbplugin
CGO_ENABLED=0 GOOS=linux GOARCH=$(ARCH) go build -a -ldflags "${LDFLAGS} ${EXT_LDFLAGS}" -mod vendor -o _output/${ARCH}/smbplugin ./cmd/smbplugin
.PHONY: smb-armv7
smb-armv7:
CGO_ENABLED=0 GOOS=linux GOARCH=arm go build -a -ldflags ${LDFLAGS} -mod vendor -o _output/arm/v7/smbplugin ./pkg/smbplugin
CGO_ENABLED=0 GOOS=linux GOARCH=arm go build -a -ldflags "${LDFLAGS} ${EXT_LDFLAGS}" -mod vendor -o _output/arm/v7/smbplugin ./cmd/smbplugin
.PHONY: smb-windows
smb-windows:
CGO_ENABLED=0 GOOS=windows go build -a -ldflags ${LDFLAGS} -mod vendor -o _output/${ARCH}/smbplugin.exe ./pkg/smbplugin
CGO_ENABLED=0 GOOS=windows go build -a -ldflags "${LDFLAGS} ${EXT_LDFLAGS}" -mod vendor -o _output/${ARCH}/smbplugin.exe ./cmd/smbplugin
.PHONY: smb-darwin
smb-darwin:
CGO_ENABLED=0 GOOS=darwin go build -a -ldflags ${LDFLAGS} -mod vendor -o _output/${ARCH}/smbplugin ./pkg/smbplugin
CGO_ENABLED=0 GOOS=darwin go build -a -ldflags "${LDFLAGS} ${EXT_LDFLAGS}" -mod vendor -o _output/${ARCH}/smbplugin ./cmd/smbplugin
.PHONY: container
container: smb
docker build --no-cache -t $(IMAGE_TAG) --output=type=docker -f ./pkg/smbplugin/Dockerfile .
docker build --no-cache -t $(IMAGE_TAG) --output=type=docker -f ./cmd/smbplugin/Dockerfile .
.PHONY: container-linux
container-linux:
docker buildx build --pull --output=type=$(OUTPUT_TYPE) --platform="linux/$(ARCH)" \
-t $(IMAGE_TAG)-linux-$(ARCH) --build-arg ARCH=$(ARCH) -f ./pkg/smbplugin/Dockerfile .
docker buildx build --no-cache --pull --output=type=$(OUTPUT_TYPE) --platform="linux/$(ARCH)" \
--provenance=false --sbom=false \
-t $(IMAGE_TAG)-linux-$(ARCH) --build-arg ARCH=$(ARCH) -f ./cmd/smbplugin/Dockerfile .
.PHONY: container-linux-armv7
container-linux-armv7:
docker buildx build --pull --output=type=$(OUTPUT_TYPE) --platform="linux/arm/v7" \
-t $(IMAGE_TAG)-linux-arm-v7 --build-arg ARCH=arm/v7 -f ./pkg/smbplugin/Dockerfile .
docker buildx build --no-cache --pull --output=type=$(OUTPUT_TYPE) --platform="linux/arm/v7" \
--provenance=false --sbom=false \
-t $(IMAGE_TAG)-linux-arm-v7 --build-arg ARCH=arm/v7 -f ./cmd/smbplugin/Dockerfile .
.PHONY: container-windows
container-windows:
docker buildx build --pull --output=type=$(OUTPUT_TYPE) --platform="windows/$(ARCH)" \
docker buildx build --no-cache --pull --output=type=$(OUTPUT_TYPE) --platform="windows/$(ARCH)" \
-t $(IMAGE_TAG)-windows-$(OSVERSION)-$(ARCH) --build-arg OSVERSION=$(OSVERSION) \
--build-arg ARCH=$(ARCH) -f ./pkg/smbplugin/Windows.Dockerfile .
--provenance=false --sbom=false \
--build-arg ARCH=$(ARCH) -f ./cmd/smbplugin/Dockerfile.Windows .
# workaround: only build hostprocess image once
ifdef WINDOWS_USE_HOST_PROCESS_CONTAINERS
ifeq ($(OSVERSION),ltsc2022)
$(MAKE) container-windows-hostprocess
$(MAKE) container-windows-hostprocess-latest
endif
endif
# Set --provenance=false to not generate the provenance (which is what causes the multi-platform index to be generated, even for a single platform).
.PHONY: container-windows-hostprocess
container-windows-hostprocess:
docker buildx build --pull --output=type=$(OUTPUT_TYPE) --platform="windows/$(ARCH)" --provenance=false --sbom=false \
-t $(IMAGE_TAG)-windows-hp -f ./cmd/smbplugin/Dockerfile.WindowsHostProcess .
.PHONY: container-windows-hostprocess-latest
container-windows-hostprocess-latest:
docker buildx build --pull --output=type=$(OUTPUT_TYPE) --platform="windows/$(ARCH)" --provenance=false --sbom=false \
-t $(IMAGE_TAG_LATEST)-windows-hp -f ./cmd/smbplugin/Dockerfile.WindowsHostProcess .
.PHONY: container-all
container-all: smb-windows
@ -190,6 +217,7 @@ push-manifest:
done; \
done
docker manifest push --purge $(IMAGE_TAG)
docker manifest inspect $(IMAGE_TAG)
ifdef PUBLISH
docker manifest create $(IMAGE_TAG_LATEST) $(foreach osarch, $(ALL_OS_ARCH), $(IMAGE_TAG)-${osarch})
set -x; \
@ -201,25 +229,24 @@ ifdef PUBLISH
done; \
done
docker manifest inspect $(IMAGE_TAG_LATEST)
docker manifest create --amend $(IMAGE_TAG_LATEST)-windows-hp $(IMAGE_TAG_LATEST)-windows-hp
docker manifest inspect $(IMAGE_TAG_LATEST)-windows-hp
endif
.PHONY: push-latest
push-latest:
ifdef CI
docker manifest push --purge $(IMAGE_TAG_LATEST)
docker manifest push --purge $(IMAGE_TAG_LATEST)-windows-hp
else
docker push $(IMAGE_TAG_LATEST)
docker push $(IMAGE_TAG_LATEST)-windows-hp
endif
.PHONY: clean
clean:
go clean -r -x
-rm -rf _output
.PHONY: install-smb-provisioner
install-smb-provisioner:
kubectl delete secret smbcreds --ignore-not-found
kubectl create secret generic smbcreds --from-literal username=USERNAME --from-literal password="PASSWORD" --from-literal mountOptions="dir_mode=0777,file_mode=0777,uid=0,gid=0,mfsymlinks"
kubectl delete secret smbcreds --ignore-not-found -n default
kubectl create secret generic smbcreds --from-literal username=USERNAME --from-literal password="PASSWORD" --from-literal mountOptions="dir_mode=0777,file_mode=0777,uid=0,gid=0,mfsymlinks" -n default
ifdef TEST_WINDOWS
kubectl apply -f deploy/example/smb-provisioner/smb-server-lb.yaml
else

View File

@ -2,31 +2,34 @@
![linux build status](https://github.com/kubernetes-csi/csi-driver-smb/actions/workflows/linux.yaml/badge.svg)
![windows build status](https://github.com/kubernetes-csi/csi-driver-smb/actions/workflows/windows.yaml/badge.svg)
[![Coverage Status](https://coveralls.io/repos/github/kubernetes-csi/csi-driver-smb/badge.svg?branch=master)](https://coveralls.io/github/kubernetes-csi/csi-driver-smb?branch=master)
[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/csi-driver-smb)](https://artifacthub.io/packages/search?repo=csi-driver-smb)
### About
This driver allows Kubernetes to access [SMB](https://wiki.wireshark.org/SMB) server on both Linux and Windows nodes, csi plugin name: `smb.csi.k8s.io`. The driver requires existing and already configured SMB server, it supports dynamic provisioning of Persistent Volumes via Persistent Volume Claims by creating a new sub directory under SMB server.
This driver allows Kubernetes to access [SMB](https://wiki.wireshark.org/SMB) server on both Linux and Windows nodes, plugin name: `smb.csi.k8s.io`. The driver requires existing configured SMB server, it supports dynamic provisioning of Persistent Volumes via Persistent Volume Claims by creating a new sub directory under SMB server.
### Project status: GA
### Container Images & Kubernetes Compatibility:
|Driver Version | supported k8s version | supported [Windows csi-proxy](https://github.com/kubernetes-csi/csi-proxy) version |
|---------------|-----------------------|-------------------------------------|
|master branch | 1.20+ | v0.2.2+ |
|v1.6.0 | 1.20+ | v0.2.2+ |
|v1.5.0 | 1.19+ | v0.2.2+ |
|v1.4.0 | 1.19+ | v0.2.2+ |
|master branch | 1.21+ | v0.2.2+ |
|v1.18.0 | 1.21+ | v0.2.2+ |
|v1.17.0 | 1.21+ | v0.2.2+ |
|v1.16.0 | 1.21+ | v0.2.2+ |
### Driver parameters
Please refer to [`smb.csi.k8s.io` driver parameters](./docs/driver-parameters.md)
Please refer to `smb.csi.k8s.io` [driver parameters](./docs/driver-parameters.md)
### Install driver on a Kubernetes cluster
- install by [kubectl](./docs/install-smb-csi-driver.md)
- install by [helm charts](./charts)
- install via [helm charts](./charts)
- install via [kubectl](./docs/install-smb-csi-driver.md)
### Examples
- [How to Use the Windows CSI Proxy and CSI SMB Driver for Kubernetes](https://www.phillipsj.net/posts/how-to-use-the-windows-csi-proxy-and-csi-smb-driver-for-kubernetes/)
- [Set up a Samba Server on a Kubernetes cluster](./deploy/example/smb-provisioner/)
- [Basic usage](./deploy/example/e2e_usage.md)
- [Windows](./deploy/example/windows)
- [Volume cloning](./deploy/example/cloning)
### Troubleshooting
- [CSI driver troubleshooting guide](./docs/csi-debug.md)
@ -35,7 +38,8 @@ Please refer to [`smb.csi.k8s.io` driver parameters](./docs/driver-parameters.md
Please refer to [development guide](./docs/csi-dev.md)
### View CI Results
Check testgrid [sig-storage-csi-smb](https://testgrid.k8s.io/sig-storage-csi-other) dashboard.
- testgrid [sig-storage-csi-smb](https://testgrid.k8s.io/sig-storage-csi-other) dashboard.
- Driver image build pipeline: [post-csi-driver-smb-push-images](https://testgrid.k8s.io/sig-storage-image-build#post-csi-driver-smb-push-images)
### Links
- [SMB FlexVolume driver](https://github.com/Azure/kubernetes-volume-drivers/tree/master/flexvolume/smb)

View File

@ -1,30 +1,40 @@
# Install CSI driver with Helm 3
## Prerequisites
- [install Helm](https://helm.sh/docs/intro/quickstart/#install-helm)
- [install Helm](https://helm.sh/docs/intro/quickstart/#install-helm)
### Tips
- make controller only run on master node: `--set controller.runOnMaster=true`
- run smb-controller on control plane node: `--set controller.runOnControlPlane=true`
- Microk8s based kubernetes recommended settings:
- `--set linux.kubelet="/var/snap/microk8s/common/var/lib/kubelet"` - sets correct path to microk8s kubelet even though a user has a folder link to it.
### install a specific version
```console
helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.6.0
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.18.0
```
### install driver with customized driver name, deployment name
> only supported from `v1.2.0`+
- following example would install a driver with name `smb2`
- following example would install a driver with name `smb2`
```console
helm install csi-driver-smb2 csi-driver-smb/csi-driver-smb --namespace kube-system --set driver.name="smb2.csi.k8s.io" --set controller.name="csi-smb2-controller" --set rbac.name=smb2 --set serviceAccount.controller=csi-smb2-controller-sa --set serviceAccount.node=csi-smb2-node-sa --set node.name=csi-smb2-node --set node.livenessProbe.healthPort=39643
```
### search for all available chart versions
```console
helm search repo -l csi-driver-smb
```
## uninstall CSI driver
```console
helm uninstall csi-driver-smb -n kube-system
```
@ -33,86 +43,109 @@ helm uninstall csi-driver-smb -n kube-system
The following table lists the configurable parameters of the latest SMB CSI Driver chart and default values.
| Parameter | Description | Default |
|---------------------------------------------------|------------------------------------------------------------|-------------------------------------------------------------------|
| `driver.name` | alternative driver name | `smb.csi.k8s.io` |
| `feature.enableGetVolumeStats` | allow GET_VOLUME_STATS on agent node | `false` |
| `image.baseRepo` | base repository of driver images | `k8s.gcr.io/sig-storage` |
| `image.smb.repository` | csi-driver-smb docker image | `mcr.microsoft.com/k8s/csi/smb-csi` |
| `image.smb.tag` | csi-driver-smb docker image tag | `latest` |
| `image.smb.pullPolicy` | csi-driver-smb image pull policy | `IfNotPresent` |
| `image.csiProvisioner.repository` | csi-provisioner docker image | `k8s.gcr.io/sig-storage/csi-provisioner` |
| `image.csiProvisioner.tag` | csi-provisioner docker image tag | `v3.1.0` |
| `image.csiProvisioner.pullPolicy` | csi-provisioner image pull policy | `IfNotPresent` |
| `image.livenessProbe.repository` | liveness-probe docker image | `k8s.gcr.io/sig-storage/livenessprobe` |
| `image.livenessProbe.tag` | liveness-probe docker image tag | `v2.5.0` |
| `image.livenessProbe.pullPolicy` | liveness-probe image pull policy | `IfNotPresent` |
| `image.nodeDriverRegistrar.repository` | csi-node-driver-registrar docker image | `k8s.gcr.io/sig-storage/csi-node-driver-registrar` |
| `image.nodeDriverRegistrar.tag` | csi-node-driver-registrar docker image tag | `v2.4.0` |
| `image.nodeDriverRegistrar.pullPolicy` | csi-node-driver-registrar image pull policy | `IfNotPresent` |
| `imagePullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `serviceAccount.create` | whether create service account of csi-smb-controller | `true` |
| `rbac.create` | whether create rbac of csi-smb-controller | `true` |
| `rbac.name` | driver name in rbac role | `true` |
| `podAnnotations` | collection of annotations to add to all the pods | `{}` |
| `podLabels` | collection of labels to add to all the pods | `{}` |
| `priorityClassName` | priority class name to be added to pods | `system-cluster-critical` |
| `securityContext` | security context to be added to pods | `{}` |
| `controller.name` | name of driver deployment | `csi-smb-controller`
| `controller.replicas` | replica num of csi-smb-controller | `1` |
| `controller.dnsPolicy` | dnsPolicy of driver node daemonset, available values: `Default`, `ClusterFirstWithHostNet`, `ClusterFirst` |
| `controller.metricsPort` | metrics port of csi-smb-controller |`29644` |
| `controller.livenessProbe.healthPort ` | health check port for liveness probe | `29642` |
| `controller.logLevel` | controller driver log level |`5` |
| `controller.workingMountDir` | working directory for provisioner to mount smb shares temporarily | `/tmp` |
| `controller.runOnMaster` | run controller on master node | `false` |
| `controller.resources.csiProvisioner.limits.memory` | csi-provisioner memory limits | `100Mi` |
| `controller.resources.csiProvisioner.requests.cpu` | csi-provisioner cpu requests limits | `10m` |
| `controller.resources.csiProvisioner.requests.memory` | csi-provisioner memory requests limits | `20Mi` |
| `controller.resources.livenessProbe.limits.memory` | liveness-probe memory limits | `300Mi` |
| `controller.resources.livenessProbe.requests.cpu` | liveness-probe cpu requests limits | `10m` |
| `controller.resources.livenessProbe.requests.memory` | liveness-probe memory requests limits | `20Mi` |
| `controller.resources.smb.limits.memory` | smb-csi-driver memory limits | `200Mi` |
| `controller.resources.smb.requests.cpu` | smb-csi-driver cpu requests limits | `10m` |
| `controller.resources.smb.requests.memory` | smb-csi-driver memory requests limits | `20Mi` |
| `controller.resources.csiResizer.limits.memory` | csi-resizer memory limits | `300Mi` |
| `controller.resources.csiResizer.requests.cpu` | csi-resizer cpu requests limits | `10m` |
| `controller.resources.csiResizer.requests.memory` | csi-resizer memory requests limits | `20Mi` |
| `controller.affinity` | controller pod affinity | `{}` |
| `controller.nodeSelector` | controller pod node selector | `{}` |
| `controller.tolerations` | controller pod tolerations | `[]` |
| `node.maxUnavailable` | `maxUnavailable` value of csi-smb-node daemonset |`1`
| `node.metricsPort` | metrics port of csi-smb-node |`29645` |
| `node.livenessProbe.healthPort ` | health check port for liveness probe | `29643` |
| `node.logLevel` | node driver log level |`5` |
| `node.affinity` | node pod affinity | {} |
| `node.nodeSelector` | node pod node selector | `{}` |
| `linux.enabled` | whether enable linux feature |`true` |
| `linux.dsName` | name of driver daemonset on linux |`csi-smb-node` |
| `linux.dnsPolicy` | dnsPolicy of driver node daemonset, available values: `Default`, `ClusterFirstWithHostNet`, `ClusterFirst` |
| `linux.kubelet` | configure kubelet directory path on Linux agent node node | `/var/lib/kubelet` |
| `linux.resources.livenessProbe.limits.memory` | liveness-probe memory limits | `100Mi` |
| `linux.resources.livenessProbe.requests.cpu` | liveness-probe cpu requests limits | `10m` |
| `linux.resources.livenessProbe.requests.memory` | liveness-probe memory requests limits | `20Mi` |
| `linux.resources.nodeDriverRegistrar.limits.memory` | csi-node-driver-registrar memory limits | `100Mi` |
| `linux.resources.nodeDriverRegistrar.requests.cpu` | csi-node-driver-registrar cpu requests limits | `10m` |
| `linux.resources.nodeDriverRegistrar.requests.memory` | csi-node-driver-registrar memory requests limits | `20Mi` |
| `linux.resources.smb.limits.memory` | smb-csi-driver memory limits | `200Mi` |
| `linux.resources.smb.requests.cpu` | smb-csi-driver cpu requests limits | `10m` |
| `linux.resources.smb.requests.memory` | smb-csi-driver memory requests limits | `20Mi`
| `windows.enabled` | whether enable windows feature | `false` |
| `windows.dsName` | name of driver daemonset on windows |`csi-smb-node-win` |
| `windows.resources.livenessProbe.limits.memory` | liveness-probe memory limits | `200Mi` |
| `windows.resources.livenessProbe.requests.cpu` | liveness-probe cpu requests limits | `10m` |
| `windows.resources.livenessProbe.requests.memory` | liveness-probe memory requests limits | `20Mi` |
| `windows.resources.nodeDriverRegistrar.limits.memory` | csi-node-driver-registrar memory limits | `200Mi` |
| `windows.resources.nodeDriverRegistrar.requests.cpu` | csi-node-driver-registrar cpu requests limits | `10m` |
| `windows.resources.nodeDriverRegistrar.requests.memory` | csi-node-driver-registrar memory requests limits | `20Mi` |
| `windows.resources.smb.limits.memory` | smb-csi-driver memory limits | `400Mi` |
| `windows.resources.smb.requests.cpu` | smb-csi-driver cpu requests limits | `10m` |
| `windows.resources.smb.requests.memory` | smb-csi-driver memory requests limits | `20Mi` |
| `windows.kubelet` | configure kubelet directory path on Windows agent node | `'C:\var\lib\kubelet'` |
| Parameter | Description | Default |
|---------------------------------------------------------|------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| `driver.name` | alternative driver name | `smb.csi.k8s.io` |
| `feature.enableGetVolumeStats` | allow GET_VOLUME_STATS on agent node | `false` |
| `image.baseRepo` | base repository of driver images | `registry.k8s.io/sig-storage` |
| `image.smb.repository` | csi-driver-smb docker image | `gcr.io/k8s-staging-sig-storage/smbplugin` |
| `image.smb.tag` | csi-driver-smb docker image tag | `canary` |
| `image.smb.pullPolicy` | csi-driver-smb image pull policy | `IfNotPresent` |
| `image.csiProvisioner.tag` | csi-provisioner docker image tag | `v5.3.0` |
| `image.csiProvisioner.pullPolicy` | csi-provisioner image pull policy | `IfNotPresent` |
| `image.livenessProbe.repository` | liveness-probe docker image | `/livenessprobe` |
| `image.livenessProbe.tag` | liveness-probe docker image tag | `v2.16.0` |
| `image.livenessProbe.pullPolicy` | liveness-probe image pull policy | `IfNotPresent` |
| `image.nodeDriverRegistrar.repository` | csi-node-driver-registrar docker image | `/csi-node-driver-registrar` |
| `image.nodeDriverRegistrar.tag` | csi-node-driver-registrar docker image tag | `v2.14.0` |
| `image.nodeDriverRegistrar.pullPolicy` | csi-node-driver-registrar image pull policy | `IfNotPresent` |
| `imagePullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `serviceAccount.create` | whether create service account of csi-smb-controller | `true` |
| `rbac.create` | whether create rbac of csi-smb-controller | `true` |
| `rbac.name` | driver name in rbac role | `true` |
| `podAnnotations` | collection of annotations to add to all the pods | `{}` |
| `podLabels` | collection of labels to add to all the pods | `{}` |
| `priorityClassName` | priority class name to be added to pods | `system-cluster-critical` |
| `securityContext` | security context to be added to pods | `{ seccompProfile: {type: RuntimeDefault} }` |
| `controller.name` | name of driver deployment | `csi-smb-controller` |
| `controller.replicas` | replica num of csi-smb-controller | `1` |
| `controller.dnsPolicy` | dnsPolicy of driver node daemonset, available values: `Default`, `ClusterFirstWithHostNet`, `ClusterFirst` | `ClusterFirstWithHostNet` |
| `controller.metricsPort` | metrics port of csi-smb-controller | `29644` |
| `controller.livenessProbe.healthPort ` | health check port for liveness probe | `29642` |
| `controller.logLevel` | controller driver log level | `5` |
| `controller.workingMountDir` | working directory for provisioner to mount smb shares temporarily | `/tmp` |
| `controller.runOnMaster` | run controller on master node | `false` |
| `controller.runOnControlPlane` | run controller on control plane node | `false` |
| `controller.resources.csiProvisioner.limits.memory` | csi-provisioner memory limits | `400Mi` |
| `controller.resources.csiProvisioner.requests.cpu` | csi-provisioner cpu requests limits | `10m` |
| `controller.resources.csiProvisioner.requests.memory` | csi-provisioner memory requests limits | `20Mi` |
| `controller.resources.livenessProbe.limits.memory` | liveness-probe memory limits | `300Mi` |
| `controller.resources.livenessProbe.requests.cpu` | liveness-probe cpu requests limits | `10m` |
| `controller.resources.livenessProbe.requests.memory` | liveness-probe memory requests limits | `20Mi` |
| `controller.resources.smb.limits.memory` | smb-csi-driver memory limits | `200Mi` |
| `controller.resources.smb.requests.cpu` | smb-csi-driver cpu requests limits | `10m` |
| `controller.resources.smb.requests.memory` | smb-csi-driver memory requests limits | `20Mi` |
| `controller.resources.csiResizer.limits.memory` | csi-resizer memory limits | `400Mi` |
| `controller.resources.csiResizer.requests.cpu` | csi-resizer cpu requests limits | `10m` |
| `controller.resources.csiResizer.requests.memory` | csi-resizer memory requests limits | `20Mi` |
| `controller.affinity` | controller pod affinity | `{}` |
| `controller.nodeSelector` | controller pod node selector | `{}` |
| `controller.tolerations` | controller pod tolerations | `[]` |
| `node.maxUnavailable` | `maxUnavailable` value of csi-smb-node daemonset | `1` |
| `node.livenessProbe.healthPort ` | health check port for liveness probe | `29643` |
| `node.logLevel` | node driver log level | `5` |
| `node.affinity` | node pod affinity | {} |
| `node.nodeSelector` | node pod node selector | `{}` |
| `linux.enabled` | whether enable linux feature | `true` |
| `linux.dsName` | name of driver daemonset on linux | `csi-smb-node` |
| `linux.dnsPolicy` | dnsPolicy of driver node daemonset, available values: `Default`, `ClusterFirstWithHostNet`, `ClusterFirst` | `ClusterFirstWithHostNet` |
| `linux.kubelet` | configure kubelet directory path on Linux agent node node | `/var/lib/kubelet` |
| `linux.krb5CacheDirectory` | directory for kerberos cache on Linux agent node node, empty string means default | `/var/lib/kubelet/kerberos/` |
| `linux.krb5Prefix` | prefix for kerberos cache on Linux agent node node, empty string means default | `krb5cc_` |
| `linux.resources.livenessProbe.limits.memory` | liveness-probe memory limits | `100Mi` |
| `linux.resources.livenessProbe.requests.cpu` | liveness-probe cpu requests limits | `10m` |
| `linux.resources.livenessProbe.requests.memory` | liveness-probe memory requests limits | `20Mi` |
| `linux.resources.nodeDriverRegistrar.limits.memory` | csi-node-driver-registrar memory limits | `100Mi` |
| `linux.resources.nodeDriverRegistrar.requests.cpu` | csi-node-driver-registrar cpu requests limits | `10m` |
| `linux.resources.nodeDriverRegistrar.requests.memory` | csi-node-driver-registrar memory requests limits | `20Mi` |
| `linux.resources.smb.limits.memory` | smb-csi-driver memory limits | `200Mi` |
| `linux.resources.smb.requests.cpu` | smb-csi-driver cpu requests limits | `10m` |
| `linux.resources.smb.requests.memory` | smb-csi-driver memory requests limits | `20Mi` |
| `windows.enabled` | whether enable windows feature | `true` |
| `windows.useHostProcessContainers` | whether deploy driver daemonset with HostProcess containers on windows | `true` |
| `windows.dsName` | name of driver daemonset on windows | `csi-smb-node-win` |
| `windows.removeSMBMappingDuringUnmount` | remove SMBMapping during unmount on Windows node windows | `true` |
| `windows.resources.livenessProbe.limits.memory` | liveness-probe memory limits | `200Mi` |
| `windows.resources.livenessProbe.requests.cpu` | liveness-probe cpu requests limits | `10m` |
| `windows.resources.livenessProbe.requests.memory` | liveness-probe memory requests limits | `20Mi` |
| `windows.resources.nodeDriverRegistrar.limits.memory` | csi-node-driver-registrar memory limits | `200Mi` |
| `windows.resources.nodeDriverRegistrar.requests.cpu` | csi-node-driver-registrar cpu requests limits | `10m` |
| `windows.resources.nodeDriverRegistrar.requests.memory` | csi-node-driver-registrar memory requests limits | `20Mi` |
| `windows.resources.smb.limits.memory` | smb-csi-driver memory limits | `400Mi` |
| `windows.resources.smb.requests.cpu` | smb-csi-driver cpu requests limits | `10m` |
| `windows.resources.smb.requests.memory` | smb-csi-driver memory requests limits | `20Mi` |
| `windows.kubelet` | configure kubelet directory path on Windows agent node | `'C:\var\lib\kubelet'` |
### Csi Proxy support on windows
> if you have set `windows.useHostProcessContainers` as `true`, csi-proxy is not needed by CSI driver.
The helm can setup the host-process deamonset for the csi proxy, by setting windows.csiproxy.enabled to true.
The following table lists the configurable parameters of the latest CSI-proxy Driver chart and default values.
| Parameter | Description | Default |
|---------------------------------------------------------|------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| `windows.csiproxy.enabled` | whether enable csi-proxy daemonset | `false` |
| `windows.csiproxy.dsName` | name of driver csi-proxy daemonset on windows | `csi-proxy-win` |
| `windows.csiproxy.username` | name of windows user on the host machine to run the proxy as | `NT AUTHORITY\\SYSTEM` |
| `windows.csiproxy.affinity` | controller pod affinity | `{}` |
| `windows.csiproxy.nodeSelector` | controller pod node selector | `{"kubernetes.io/os": windows} |
| `windows.csiproxy.tolerations` | controller pod tolerations | `[]` |
| `image.csiproxy.repository` | csiproxy docker image | `ghcr.io/kubernetes-sigs/sig-windows/csi-proxy` |
| `image.csiproxy.tag` | csiproxy docker image tag | `v1.1.2` |
| `image.csiproxy.pullPolicy` | csiproxy image pull policy | `IfNotPresent` |
## troubleshooting
- Add `--wait -v=5 --debug` in `helm install` command to get detailed error
- Use `kubectl describe` to acquire more info
- Add `--wait -v=5 --debug` in `helm install` command to get detailed error
- Use `kubectl describe` to acquire more info

View File

@ -0,0 +1,4 @@
repositoryID: f8826546-4767-4e66-999c-3ad144141be3
owners:
- name: andyzhangx
email: xiazhang@microsoft.com

View File

@ -2,44 +2,143 @@ apiVersion: v1
entries:
csi-driver-smb:
- apiVersion: v1
appVersion: v1.6.0
created: "2022-04-11T12:39:36.578255032Z"
appVersion: 1.18.0
created: "2025-05-12T03:19:29.368170409Z"
description: SMB CSI Driver for Kubernetes
digest: c8a41522b1cc669a76e4539c96dde9229d772d17e220f5b0b6e07772ad58473e
digest: 0e1be374c05208df165aee068b74b7e3da6af1664aa62e19b27953d659f39bca
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/latest/csi-driver-smb-v1.6.0.tgz
version: v1.6.0
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.18.0/csi-driver-smb-1.18.0.tgz
version: 1.18.0
- apiVersion: v1
appVersion: v1.17.0
created: "2025-05-12T03:19:29.367522996Z"
description: SMB CSI Driver for Kubernetes
digest: 9ff1f5c12e399180b51d723280282e786051a707208d7843aedf656a7669b988
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.17.0/csi-driver-smb-v1.17.0.tgz
version: v1.17.0
- apiVersion: v1
appVersion: v1.16.0
created: "2025-05-12T03:19:29.366857789Z"
description: SMB CSI Driver for Kubernetes
digest: 2c65fecc535e072ea322752ef6d3500bb494bc746b63f5b1ed98cd64f82a1d9e
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.16.0/csi-driver-smb-v1.16.0.tgz
version: v1.16.0
- apiVersion: v1
appVersion: v1.15.0
created: "2025-05-12T03:19:29.36626918Z"
description: SMB CSI Driver for Kubernetes
digest: 1f006480427f88f781c3f7b3cf5e3d0429c68bb082a6a9337363ea5ef5a5cd0b
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.15.0/csi-driver-smb-v1.15.0.tgz
version: v1.15.0
- apiVersion: v1
appVersion: v1.14.0
created: "2025-05-12T03:19:29.365636738Z"
description: SMB CSI Driver for Kubernetes
digest: a84e22518f5e6cd1d3fcb06ef8c7616371c96400e8db6227bc84cd0474f6cce1
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.14.0/csi-driver-smb-v1.14.0.tgz
version: v1.14.0
- apiVersion: v1
appVersion: v1.13.0
created: "2025-05-12T03:19:29.36433441Z"
description: SMB CSI Driver for Kubernetes
digest: 21ee866afbf5a59892c5588b00518e0f7853beac7643e8e558d440a260c6f142
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.13.0/csi-driver-smb-v1.13.0.tgz
version: v1.13.0
- apiVersion: v1
appVersion: v1.12.0
created: "2025-05-12T03:19:29.363163359Z"
description: SMB CSI Driver for Kubernetes
digest: fccc852a3e723b9d273ea21d1d59697a0a94b65665406de1fd7c461bd894d2a3
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.12.0/csi-driver-smb-v1.12.0.tgz
version: v1.12.0
- apiVersion: v1
appVersion: v1.11.0
created: "2025-05-12T03:19:29.362593759Z"
description: SMB CSI Driver for Kubernetes
digest: 1c0f9b72801cbeb240d06dfe665a58e4b6ac0c25c5315ee5b9fe7972362796d0
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.11.0/csi-driver-smb-v1.11.0.tgz
version: v1.11.0
- apiVersion: v1
appVersion: v1.10.0
created: "2025-05-12T03:19:29.362056127Z"
description: SMB CSI Driver for Kubernetes
digest: 82e460e6fa80da9ca523a86c28e001e15595d27c3507864f2123dbadc64c7fec
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.10.0/csi-driver-smb-v1.10.0.tgz
version: v1.10.0
- apiVersion: v1
appVersion: v1.9.0
created: "2025-05-12T03:19:29.373851592Z"
description: SMB CSI Driver for Kubernetes
digest: 5c78c650b9755e508afecb3f6a554c549509023f7b0610b53853a41783d1c08f
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.9.0/csi-driver-smb-v1.9.0.tgz
version: v1.9.0
- apiVersion: v1
appVersion: v1.8.0
created: "2025-05-12T03:19:29.372178048Z"
description: SMB CSI Driver for Kubernetes
digest: d19d156c2143d753085bcbcb32506f8ebd7ebdee275e726f9c8d774a1f0b9f34
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.8.0/csi-driver-smb-v1.8.0.tgz
version: v1.8.0
- apiVersion: v1
appVersion: v1.7.0
created: "2025-05-12T03:19:29.371130582Z"
description: SMB CSI Driver for Kubernetes
digest: 65594a1ff09d912a33ee0674bba1fad1f7c717638a281fb68bcfa2c98c288453
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.7.0/csi-driver-smb-v1.7.0.tgz
version: v1.7.0
- apiVersion: v1
appVersion: v1.6.0
created: "2022-04-11T12:39:36.587612292Z"
created: "2025-05-12T03:19:29.37063084Z"
description: SMB CSI Driver for Kubernetes
digest: 78676296fdc3c033b6e1209cee691a9786ae076dba215e15b72da06b6ed1d822
digest: 31dd4c8b0b0d4a61565631aa5b433b18b5375aeb24812bf4fa9958d5b7917485
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.6.0/csi-driver-smb-v1.6.0.tgz
version: v1.6.0
- apiVersion: v1
appVersion: v1.5.0
created: "2022-04-11T12:39:36.58571508Z"
created: "2025-05-12T03:19:29.370116235Z"
description: SMB CSI Driver for Kubernetes
digest: ccdaf76d75b7aa3ad16e4d06b6a7a010f00b83b707d8a21bb2e51500fe1a812c
digest: b7dc9e9dc5d46df12a6d1a5643efe86439bff6c36867968f772e6899692083d6
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.5.0/csi-driver-smb-v1.5.0.tgz
version: v1.5.0
- apiVersion: v1
appVersion: v1.4.0
created: "2022-04-11T12:39:36.584558273Z"
created: "2025-05-12T03:19:29.3696143Z"
description: SMB CSI Driver for Kubernetes
digest: 491313a33a8dba6fa812a5b074029566f31b2a9568f9220d7fd255ff3e50c4da
digest: 9b1a6166ab72c09d0eefb448ecc998639b9f6255afb00bfc0ae0a4fdad76f119
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.4.0/csi-driver-smb-v1.4.0.tgz
version: v1.4.0
- apiVersion: v1
appVersion: v1.3.0
created: "2022-04-11T12:39:36.583539166Z"
created: "2025-05-12T03:19:29.369112521Z"
description: SMB CSI Driver for Kubernetes
digest: d2236d36f1cb24139ddf87ea87229369ed856efc42330e656330f6cfa7635858
name: csi-driver-smb
@ -48,52 +147,52 @@ entries:
version: v1.3.0
- apiVersion: v1
appVersion: v1.2.0
created: "2022-04-11T12:39:36.58263726Z"
created: "2025-05-12T03:19:29.368654242Z"
description: SMB CSI Driver for Kubernetes
digest: f475924011bf4b3d920cee85e07f1236731fc8256634c12f49b8eae1711c99ab
digest: 9d7099165db24d5412c95b298a59cca9b233ab8800d04efd34bb055812390915
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.2.0/csi-driver-smb-v1.2.0.tgz
version: v1.2.0
- apiVersion: v1
appVersion: v1.1.0
created: "2022-04-11T12:39:36.581777455Z"
created: "2025-05-12T03:19:29.361497493Z"
description: SMB CSI Driver for Kubernetes
digest: 19bdba4a6b473bf3d7494cea64146fc1874c8440e3adf5262d822659cd276837
digest: 5b39613c9104db06815ee2d42fec8507c3bb2038264513449079a4eb5b6530a8
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.1.0/csi-driver-smb-v1.1.0.tgz
version: v1.1.0
- apiVersion: v1
appVersion: v1.0.0
created: "2022-04-11T12:39:36.58105525Z"
created: "2025-05-12T03:19:29.361028833Z"
description: SMB CSI Driver for Kubernetes
digest: 2360e6e088403818944cc057ad3bf0f99ae295a421d4637f1d3c7cbe3c4ab27f
digest: 3e4721dd007cc51750f7221be8f66ec7e287c83a8cdcfeb9a71c30f526b06dc4
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.0.0/csi-driver-smb-v1.0.0.tgz
version: v1.0.0
- apiVersion: v1
appVersion: v0.6.0
created: "2022-04-11T12:39:36.580481446Z"
created: "2025-05-12T03:19:29.360741662Z"
description: SMB CSI Driver for Kubernetes
digest: 5ad0b7b9f84fa313387a9bbfb0ed59cff70b10633cedf81e7b77af936ff2806e
digest: 6fc9d05bc78ca98fb17071b7f5ad05b4c071f2403114d72feae99fb89ca1fc9f
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v0.6.0/csi-driver-smb-v0.6.0.tgz
version: v0.6.0
- apiVersion: v1
appVersion: v0.5.0
created: "2022-04-11T12:39:36.580054444Z"
created: "2025-05-12T03:19:29.360466702Z"
description: SMB CSI Driver for Kubernetes
digest: b400ef563745dcaf4a819a05b1e8a11d9442ae1ddf46da70542d5c87cd4cd9a1
digest: 8264c6630806325613234c2d7951c188d073607e6f0f89d781ec32afed04157b
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v0.5.0/csi-driver-smb-v0.5.0.tgz
version: v0.5.0
- apiVersion: v1
appVersion: v0.4.0
created: "2022-04-11T12:39:36.579609741Z"
created: "2025-05-12T03:19:29.360192361Z"
description: SMB CSI Driver for Kubernetes
digest: fb6d581ba5d4d1d78ca468f6daa4a24c47bb147b74d005d3c394521b4e534a3e
name: csi-driver-smb
@ -102,7 +201,7 @@ entries:
version: v0.4.0
- apiVersion: v1
appVersion: v0.3.0
created: "2022-04-11T12:39:36.579133738Z"
created: "2025-05-12T03:19:29.359911399Z"
description: SMB CSI Driver for Kubernetes
digest: ee9e58db6d4a95491e2012c6607126bbff827b9c439e90e9a9798d2a73b0cb22
name: csi-driver-smb
@ -111,11 +210,29 @@ entries:
version: v0.3.0
- apiVersion: v1
appVersion: v0.2.0
created: "2022-04-11T12:39:36.578694635Z"
created: "2025-05-12T03:19:29.359658821Z"
description: SMB CSI Driver for Kubernetes
digest: 8d8667106306d78dea9f63e5a3e8ee7ad2b60f86bd625f5968e37ca6a0cad317
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v0.2.0/csi-driver-smb-v0.2.0.tgz
version: v0.2.0
generated: "2022-04-11T12:39:36.577141525Z"
- apiVersion: v1
appVersion: latest
created: "2025-05-12T03:19:29.373275812Z"
description: SMB CSI Driver for Kubernetes
digest: 37a15bd85f6f9f2df20aed317d9baa3774128552488d02c2897d561e67777963
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/v1.9.0/csi-driver-smb-v0.0.0.tgz
version: v0.0.0
- apiVersion: v1
appVersion: latest
created: "2025-05-12T03:19:29.359346474Z"
description: SMB CSI Driver for Kubernetes
digest: ceed2b6a0eb6e2b7c528fd9aacc88a87d39414e092714f411b5cabfed5a93e0c
name: csi-driver-smb
urls:
- https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts/latest/csi-driver-smb-v0.0.0.tgz
version: v0.0.0
generated: "2025-05-12T03:19:29.358492786Z"

Binary file not shown.

View File

@ -1,5 +1,5 @@
apiVersion: v1
appVersion: v1.6.0
appVersion: latest
description: SMB CSI Driver for Kubernetes
name: csi-driver-smb
version: v1.6.0
version: v0.0.0

View File

@ -2,4 +2,4 @@ The CSI SMB Driver is getting deployed to your cluster.
To check CSI SMB Driver pods status, please run:
kubectl --namespace={{ .Release.Namespace }} get pods --selector="release={{ .Release.Name }}" --watch
kubectl --namespace={{ .Release.Namespace }} get pods --selector="app.kubernetes.io/name={{ .Release.Name }}" --watch

View File

@ -0,0 +1,48 @@
{{- if .Values.windows.csiproxy.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.windows.csiproxy.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.windows.csiproxy.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.windows.csiproxy.dsName }}
spec:
{{- with .Values.windows.csiproxy.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
securityContext:
windowsOptions:
hostProcess: true
runAsUserName: {{ .Values.windows.csiproxy.username | quote }}
hostNetwork: true
nodeSelector:
{{- with .Values.windows.csiproxy.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: csi-proxy
{{- if hasPrefix "/" .Values.image.csiproxy.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiproxy.repository }}:{{ .Values.image.csiproxy.tag }}"
{{- else }}
image: "{{ .Values.image.csiproxy.repository }}:{{ .Values.image.csiproxy.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.csiproxy.pullPolicy }}
{{- end -}}

View File

@ -6,6 +6,8 @@ metadata:
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
strategy:
type: Recreate
replicas: {{ .Values.controller.replicas }}
selector:
matchLabels:
@ -22,10 +24,28 @@ spec:
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
{{- with .Values.controller.affinity }}
# runOnControlPlane=true or runOnMaster=true only takes effect if affinity is not set
{{- if tpl "{{ .Values.controller.affinity }}" . | contains "nodeSelectorTerms" }}
{{- with .Values.controller.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
{{- end }}
{{- else if or .Values.controller.runOnControlPlane .Values.controller.runOnMaster}}
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
{{- if .Values.controller.runOnControlPlane}}
- key: node-role.kubernetes.io/control-plane
operator: Exists
{{- end}}
{{- if .Values.controller.runOnMaster}}
- key: node-role.kubernetes.io/master
operator: Exists
{{- end}}
{{- end }}
hostNetwork: true
dnsPolicy: {{ .Values.controller.dnsPolicy }}
serviceAccountName: {{ .Values.serviceAccount.controller }}
nodeSelector:
@ -34,9 +54,12 @@ spec:
{{- end }}
kubernetes.io/os: linux
{{- if .Values.controller.runOnMaster}}
kubernetes.io/role: master
node-role.kubernetes.io/master: ""
{{- end}}
priorityClassName: system-cluster-critical
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
{{- with .Values.controller.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
@ -54,6 +77,9 @@ spec:
- "--csi-address=$(ADDRESS)"
- "--leader-election"
- "--leader-election-namespace={{ .Release.Namespace }}"
- "--extra-create-metadata=true"
- "--feature-gates=HonorPVReclaimPolicy=true"
- "--retry-interval-max=30m"
env:
- name: ADDRESS
value: /csi/csi.sock
@ -62,6 +88,35 @@ spec:
- mountPath: /csi
name: socket-dir
resources: {{- toYaml .Values.controller.resources.csiProvisioner | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
- name: csi-resizer
{{- if hasPrefix "/" .Values.image.csiResizer.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}"
{{- else }}
image: "{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}"
{{- end }}
args:
- "-csi-address=$(ADDRESS)"
- "-v=2"
- "-leader-election"
- "--leader-election-namespace={{ .Release.Namespace }}"
- '-handle-volume-inuse-error=false'
env:
- name: ADDRESS
value: /csi/csi.sock
imagePullPolicy: {{ .Values.image.csiResizer.pullPolicy }}
volumeMounts:
- name: socket-dir
mountPath: /csi
resources: {{- toYaml .Values.controller.resources.csiResizer | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
- name: liveness-probe
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
@ -71,13 +126,18 @@ spec:
args:
- --csi-address=/csi/csi.sock
- --probe-timeout=3s
- --health-port={{ .Values.controller.livenessProbe.healthPort }}
- --http-endpoint=localhost:{{ .Values.controller.livenessProbe.healthPort }}
- --v=2
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
volumeMounts:
- name: socket-dir
mountPath: /csi
resources: {{- toYaml .Values.controller.resources.livenessProbe | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
@ -92,17 +152,15 @@ spec:
- "--drivername={{ .Values.driver.name }}"
- "--working-mount-dir={{ .Values.controller.workingMountDir }}"
ports:
- containerPort: {{ .Values.controller.livenessProbe.healthPort }}
name: healthz
protocol: TCP
- containerPort: {{ .Values.controller.metricsPort }}
name: metrics
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
host: localhost
path: /healthz
port: healthz
port: {{ .Values.controller.livenessProbe.healthPort }}
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
@ -111,6 +169,9 @@ spec:
value: unix:///csi/csi.sock
securityContext:
privileged: true
capabilities:
drop:
- ALL
volumeMounts:
- mountPath: /csi
name: socket-dir
@ -118,6 +179,3 @@ spec:
volumes:
- name: socket-dir
emptyDir: {}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}

View File

@ -6,3 +6,8 @@ metadata:
spec:
attachRequired: false
podInfoOnMount: true
volumeLifecycleModes:
- Persistent
{{- if .Values.feature.enableInlineVolume }}
- Ephemeral
{{- end }}

View File

@ -0,0 +1,121 @@
{{- if and .Values.windows.enabled .Values.windows.useHostProcessContainers }}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.windows.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.windows.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.windows.dsName }}
spec:
{{- with .Values.windows.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
nodeSelector:
kubernetes.io/os: windows
{{- with .Values.node.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
serviceAccountName: {{ .Values.serviceAccount.node }}
{{- include "smb.pullSecrets" . | indent 6 }}
securityContext:
seccompProfile:
type: RuntimeDefault
windowsOptions:
hostProcess: true
runAsUserName: "NT AUTHORITY\\SYSTEM"
hostNetwork: true
initContainers:
- name: init
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}-windows-hp"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}-windows-hp"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
command:
- "powershell.exe"
- "-c"
- "New-Item -ItemType Directory -Path C:\\var\\lib\\kubelet\\plugins\\{{ .Values.driver.name }}\\ -Force"
securityContext:
capabilities:
drop:
- ALL
containers:
- name: node-driver-registrar
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- else }}
image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- end }}
command:
- "csi-node-driver-registrar.exe"
args:
- "--csi-address=$(CSI_ENDPOINT)"
- "--kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)"
- "--plugin-registration-path=$(PLUGIN_REG_DIR)"
- "--v=2"
env:
- name: CSI_ENDPOINT
value: unix://{{ .Values.windows.kubelet }}\plugins\{{ .Values.driver.name }}\csi.sock
- name: DRIVER_REG_SOCK_PATH
value: C:\\var\\lib\\kubelet\\plugins\\{{ .Values.driver.name }}\\csi.sock
- name: PLUGIN_REG_DIR
value: C:\\var\\lib\\kubelet\\plugins_registry\\
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
imagePullPolicy: {{ .Values.image.nodeDriverRegistrar.pullPolicy }}
resources: {{- toYaml .Values.windows.resources.nodeDriverRegistrar | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}-windows-hp"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}-windows-hp"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
command:
- "smbplugin.exe"
args:
- "--v={{ .Values.node.logLevel }}"
- "--drivername={{ .Values.driver.name }}"
- --endpoint=$(CSI_ENDPOINT)
- --nodeid=$(KUBE_NODE_NAME)
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
- "--remove-smb-mapping-during-unmount={{ .Values.windows.removeSMBMappingDuringUnmount }}"
- "--enable-windows-host-process=true"
env:
- name: CSI_ENDPOINT
value: unix://{{ .Values.windows.kubelet }}\plugins\{{ .Values.driver.name }}\csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
resources: {{- toYaml .Values.windows.resources.smb | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
{{- end -}}

View File

@ -1,4 +1,4 @@
{{- if .Values.windows.enabled}}
{{- if and .Values.windows.enabled (not .Values.windows.useHostProcessContainers) }}
kind: DaemonSet
apiVersion: apps/v1
metadata:
@ -24,7 +24,18 @@ spec:
{{- end }}
nodeSelector:
kubernetes.io/os: windows
priorityClassName: system-node-critical
{{- with .Values.node.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
serviceAccountName: {{ .Values.serviceAccount.node }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: liveness-probe
@ -46,6 +57,10 @@ spec:
value: unix://C:\\csi\\csi.sock
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
resources: {{- toYaml .Values.windows.resources.livenessProbe | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
- name: node-driver-registrar
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
@ -56,19 +71,11 @@ spec:
- --v=2
- --csi-address=$(CSI_ENDPOINT)
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
livenessProbe:
exec:
command:
- /csi-node-driver-registrar.exe
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --mode=kubelet-registration-probe
initialDelaySeconds: 60
timeoutSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
- name: DRIVER_REG_SOCK_PATH
value: {{ .Values.windows.kubelet }}\\plugins\\{{ .Values.driver.name }}\\csi.sock
value: {{ .Values.windows.kubelet | replace "\\" "\\\\" }}\\plugins\\{{ .Values.driver.name }}\\csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
@ -80,6 +87,10 @@ spec:
- name: registration-dir
mountPath: C:\registration
resources: {{- toYaml .Values.windows.resources.nodeDriverRegistrar | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
@ -92,8 +103,8 @@ spec:
- "--drivername={{ .Values.driver.name }}"
- --endpoint=$(CSI_ENDPOINT)
- --nodeid=$(KUBE_NODE_NAME)
- "--metrics-address=0.0.0.0:{{ .Values.node.metricsPort }}"
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
- "--remove-smb-mapping-during-unmount={{ .Values.windows.removeSMBMappingDuringUnmount }}"
ports:
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
name: healthz
@ -130,6 +141,10 @@ spec:
- name: csi-proxy-smb-pipe-v1beta1
mountPath: \\.\pipe\csi-proxy-smb-v1beta1
resources: {{- toYaml .Values.windows.resources.smb | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
volumes:
- name: csi-proxy-fs-pipe-v1
hostPath:

View File

@ -25,17 +25,22 @@ spec:
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
hostNetwork: true
dnsPolicy: {{ .Values.linux.dnsPolicy }}
serviceAccountName: {{ .Values.serviceAccount.node }}
nodeSelector:
kubernetes.io/os: linux
{{- with .Values.node.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
{{- if .Values.node.affinity }}
{{- toYaml .Values.node.affinity | nindent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
{{- with .Values.linux.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
@ -54,10 +59,15 @@ spec:
args:
- --csi-address=/csi/csi.sock
- --probe-timeout=3s
- --health-port={{ .Values.node.livenessProbe.healthPort }}
- --http-endpoint=localhost:{{ .Values.node.livenessProbe.healthPort }}
- --v=2
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
resources: {{- toYaml .Values.linux.resources.livenessProbe | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
- name: node-driver-registrar
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
@ -68,14 +78,6 @@ spec:
- --csi-address=$(ADDRESS)
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --v=2
livenessProbe:
exec:
command:
- /csi-node-driver-registrar
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --mode=kubelet-registration-probe
initialDelaySeconds: 30
timeoutSeconds: 15
env:
- name: ADDRESS
value: /csi/csi.sock
@ -88,6 +90,10 @@ spec:
- name: registration-dir
mountPath: /registration
resources: {{- toYaml .Values.linux.resources.nodeDriverRegistrar | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
@ -100,17 +106,14 @@ spec:
- "--drivername={{ .Values.driver.name }}"
- "--endpoint=$(CSI_ENDPOINT)"
- "--nodeid=$(KUBE_NODE_NAME)"
- "--metrics-address=0.0.0.0:{{ .Values.node.metricsPort }}"
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
ports:
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
name: healthz
protocol: TCP
- "--krb5-prefix={{ .Values.linux.krb5Prefix }}"
livenessProbe:
failureThreshold: 5
httpGet:
host: localhost
path: /healthz
port: healthz
port: {{ .Values.node.livenessProbe.healthPort }}
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
@ -124,12 +127,20 @@ spec:
fieldPath: spec.nodeName
securityContext:
privileged: true
capabilities:
drop:
- ALL
volumeMounts:
- mountPath: /csi
name: socket-dir
- mountPath: {{ .Values.linux.kubelet }}/
- mountPath: {{ .Values.linux.kubelet }}
mountPropagation: Bidirectional
name: mountpoint-dir
{{- if ne .Values.linux.krb5CacheDirectory "" }}
- mountPath: {{ .Values.linux.kubelet }}/kerberos/
mountPropagation: Bidirectional
name: krb5cache-dir
{{- end }}
resources: {{- toYaml .Values.linux.resources.smb | nindent 12 }}
volumes:
- hostPath:
@ -144,7 +155,10 @@ spec:
path: {{ .Values.linux.kubelet }}/plugins_registry/
type: DirectoryOrCreate
name: registration-dir
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
{{- if ne .Values.linux.krb5CacheDirectory "" }}
- hostPath:
path: {{ .Values.linux.krb5CacheDirectory }}
type: DirectoryOrCreate
name: krb5cache-dir
{{- end }}
{{- end -}}

View File

@ -1,58 +0,0 @@
{{- if .Values.serviceAccount.create -}}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
{{ end }}
{{- if .Values.rbac.create -}}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Values.rbac.name }}-external-provisioner-role
{{ include "smb.labels" . | indent 2 }}
rules:
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "delete"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "list", "watch", "update"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["events"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: ["storage.k8s.io"]
resources: ["csinodes"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list", "watch"]
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Values.rbac.name }}-csi-provisioner-binding
{{ include "smb.labels" . | indent 2 }}
subjects:
- kind: ServiceAccount
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Values.rbac.name }}-external-provisioner-role
apiGroup: rbac.authorization.k8s.io
{{ end }}

View File

@ -0,0 +1,126 @@
{{- if .Values.serviceAccount.create -}}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.node }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
{{ end }}
{{- if .Values.rbac.create -}}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Values.rbac.name }}-external-provisioner-role
{{ include "smb.labels" . | indent 2 }}
rules:
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "patch", "delete"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "list", "watch", "update"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["events"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: ["storage.k8s.io"]
resources: ["csinodes"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list", "watch"]
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Values.rbac.name }}-csi-provisioner-binding
{{ include "smb.labels" . | indent 2 }}
subjects:
- kind: ServiceAccount
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Values.rbac.name }}-external-provisioner-role
apiGroup: rbac.authorization.k8s.io
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Values.rbac.name }}-external-resizer-role
{{ include "smb.labels" . | indent 2 }}
rules:
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["persistentvolumeclaims/status"]
verbs: ["update", "patch"]
- apiGroups: [""]
resources: ["events"]
verbs: ["list", "watch", "create", "update", "patch"]
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Values.rbac.name }}-csi-resizer-role
{{ include "smb.labels" . | indent 2 }}
subjects:
- kind: ServiceAccount
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Values.rbac.name }}-external-resizer-role
apiGroup: rbac.authorization.k8s.io
---
{{- if .Values.feature.enableInlineVolume }}
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: csi-{{ .Values.rbac.name }}-node-secret-role
{{ include "smb.labels" . | indent 2 }}
rules:
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: csi-{{ .Values.rbac.name }}-node-secret-binding
{{ include "smb.labels" . | indent 2 }}
subjects:
- kind: ServiceAccount
name: {{ .Values.serviceAccount.node }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: csi-{{ .Values.rbac.name }}-node-secret-role
apiGroup: rbac.authorization.k8s.io
{{- end }}
{{ end }}

View File

@ -1,25 +1,34 @@
image:
baseRepo: k8s.gcr.io/sig-storage
baseRepo: registry.k8s.io/sig-storage
smb:
repository: mcr.microsoft.com/k8s/csi/smb-csi
tag: v1.6.0
repository: gcr.io/k8s-staging-sig-storage/smbplugin
tag: canary
pullPolicy: IfNotPresent
csiProvisioner:
repository: k8s.gcr.io/sig-storage/csi-provisioner
tag: v3.1.0
repository: /csi-provisioner
tag: v5.3.0
pullPolicy: IfNotPresent
csiResizer:
repository: registry.k8s.io/sig-storage/csi-resizer
tag: v1.14.0
pullPolicy: IfNotPresent
livenessProbe:
repository: k8s.gcr.io/sig-storage/livenessprobe
tag: v2.5.0
repository: /livenessprobe
tag: v2.16.0
pullPolicy: IfNotPresent
nodeDriverRegistrar:
repository: k8s.gcr.io/sig-storage/csi-node-driver-registrar
tag: v2.4.0
repository: /csi-node-driver-registrar
tag: v2.14.0
pullPolicy: IfNotPresent
csiproxy:
repository: ghcr.io/kubernetes-sigs/sig-windows/csi-proxy
tag: v1.1.2
pullPolicy: IfNotPresent
serviceAccount:
create: true # When true, service accounts will be created for you. Set to false if you want to use your own.
controller: csi-smb-controller-sa # Name of Service Account to be created or used
controller: csi-smb-controller-sa
node: csi-smb-node-sa
rbac:
create: true
@ -29,22 +38,30 @@ driver:
name: smb.csi.k8s.io
feature:
enableGetVolumeStats: false
enableGetVolumeStats: true
enableInlineVolume: true
controller:
name: csi-smb-controller
replicas: 1
dnsPolicy: Default # available values: Default, ClusterFirstWithHostNet, ClusterFirst
dnsPolicy: ClusterFirstWithHostNet # available values: Default, ClusterFirstWithHostNet, ClusterFirst
metricsPort: 29644
livenessProbe:
healthPort: 29642
runOnMaster: false
runOnControlPlane: false
logLevel: 5
workingMountDir: "/tmp"
resources:
csiProvisioner:
limits:
memory: 300Mi
memory: 400Mi
requests:
cpu: 10m
memory: 20Mi
csiResizer:
limits:
memory: 400Mi
requests:
cpu: 10m
memory: 20Mi
@ -72,10 +89,12 @@ controller:
- key: "node-role.kubernetes.io/control-plane"
operator: "Exists"
effect: "NoSchedule"
- key: "CriticalAddonsOnly"
operator: "Exists"
effect: "NoSchedule"
node:
maxUnavailable: 1
metricsPort: 29645
logLevel: 5
livenessProbe:
healthPort: 29643
@ -85,8 +104,10 @@ node:
linux:
enabled: true
dsName: csi-smb-node # daemonset name
dnsPolicy: Default # available values: Default, ClusterFirstWithHostNet, ClusterFirst
dnsPolicy: ClusterFirstWithHostNet # available values: Default, ClusterFirstWithHostNet, ClusterFirst
kubelet: /var/lib/kubelet
krb5CacheDirectory: "" # directory for kerberos credential cache, empty string means default(/var/lib/kubelet/kerberos/)
krb5Prefix: "" # prefix for kerberos credential cache, empty string means default(krb5cc_)
tolerations:
- operator: "Exists"
resources:
@ -110,9 +131,11 @@ linux:
memory: 20Mi
windows:
enabled: false
enabled: true
useHostProcessContainers: true
dsName: csi-smb-node-win # daemonset name
kubelet: 'C:\var\lib\kubelet'
removeSMBMappingDuringUnmount: true
tolerations:
- key: "node.kubernetes.io/os"
operator: "Exists"
@ -120,22 +143,30 @@ windows:
resources:
livenessProbe:
limits:
memory: 100Mi
memory: 150Mi
requests:
cpu: 10m
memory: 40Mi
nodeDriverRegistrar:
limits:
memory: 100Mi
memory: 150Mi
requests:
cpu: 10m
memory: 40Mi
smb:
limits:
memory: 200Mi
memory: 600Mi
requests:
cpu: 10m
memory: 40Mi
csiproxy:
enabled: false # required if windows.enabled is true and useHostProcessContainers is false, but may be installed manually also
dsName: csi-proxy-win # daemonset name
tolerations: {}
affinity: {}
username: "NT AUTHORITY\\SYSTEM"
nodeSelector:
"kubernetes.io/os": windows
customLabels: {}
## Collection of annotations to add to all the pods
@ -148,4 +179,4 @@ priorityClassName: system-cluster-critical
## Security context give the opportunity to run container as nonroot by setting a securityContext
## by example :
## securityContext: { runAsUser: 1001 }
securityContext: {}
securityContext: { seccompProfile: {type: RuntimeDefault} }

View File

@ -4,15 +4,15 @@ image:
tag: v0.5.0
pullPolicy: IfNotPresent
csiProvisioner:
repository: k8s.gcr.io/sig-storage/csi-provisioner
repository: registry.k8s.io/sig-storage/csi-provisioner
tag: v2.0.4
pullPolicy: IfNotPresent
livenessProbe:
repository: k8s.gcr.io/sig-storage/livenessprobe
repository: registry.k8s.io/sig-storage/livenessprobe
tag: v2.1.0
pullPolicy: IfNotPresent
nodeDriverRegistrar:
repository: k8s.gcr.io/sig-storage/csi-node-driver-registrar
repository: registry.k8s.io/sig-storage/csi-node-driver-registrar
tag: v2.0.1
pullPolicy: IfNotPresent

View File

@ -4,15 +4,15 @@ image:
tag: v0.6.0
pullPolicy: IfNotPresent
csiProvisioner:
repository: k8s.gcr.io/sig-storage/csi-provisioner
repository: registry.k8s.io/sig-storage/csi-provisioner
tag: v2.0.4
pullPolicy: IfNotPresent
livenessProbe:
repository: k8s.gcr.io/sig-storage/livenessprobe
repository: registry.k8s.io/sig-storage/livenessprobe
tag: v2.1.0
pullPolicy: IfNotPresent
nodeDriverRegistrar:
repository: k8s.gcr.io/sig-storage/csi-node-driver-registrar
repository: registry.k8s.io/sig-storage/csi-node-driver-registrar
tag: v2.0.1
pullPolicy: IfNotPresent

View File

@ -4,15 +4,15 @@ image:
tag: v1.0.0
pullPolicy: IfNotPresent
csiProvisioner:
repository: k8s.gcr.io/sig-storage/csi-provisioner
repository: registry.k8s.io/sig-storage/csi-provisioner
tag: v2.1.0
pullPolicy: IfNotPresent
livenessProbe:
repository: k8s.gcr.io/sig-storage/livenessprobe
repository: registry.k8s.io/sig-storage/livenessprobe
tag: v2.3.0
pullPolicy: IfNotPresent
nodeDriverRegistrar:
repository: k8s.gcr.io/sig-storage/csi-node-driver-registrar
repository: registry.k8s.io/sig-storage/csi-node-driver-registrar
tag: v2.2.0
pullPolicy: IfNotPresent

View File

@ -4,15 +4,15 @@ image:
tag: v1.1.0
pullPolicy: IfNotPresent
csiProvisioner:
repository: k8s.gcr.io/sig-storage/csi-provisioner
repository: registry.k8s.io/sig-storage/csi-provisioner
tag: v2.1.0
pullPolicy: IfNotPresent
livenessProbe:
repository: k8s.gcr.io/sig-storage/livenessprobe
repository: registry.k8s.io/sig-storage/livenessprobe
tag: v2.3.0
pullPolicy: IfNotPresent
nodeDriverRegistrar:
repository: k8s.gcr.io/sig-storage/csi-node-driver-registrar
repository: registry.k8s.io/sig-storage/csi-node-driver-registrar
tag: v2.2.0
pullPolicy: IfNotPresent

Binary file not shown.

View File

@ -0,0 +1,5 @@
apiVersion: v1
appVersion: v1.10.0
description: SMB CSI Driver for Kubernetes
name: csi-driver-smb
version: v1.10.0

View File

@ -0,0 +1,5 @@
The CSI SMB Driver is getting deployed to your cluster.
To check CSI SMB Driver pods status, please run:
kubectl --namespace={{ .Release.Namespace }} get pods --selector="app.kubernetes.io/name={{ .Release.Name }}" --watch

View File

@ -0,0 +1,29 @@
{{/* vim: set filetype=mustache: */}}
{{/* Expand the name of the chart.*/}}
{{- define "smb.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/* labels for helm resources */}}
{{- define "smb.labels" -}}
labels:
app.kubernetes.io/instance: "{{ .Release.Name }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/name: "{{ template "smb.name" . }}"
app.kubernetes.io/version: "{{ .Chart.AppVersion }}"
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
{{- if .Values.customLabels }}
{{ toYaml .Values.customLabels | indent 2 -}}
{{- end }}
{{- end -}}
{{/* pull secrets for containers */}}
{{- define "smb.pullSecrets" -}}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
{{- end -}}

View File

@ -0,0 +1,127 @@
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: {{ .Values.controller.name }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
replicas: {{ .Values.controller.replicas }}
selector:
matchLabels:
app: {{ .Values.controller.name }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.controller.name }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
{{- if .Values.podAnnotations }}
annotations:
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
{{- with .Values.controller.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
dnsPolicy: {{ .Values.controller.dnsPolicy }}
serviceAccountName: {{ .Values.serviceAccount.controller }}
nodeSelector:
{{- with .Values.controller.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
kubernetes.io/os: linux
{{- if .Values.controller.runOnMaster}}
node-role.kubernetes.io/master: ""
{{- end}}
{{- if .Values.controller.runOnControlPlane}}
node-role.kubernetes.io/control-plane: ""
{{- end}}
priorityClassName: system-cluster-critical
{{- with .Values.controller.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: csi-provisioner
{{- if hasPrefix "/" .Values.image.csiProvisioner.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}"
{{- else }}
image: "{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}"
{{- end }}
args:
- "-v=2"
- "--csi-address=$(ADDRESS)"
- "--leader-election"
- "--leader-election-namespace={{ .Release.Namespace }}"
- "--extra-create-metadata=true"
env:
- name: ADDRESS
value: /csi/csi.sock
imagePullPolicy: {{ .Values.image.csiProvisioner.pullPolicy }}
volumeMounts:
- mountPath: /csi
name: socket-dir
resources: {{- toYaml .Values.controller.resources.csiProvisioner | nindent 12 }}
- name: liveness-probe
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=/csi/csi.sock
- --probe-timeout=3s
- --health-port={{ .Values.controller.livenessProbe.healthPort }}
- --v=2
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
volumeMounts:
- name: socket-dir
mountPath: /csi
resources: {{- toYaml .Values.controller.resources.livenessProbe | nindent 12 }}
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.controller.logLevel }}"
- "--endpoint=$(CSI_ENDPOINT)"
- "--metrics-address=0.0.0.0:{{ .Values.controller.metricsPort }}"
- "--drivername={{ .Values.driver.name }}"
- "--working-mount-dir={{ .Values.controller.workingMountDir }}"
ports:
- containerPort: {{ .Values.controller.livenessProbe.healthPort }}
name: healthz
protocol: TCP
- containerPort: {{ .Values.controller.metricsPort }}
name: metrics
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: healthz
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
securityContext:
privileged: true
volumeMounts:
- mountPath: /csi
name: socket-dir
resources: {{- toYaml .Values.controller.resources.smb | nindent 12 }}
volumes:
- name: socket-dir
emptyDir: {}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}

View File

@ -0,0 +1,8 @@
---
apiVersion: storage.k8s.io/v1
kind: CSIDriver
metadata:
name: {{ .Values.driver.name }}
spec:
attachRequired: false
podInfoOnMount: true

View File

@ -0,0 +1,169 @@
{{- if .Values.windows.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.windows.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.windows.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.windows.dsName }}
spec:
{{- with .Values.windows.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
nodeSelector:
kubernetes.io/os: windows
{{- with .Values.node.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: system-node-critical
serviceAccountName: {{ .Values.serviceAccount.node }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: liveness-probe
volumeMounts:
- mountPath: C:\csi
name: plugin-dir
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=$(CSI_ENDPOINT)
- --probe-timeout=3s
- --health-port={{ .Values.node.livenessProbe.healthPort }}
- --v=2
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
resources: {{- toYaml .Values.windows.resources.livenessProbe | nindent 12 }}
- name: node-driver-registrar
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- else }}
image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- end }}
args:
- --v=2
- --csi-address=$(CSI_ENDPOINT)
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
livenessProbe:
exec:
command:
- /csi-node-driver-registrar.exe
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --mode=kubelet-registration-probe
initialDelaySeconds: 60
timeoutSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
- name: DRIVER_REG_SOCK_PATH
value: {{ .Values.windows.kubelet | replace "\\" "\\\\" }}\\plugins\\{{ .Values.driver.name }}\\csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
imagePullPolicy: {{ .Values.image.nodeDriverRegistrar.pullPolicy }}
volumeMounts:
- name: plugin-dir
mountPath: C:\csi
- name: registration-dir
mountPath: C:\registration
resources: {{- toYaml .Values.windows.resources.nodeDriverRegistrar | nindent 12 }}
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.node.logLevel }}"
- "--drivername={{ .Values.driver.name }}"
- --endpoint=$(CSI_ENDPOINT)
- --nodeid=$(KUBE_NODE_NAME)
- "--metrics-address=0.0.0.0:{{ .Values.node.metricsPort }}"
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
- "--remove-smb-mapping-during-unmount={{ .Values.windows.removeSMBMappingDuringUnmount }}"
ports:
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
name: healthz
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: healthz
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
volumeMounts:
- name: kubelet-dir
mountPath: {{ .Values.windows.kubelet }}\
- name: plugin-dir
mountPath: C:\csi
- name: csi-proxy-fs-pipe-v1
mountPath: \\.\pipe\csi-proxy-filesystem-v1
- name: csi-proxy-smb-pipe-v1
mountPath: \\.\pipe\csi-proxy-smb-v1
# these paths are still included for compatibility, they're used
# only if the node has still the beta version of the CSI proxy
- name: csi-proxy-fs-pipe-v1beta1
mountPath: \\.\pipe\csi-proxy-filesystem-v1beta1
- name: csi-proxy-smb-pipe-v1beta1
mountPath: \\.\pipe\csi-proxy-smb-v1beta1
resources: {{- toYaml .Values.windows.resources.smb | nindent 12 }}
volumes:
- name: csi-proxy-fs-pipe-v1
hostPath:
path: \\.\pipe\csi-proxy-filesystem-v1
- name: csi-proxy-smb-pipe-v1
hostPath:
path: \\.\pipe\csi-proxy-smb-v1
# these paths are still included for compatibility, they're used
# only if the node has still the beta version of the CSI proxy
- name: csi-proxy-fs-pipe-v1beta1
hostPath:
path: \\.\pipe\csi-proxy-filesystem-v1beta1
- name: csi-proxy-smb-pipe-v1beta1
hostPath:
path: \\.\pipe\csi-proxy-smb-v1beta1
- name: registration-dir
hostPath:
path: {{ .Values.windows.kubelet }}\plugins_registry\
type: Directory
- name: kubelet-dir
hostPath:
path: {{ .Values.windows.kubelet }}\
type: Directory
- name: plugin-dir
hostPath:
path: {{ .Values.windows.kubelet }}\plugins\{{ .Values.driver.name }}\
type: DirectoryOrCreate
{{- end -}}

View File

@ -0,0 +1,152 @@
{{- if .Values.linux.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.linux.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.linux.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.linux.dsName }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
{{- if .Values.podAnnotations }}
annotations:
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
hostNetwork: true
dnsPolicy: {{ .Values.linux.dnsPolicy }}
serviceAccountName: {{ .Values.serviceAccount.node }}
nodeSelector:
kubernetes.io/os: linux
{{- with .Values.node.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- with .Values.linux.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: liveness-probe
volumeMounts:
- mountPath: /csi
name: socket-dir
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=/csi/csi.sock
- --probe-timeout=3s
- --health-port={{ .Values.node.livenessProbe.healthPort }}
- --v=2
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
resources: {{- toYaml .Values.linux.resources.livenessProbe | nindent 12 }}
- name: node-driver-registrar
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- else }}
image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- end }}
args:
- --csi-address=$(ADDRESS)
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --v=2
livenessProbe:
exec:
command:
- /csi-node-driver-registrar
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --mode=kubelet-registration-probe
initialDelaySeconds: 30
timeoutSeconds: 15
env:
- name: ADDRESS
value: /csi/csi.sock
- name: DRIVER_REG_SOCK_PATH
value: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}/csi.sock
imagePullPolicy: {{ .Values.image.nodeDriverRegistrar.pullPolicy }}
volumeMounts:
- name: socket-dir
mountPath: /csi
- name: registration-dir
mountPath: /registration
resources: {{- toYaml .Values.linux.resources.nodeDriverRegistrar | nindent 12 }}
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.node.logLevel }}"
- "--drivername={{ .Values.driver.name }}"
- "--endpoint=$(CSI_ENDPOINT)"
- "--nodeid=$(KUBE_NODE_NAME)"
- "--metrics-address=0.0.0.0:{{ .Values.node.metricsPort }}"
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
ports:
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
name: healthz
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: healthz
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
securityContext:
privileged: true
volumeMounts:
- mountPath: /csi
name: socket-dir
- mountPath: {{ .Values.linux.kubelet }}/
mountPropagation: Bidirectional
name: mountpoint-dir
resources: {{- toYaml .Values.linux.resources.smb | nindent 12 }}
volumes:
- hostPath:
path: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}
type: DirectoryOrCreate
name: socket-dir
- hostPath:
path: {{ .Values.linux.kubelet }}/
type: DirectoryOrCreate
name: mountpoint-dir
- hostPath:
path: {{ .Values.linux.kubelet }}/plugins_registry/
type: DirectoryOrCreate
name: registration-dir
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
{{- end -}}

View File

@ -0,0 +1,65 @@
{{- if .Values.serviceAccount.create -}}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.node }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
{{ end }}
{{- if .Values.rbac.create -}}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Values.rbac.name }}-external-provisioner-role
{{ include "smb.labels" . | indent 2 }}
rules:
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "delete"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "list", "watch", "update"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["events"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: ["storage.k8s.io"]
resources: ["csinodes"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list", "watch"]
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Values.rbac.name }}-csi-provisioner-binding
{{ include "smb.labels" . | indent 2 }}
subjects:
- kind: ServiceAccount
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Values.rbac.name }}-external-provisioner-role
apiGroup: rbac.authorization.k8s.io
{{ end }}

View File

@ -0,0 +1,154 @@
image:
baseRepo: registry.k8s.io/sig-storage
smb:
repository: registry.k8s.io/sig-storage/smbplugin
tag: v1.10.0
pullPolicy: IfNotPresent
csiProvisioner:
repository: registry.k8s.io/sig-storage/csi-provisioner
tag: v3.3.0
pullPolicy: IfNotPresent
livenessProbe:
repository: registry.k8s.io/sig-storage/livenessprobe
tag: v2.8.0
pullPolicy: IfNotPresent
nodeDriverRegistrar:
repository: registry.k8s.io/sig-storage/csi-node-driver-registrar
tag: v2.6.2
pullPolicy: IfNotPresent
serviceAccount:
create: true # When true, service accounts will be created for you. Set to false if you want to use your own.
controller: csi-smb-controller-sa
node: csi-smb-node-sa
rbac:
create: true
name: smb
driver:
name: smb.csi.k8s.io
feature:
enableGetVolumeStats: true
controller:
name: csi-smb-controller
replicas: 1
dnsPolicy: Default # available values: Default, ClusterFirstWithHostNet, ClusterFirst
metricsPort: 29644
livenessProbe:
healthPort: 29642
runOnMaster: false
runOnControlPlane: false
logLevel: 5
workingMountDir: "/tmp"
resources:
csiProvisioner:
limits:
memory: 300Mi
requests:
cpu: 10m
memory: 20Mi
livenessProbe:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 20Mi
affinity: {}
nodeSelector: {}
tolerations:
- 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"
node:
maxUnavailable: 1
metricsPort: 29645
logLevel: 5
livenessProbe:
healthPort: 29643
affinity: {}
nodeSelector: {}
linux:
enabled: true
dsName: csi-smb-node # daemonset name
dnsPolicy: Default # available values: Default, ClusterFirstWithHostNet, ClusterFirst
kubelet: /var/lib/kubelet
tolerations:
- operator: "Exists"
resources:
livenessProbe:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
nodeDriverRegistrar:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 20Mi
windows:
enabled: false
dsName: csi-smb-node-win # daemonset name
kubelet: 'C:\var\lib\kubelet'
removeSMBMappingDuringUnmount: true
tolerations:
- key: "node.kubernetes.io/os"
operator: "Exists"
effect: "NoSchedule"
resources:
livenessProbe:
limits:
memory: 150Mi
requests:
cpu: 10m
memory: 40Mi
nodeDriverRegistrar:
limits:
memory: 150Mi
requests:
cpu: 10m
memory: 40Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 40Mi
customLabels: {}
## Collection of annotations to add to all the pods
podAnnotations: {}
## Collection of labels to add to all the pods
podLabels: {}
## Leverage a PriorityClass to ensure your pods survive resource shortages
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
priorityClassName: system-cluster-critical
## Security context give the opportunity to run container as nonroot by setting a securityContext
## by example :
## securityContext: { runAsUser: 1001 }
securityContext: {}

Binary file not shown.

View File

@ -0,0 +1,5 @@
apiVersion: v1
appVersion: v1.11.0
description: SMB CSI Driver for Kubernetes
name: csi-driver-smb
version: v1.11.0

View File

@ -0,0 +1,5 @@
The CSI SMB Driver is getting deployed to your cluster.
To check CSI SMB Driver pods status, please run:
kubectl --namespace={{ .Release.Namespace }} get pods --selector="app.kubernetes.io/name={{ .Release.Name }}" --watch

View File

@ -0,0 +1,29 @@
{{/* vim: set filetype=mustache: */}}
{{/* Expand the name of the chart.*/}}
{{- define "smb.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/* labels for helm resources */}}
{{- define "smb.labels" -}}
labels:
app.kubernetes.io/instance: "{{ .Release.Name }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/name: "{{ template "smb.name" . }}"
app.kubernetes.io/version: "{{ .Chart.AppVersion }}"
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
{{- if .Values.customLabels }}
{{ toYaml .Values.customLabels | indent 2 -}}
{{- end }}
{{- end -}}
{{/* pull secrets for containers */}}
{{- define "smb.pullSecrets" -}}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
{{- end -}}

View File

@ -0,0 +1,132 @@
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: {{ .Values.controller.name }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
replicas: {{ .Values.controller.replicas }}
selector:
matchLabels:
app: {{ .Values.controller.name }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.controller.name }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
{{- if .Values.podAnnotations }}
annotations:
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
{{- with .Values.controller.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
hostNetwork: true
dnsPolicy: {{ .Values.controller.dnsPolicy }}
serviceAccountName: {{ .Values.serviceAccount.controller }}
nodeSelector:
{{- with .Values.controller.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
kubernetes.io/os: linux
{{- if .Values.controller.runOnMaster}}
node-role.kubernetes.io/master: ""
{{- end}}
{{- if .Values.controller.runOnControlPlane}}
node-role.kubernetes.io/control-plane: ""
{{- end}}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
{{- with .Values.controller.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: csi-provisioner
{{- if hasPrefix "/" .Values.image.csiProvisioner.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}"
{{- else }}
image: "{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}"
{{- end }}
args:
- "-v=2"
- "--csi-address=$(ADDRESS)"
- "--leader-election"
- "--leader-election-namespace={{ .Release.Namespace }}"
- "--extra-create-metadata=true"
env:
- name: ADDRESS
value: /csi/csi.sock
imagePullPolicy: {{ .Values.image.csiProvisioner.pullPolicy }}
volumeMounts:
- mountPath: /csi
name: socket-dir
resources: {{- toYaml .Values.controller.resources.csiProvisioner | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
- name: liveness-probe
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=/csi/csi.sock
- --probe-timeout=3s
- --health-port={{ .Values.controller.livenessProbe.healthPort }}
- --v=2
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
volumeMounts:
- name: socket-dir
mountPath: /csi
resources: {{- toYaml .Values.controller.resources.livenessProbe | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.controller.logLevel }}"
- "--endpoint=$(CSI_ENDPOINT)"
- "--metrics-address=0.0.0.0:{{ .Values.controller.metricsPort }}"
- "--drivername={{ .Values.driver.name }}"
- "--working-mount-dir={{ .Values.controller.workingMountDir }}"
ports:
- containerPort: {{ .Values.controller.livenessProbe.healthPort }}
name: healthz
protocol: TCP
- containerPort: {{ .Values.controller.metricsPort }}
name: metrics
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: healthz
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
securityContext:
privileged: true
volumeMounts:
- mountPath: /csi
name: socket-dir
resources: {{- toYaml .Values.controller.resources.smb | nindent 12 }}
volumes:
- name: socket-dir
emptyDir: {}

View File

@ -0,0 +1,8 @@
---
apiVersion: storage.k8s.io/v1
kind: CSIDriver
metadata:
name: {{ .Values.driver.name }}
spec:
attachRequired: false
podInfoOnMount: true

View File

@ -0,0 +1,171 @@
{{- if .Values.windows.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.windows.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.windows.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.windows.dsName }}
spec:
{{- with .Values.windows.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
nodeSelector:
kubernetes.io/os: windows
{{- with .Values.node.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
serviceAccountName: {{ .Values.serviceAccount.node }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: liveness-probe
volumeMounts:
- mountPath: C:\csi
name: plugin-dir
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=$(CSI_ENDPOINT)
- --probe-timeout=3s
- --health-port={{ .Values.node.livenessProbe.healthPort }}
- --v=2
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
resources: {{- toYaml .Values.windows.resources.livenessProbe | nindent 12 }}
- name: node-driver-registrar
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- else }}
image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- end }}
args:
- --v=2
- --csi-address=$(CSI_ENDPOINT)
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
livenessProbe:
exec:
command:
- /csi-node-driver-registrar.exe
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --mode=kubelet-registration-probe
initialDelaySeconds: 60
timeoutSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
- name: DRIVER_REG_SOCK_PATH
value: {{ .Values.windows.kubelet | replace "\\" "\\\\" }}\\plugins\\{{ .Values.driver.name }}\\csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
imagePullPolicy: {{ .Values.image.nodeDriverRegistrar.pullPolicy }}
volumeMounts:
- name: plugin-dir
mountPath: C:\csi
- name: registration-dir
mountPath: C:\registration
resources: {{- toYaml .Values.windows.resources.nodeDriverRegistrar | nindent 12 }}
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.node.logLevel }}"
- "--drivername={{ .Values.driver.name }}"
- --endpoint=$(CSI_ENDPOINT)
- --nodeid=$(KUBE_NODE_NAME)
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
- "--remove-smb-mapping-during-unmount={{ .Values.windows.removeSMBMappingDuringUnmount }}"
ports:
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
name: healthz
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: healthz
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
volumeMounts:
- name: kubelet-dir
mountPath: {{ .Values.windows.kubelet }}\
- name: plugin-dir
mountPath: C:\csi
- name: csi-proxy-fs-pipe-v1
mountPath: \\.\pipe\csi-proxy-filesystem-v1
- name: csi-proxy-smb-pipe-v1
mountPath: \\.\pipe\csi-proxy-smb-v1
# these paths are still included for compatibility, they're used
# only if the node has still the beta version of the CSI proxy
- name: csi-proxy-fs-pipe-v1beta1
mountPath: \\.\pipe\csi-proxy-filesystem-v1beta1
- name: csi-proxy-smb-pipe-v1beta1
mountPath: \\.\pipe\csi-proxy-smb-v1beta1
resources: {{- toYaml .Values.windows.resources.smb | nindent 12 }}
volumes:
- name: csi-proxy-fs-pipe-v1
hostPath:
path: \\.\pipe\csi-proxy-filesystem-v1
- name: csi-proxy-smb-pipe-v1
hostPath:
path: \\.\pipe\csi-proxy-smb-v1
# these paths are still included for compatibility, they're used
# only if the node has still the beta version of the CSI proxy
- name: csi-proxy-fs-pipe-v1beta1
hostPath:
path: \\.\pipe\csi-proxy-filesystem-v1beta1
- name: csi-proxy-smb-pipe-v1beta1
hostPath:
path: \\.\pipe\csi-proxy-smb-v1beta1
- name: registration-dir
hostPath:
path: {{ .Values.windows.kubelet }}\plugins_registry\
type: Directory
- name: kubelet-dir
hostPath:
path: {{ .Values.windows.kubelet }}\
type: Directory
- name: plugin-dir
hostPath:
path: {{ .Values.windows.kubelet }}\plugins\{{ .Values.driver.name }}\
type: DirectoryOrCreate
{{- end -}}

View File

@ -0,0 +1,153 @@
{{- if .Values.linux.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.linux.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.linux.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.linux.dsName }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
{{- if .Values.podAnnotations }}
annotations:
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
hostNetwork: true
dnsPolicy: {{ .Values.linux.dnsPolicy }}
serviceAccountName: {{ .Values.serviceAccount.node }}
nodeSelector:
kubernetes.io/os: linux
{{- with .Values.node.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
{{- with .Values.linux.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: liveness-probe
volumeMounts:
- mountPath: /csi
name: socket-dir
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=/csi/csi.sock
- --probe-timeout=3s
- --health-port={{ .Values.node.livenessProbe.healthPort }}
- --v=2
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
resources: {{- toYaml .Values.linux.resources.livenessProbe | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
- name: node-driver-registrar
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- else }}
image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- end }}
args:
- --csi-address=$(ADDRESS)
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --v=2
livenessProbe:
exec:
command:
- /csi-node-driver-registrar
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --mode=kubelet-registration-probe
initialDelaySeconds: 30
timeoutSeconds: 15
env:
- name: ADDRESS
value: /csi/csi.sock
- name: DRIVER_REG_SOCK_PATH
value: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}/csi.sock
imagePullPolicy: {{ .Values.image.nodeDriverRegistrar.pullPolicy }}
volumeMounts:
- name: socket-dir
mountPath: /csi
- name: registration-dir
mountPath: /registration
resources: {{- toYaml .Values.linux.resources.nodeDriverRegistrar | nindent 12 }}
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.node.logLevel }}"
- "--drivername={{ .Values.driver.name }}"
- "--endpoint=$(CSI_ENDPOINT)"
- "--nodeid=$(KUBE_NODE_NAME)"
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
ports:
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
name: healthz
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: healthz
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
securityContext:
privileged: true
volumeMounts:
- mountPath: /csi
name: socket-dir
- mountPath: {{ .Values.linux.kubelet }}/
mountPropagation: Bidirectional
name: mountpoint-dir
resources: {{- toYaml .Values.linux.resources.smb | nindent 12 }}
volumes:
- hostPath:
path: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}
type: DirectoryOrCreate
name: socket-dir
- hostPath:
path: {{ .Values.linux.kubelet }}/
type: DirectoryOrCreate
name: mountpoint-dir
- hostPath:
path: {{ .Values.linux.kubelet }}/plugins_registry/
type: DirectoryOrCreate
name: registration-dir
{{- end -}}

View File

@ -0,0 +1,65 @@
{{- if .Values.serviceAccount.create -}}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.node }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
{{ end }}
{{- if .Values.rbac.create -}}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Values.rbac.name }}-external-provisioner-role
{{ include "smb.labels" . | indent 2 }}
rules:
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "delete"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "list", "watch", "update"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["events"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: ["storage.k8s.io"]
resources: ["csinodes"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list", "watch"]
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Values.rbac.name }}-csi-provisioner-binding
{{ include "smb.labels" . | indent 2 }}
subjects:
- kind: ServiceAccount
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Values.rbac.name }}-external-provisioner-role
apiGroup: rbac.authorization.k8s.io
{{ end }}

View File

@ -0,0 +1,153 @@
image:
baseRepo: registry.k8s.io/sig-storage
smb:
repository: registry.k8s.io/sig-storage/smbplugin
tag: v1.11.0
pullPolicy: IfNotPresent
csiProvisioner:
repository: registry.k8s.io/sig-storage/csi-provisioner
tag: v3.5.0
pullPolicy: IfNotPresent
livenessProbe:
repository: registry.k8s.io/sig-storage/livenessprobe
tag: v2.10.0
pullPolicy: IfNotPresent
nodeDriverRegistrar:
repository: registry.k8s.io/sig-storage/csi-node-driver-registrar
tag: v2.8.0
pullPolicy: IfNotPresent
serviceAccount:
create: true # When true, service accounts will be created for you. Set to false if you want to use your own.
controller: csi-smb-controller-sa
node: csi-smb-node-sa
rbac:
create: true
name: smb
driver:
name: smb.csi.k8s.io
feature:
enableGetVolumeStats: true
controller:
name: csi-smb-controller
replicas: 1
dnsPolicy: ClusterFirstWithHostNet # available values: Default, ClusterFirstWithHostNet, ClusterFirst
metricsPort: 29644
livenessProbe:
healthPort: 29642
runOnMaster: false
runOnControlPlane: false
logLevel: 5
workingMountDir: "/tmp"
resources:
csiProvisioner:
limits:
memory: 300Mi
requests:
cpu: 10m
memory: 20Mi
livenessProbe:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 20Mi
affinity: {}
nodeSelector: {}
tolerations:
- 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"
node:
maxUnavailable: 1
logLevel: 5
livenessProbe:
healthPort: 29643
affinity: {}
nodeSelector: {}
linux:
enabled: true
dsName: csi-smb-node # daemonset name
dnsPolicy: ClusterFirstWithHostNet # available values: Default, ClusterFirstWithHostNet, ClusterFirst
kubelet: /var/lib/kubelet
tolerations:
- operator: "Exists"
resources:
livenessProbe:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
nodeDriverRegistrar:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 20Mi
windows:
enabled: false
dsName: csi-smb-node-win # daemonset name
kubelet: 'C:\var\lib\kubelet'
removeSMBMappingDuringUnmount: true
tolerations:
- key: "node.kubernetes.io/os"
operator: "Exists"
effect: "NoSchedule"
resources:
livenessProbe:
limits:
memory: 150Mi
requests:
cpu: 10m
memory: 40Mi
nodeDriverRegistrar:
limits:
memory: 150Mi
requests:
cpu: 10m
memory: 40Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 40Mi
customLabels: {}
## Collection of annotations to add to all the pods
podAnnotations: {}
## Collection of labels to add to all the pods
podLabels: {}
## Leverage a PriorityClass to ensure your pods survive resource shortages
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
priorityClassName: system-cluster-critical
## Security context give the opportunity to run container as nonroot by setting a securityContext
## by example :
## securityContext: { runAsUser: 1001 }
securityContext: { seccompProfile: {type: RuntimeDefault} }

Binary file not shown.

View File

@ -0,0 +1,5 @@
apiVersion: v1
appVersion: v1.12.0
description: SMB CSI Driver for Kubernetes
name: csi-driver-smb
version: v1.12.0

View File

@ -0,0 +1,5 @@
The CSI SMB Driver is getting deployed to your cluster.
To check CSI SMB Driver pods status, please run:
kubectl --namespace={{ .Release.Namespace }} get pods --selector="app.kubernetes.io/name={{ .Release.Name }}" --watch

View File

@ -0,0 +1,29 @@
{{/* vim: set filetype=mustache: */}}
{{/* Expand the name of the chart.*/}}
{{- define "smb.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/* labels for helm resources */}}
{{- define "smb.labels" -}}
labels:
app.kubernetes.io/instance: "{{ .Release.Name }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/name: "{{ template "smb.name" . }}"
app.kubernetes.io/version: "{{ .Chart.AppVersion }}"
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
{{- if .Values.customLabels }}
{{ toYaml .Values.customLabels | indent 2 -}}
{{- end }}
{{- end -}}
{{/* pull secrets for containers */}}
{{- define "smb.pullSecrets" -}}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
{{- end -}}

View File

@ -0,0 +1,48 @@
{{- if .Values.windows.csiproxy.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.windows.csiproxy.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.windows.csiproxy.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.windows.csiproxy.dsName }}
spec:
{{- with .Values.windows.csiproxy.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
securityContext:
windowsOptions:
hostProcess: true
runAsUserName: {{ .Values.windows.csiproxy.username | quote }}
hostNetwork: true
nodeSelector:
{{- with .Values.windows.csiproxy.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: csi-proxy
{{- if hasPrefix "/" .Values.image.csiproxy.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiproxy.repository }}:{{ .Values.image.csiproxy.tag }}"
{{- else }}
image: "{{ .Values.image.csiproxy.repository }}:{{ .Values.image.csiproxy.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.csiproxy.pullPolicy }}
{{- end -}}

View File

@ -0,0 +1,132 @@
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: {{ .Values.controller.name }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
replicas: {{ .Values.controller.replicas }}
selector:
matchLabels:
app: {{ .Values.controller.name }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.controller.name }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
{{- if .Values.podAnnotations }}
annotations:
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
{{- with .Values.controller.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
hostNetwork: true
dnsPolicy: {{ .Values.controller.dnsPolicy }}
serviceAccountName: {{ .Values.serviceAccount.controller }}
nodeSelector:
{{- with .Values.controller.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
kubernetes.io/os: linux
{{- if .Values.controller.runOnMaster}}
node-role.kubernetes.io/master: ""
{{- end}}
{{- if .Values.controller.runOnControlPlane}}
node-role.kubernetes.io/control-plane: ""
{{- end}}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
{{- with .Values.controller.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: csi-provisioner
{{- if hasPrefix "/" .Values.image.csiProvisioner.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}"
{{- else }}
image: "{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}"
{{- end }}
args:
- "-v=2"
- "--csi-address=$(ADDRESS)"
- "--leader-election"
- "--leader-election-namespace={{ .Release.Namespace }}"
- "--extra-create-metadata=true"
env:
- name: ADDRESS
value: /csi/csi.sock
imagePullPolicy: {{ .Values.image.csiProvisioner.pullPolicy }}
volumeMounts:
- mountPath: /csi
name: socket-dir
resources: {{- toYaml .Values.controller.resources.csiProvisioner | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
- name: liveness-probe
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=/csi/csi.sock
- --probe-timeout=3s
- --health-port={{ .Values.controller.livenessProbe.healthPort }}
- --v=2
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
volumeMounts:
- name: socket-dir
mountPath: /csi
resources: {{- toYaml .Values.controller.resources.livenessProbe | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.controller.logLevel }}"
- "--endpoint=$(CSI_ENDPOINT)"
- "--metrics-address=0.0.0.0:{{ .Values.controller.metricsPort }}"
- "--drivername={{ .Values.driver.name }}"
- "--working-mount-dir={{ .Values.controller.workingMountDir }}"
ports:
- containerPort: {{ .Values.controller.livenessProbe.healthPort }}
name: healthz
protocol: TCP
- containerPort: {{ .Values.controller.metricsPort }}
name: metrics
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: healthz
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
securityContext:
privileged: true
volumeMounts:
- mountPath: /csi
name: socket-dir
resources: {{- toYaml .Values.controller.resources.smb | nindent 12 }}
volumes:
- name: socket-dir
emptyDir: {}

View File

@ -0,0 +1,8 @@
---
apiVersion: storage.k8s.io/v1
kind: CSIDriver
metadata:
name: {{ .Values.driver.name }}
spec:
attachRequired: false
podInfoOnMount: true

View File

@ -0,0 +1,171 @@
{{- if .Values.windows.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.windows.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.windows.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.windows.dsName }}
spec:
{{- with .Values.windows.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
nodeSelector:
kubernetes.io/os: windows
{{- with .Values.node.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
serviceAccountName: {{ .Values.serviceAccount.node }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: liveness-probe
volumeMounts:
- mountPath: C:\csi
name: plugin-dir
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=$(CSI_ENDPOINT)
- --probe-timeout=3s
- --health-port={{ .Values.node.livenessProbe.healthPort }}
- --v=2
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
resources: {{- toYaml .Values.windows.resources.livenessProbe | nindent 12 }}
- name: node-driver-registrar
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- else }}
image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- end }}
args:
- --v=2
- --csi-address=$(CSI_ENDPOINT)
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
livenessProbe:
exec:
command:
- /csi-node-driver-registrar.exe
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --mode=kubelet-registration-probe
initialDelaySeconds: 60
timeoutSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
- name: DRIVER_REG_SOCK_PATH
value: {{ .Values.windows.kubelet | replace "\\" "\\\\" }}\\plugins\\{{ .Values.driver.name }}\\csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
imagePullPolicy: {{ .Values.image.nodeDriverRegistrar.pullPolicy }}
volumeMounts:
- name: plugin-dir
mountPath: C:\csi
- name: registration-dir
mountPath: C:\registration
resources: {{- toYaml .Values.windows.resources.nodeDriverRegistrar | nindent 12 }}
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.node.logLevel }}"
- "--drivername={{ .Values.driver.name }}"
- --endpoint=$(CSI_ENDPOINT)
- --nodeid=$(KUBE_NODE_NAME)
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
- "--remove-smb-mapping-during-unmount={{ .Values.windows.removeSMBMappingDuringUnmount }}"
ports:
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
name: healthz
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: healthz
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
volumeMounts:
- name: kubelet-dir
mountPath: {{ .Values.windows.kubelet }}\
- name: plugin-dir
mountPath: C:\csi
- name: csi-proxy-fs-pipe-v1
mountPath: \\.\pipe\csi-proxy-filesystem-v1
- name: csi-proxy-smb-pipe-v1
mountPath: \\.\pipe\csi-proxy-smb-v1
# these paths are still included for compatibility, they're used
# only if the node has still the beta version of the CSI proxy
- name: csi-proxy-fs-pipe-v1beta1
mountPath: \\.\pipe\csi-proxy-filesystem-v1beta1
- name: csi-proxy-smb-pipe-v1beta1
mountPath: \\.\pipe\csi-proxy-smb-v1beta1
resources: {{- toYaml .Values.windows.resources.smb | nindent 12 }}
volumes:
- name: csi-proxy-fs-pipe-v1
hostPath:
path: \\.\pipe\csi-proxy-filesystem-v1
- name: csi-proxy-smb-pipe-v1
hostPath:
path: \\.\pipe\csi-proxy-smb-v1
# these paths are still included for compatibility, they're used
# only if the node has still the beta version of the CSI proxy
- name: csi-proxy-fs-pipe-v1beta1
hostPath:
path: \\.\pipe\csi-proxy-filesystem-v1beta1
- name: csi-proxy-smb-pipe-v1beta1
hostPath:
path: \\.\pipe\csi-proxy-smb-v1beta1
- name: registration-dir
hostPath:
path: {{ .Values.windows.kubelet }}\plugins_registry\
type: Directory
- name: kubelet-dir
hostPath:
path: {{ .Values.windows.kubelet }}\
type: Directory
- name: plugin-dir
hostPath:
path: {{ .Values.windows.kubelet }}\plugins\{{ .Values.driver.name }}\
type: DirectoryOrCreate
{{- end -}}

View File

@ -0,0 +1,153 @@
{{- if .Values.linux.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.linux.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.linux.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.linux.dsName }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
{{- if .Values.podAnnotations }}
annotations:
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
hostNetwork: true
dnsPolicy: {{ .Values.linux.dnsPolicy }}
serviceAccountName: {{ .Values.serviceAccount.node }}
nodeSelector:
kubernetes.io/os: linux
{{- with .Values.node.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
{{- with .Values.linux.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: liveness-probe
volumeMounts:
- mountPath: /csi
name: socket-dir
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=/csi/csi.sock
- --probe-timeout=3s
- --health-port={{ .Values.node.livenessProbe.healthPort }}
- --v=2
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
resources: {{- toYaml .Values.linux.resources.livenessProbe | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
- name: node-driver-registrar
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- else }}
image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- end }}
args:
- --csi-address=$(ADDRESS)
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --v=2
livenessProbe:
exec:
command:
- /csi-node-driver-registrar
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --mode=kubelet-registration-probe
initialDelaySeconds: 30
timeoutSeconds: 15
env:
- name: ADDRESS
value: /csi/csi.sock
- name: DRIVER_REG_SOCK_PATH
value: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}/csi.sock
imagePullPolicy: {{ .Values.image.nodeDriverRegistrar.pullPolicy }}
volumeMounts:
- name: socket-dir
mountPath: /csi
- name: registration-dir
mountPath: /registration
resources: {{- toYaml .Values.linux.resources.nodeDriverRegistrar | nindent 12 }}
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.node.logLevel }}"
- "--drivername={{ .Values.driver.name }}"
- "--endpoint=$(CSI_ENDPOINT)"
- "--nodeid=$(KUBE_NODE_NAME)"
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
ports:
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
name: healthz
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: healthz
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
securityContext:
privileged: true
volumeMounts:
- mountPath: /csi
name: socket-dir
- mountPath: {{ .Values.linux.kubelet }}/
mountPropagation: Bidirectional
name: mountpoint-dir
resources: {{- toYaml .Values.linux.resources.smb | nindent 12 }}
volumes:
- hostPath:
path: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}
type: DirectoryOrCreate
name: socket-dir
- hostPath:
path: {{ .Values.linux.kubelet }}/
type: DirectoryOrCreate
name: mountpoint-dir
- hostPath:
path: {{ .Values.linux.kubelet }}/plugins_registry/
type: DirectoryOrCreate
name: registration-dir
{{- end -}}

View File

@ -0,0 +1,65 @@
{{- if .Values.serviceAccount.create -}}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.node }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
{{ end }}
{{- if .Values.rbac.create -}}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Values.rbac.name }}-external-provisioner-role
{{ include "smb.labels" . | indent 2 }}
rules:
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "delete"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "list", "watch", "update"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["events"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: ["storage.k8s.io"]
resources: ["csinodes"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list", "watch"]
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Values.rbac.name }}-csi-provisioner-binding
{{ include "smb.labels" . | indent 2 }}
subjects:
- kind: ServiceAccount
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Values.rbac.name }}-external-provisioner-role
apiGroup: rbac.authorization.k8s.io
{{ end }}

View File

@ -0,0 +1,164 @@
image:
baseRepo: registry.k8s.io/sig-storage
smb:
repository: registry.k8s.io/sig-storage/smbplugin
tag: v1.12.0
pullPolicy: IfNotPresent
csiProvisioner:
repository: registry.k8s.io/sig-storage/csi-provisioner
tag: v3.5.0
pullPolicy: IfNotPresent
livenessProbe:
repository: registry.k8s.io/sig-storage/livenessprobe
tag: v2.10.0
pullPolicy: IfNotPresent
nodeDriverRegistrar:
repository: registry.k8s.io/sig-storage/csi-node-driver-registrar
tag: v2.8.0
pullPolicy: IfNotPresent
csiproxy:
repository: ghcr.io/kubernetes-sigs/sig-windows/csi-provisioner
tag: v1.1.2
pullPolicy: IfNotPresent
serviceAccount:
create: true # When true, service accounts will be created for you. Set to false if you want to use your own.
controller: csi-smb-controller-sa
node: csi-smb-node-sa
rbac:
create: true
name: smb
driver:
name: smb.csi.k8s.io
feature:
enableGetVolumeStats: true
controller:
name: csi-smb-controller
replicas: 1
dnsPolicy: ClusterFirstWithHostNet # available values: Default, ClusterFirstWithHostNet, ClusterFirst
metricsPort: 29644
livenessProbe:
healthPort: 29642
runOnMaster: false
runOnControlPlane: false
logLevel: 5
workingMountDir: "/tmp"
resources:
csiProvisioner:
limits:
memory: 300Mi
requests:
cpu: 10m
memory: 20Mi
livenessProbe:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 20Mi
affinity: {}
nodeSelector: {}
tolerations:
- 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"
node:
maxUnavailable: 1
logLevel: 5
livenessProbe:
healthPort: 29643
affinity: {}
nodeSelector: {}
linux:
enabled: true
dsName: csi-smb-node # daemonset name
dnsPolicy: ClusterFirstWithHostNet # available values: Default, ClusterFirstWithHostNet, ClusterFirst
kubelet: /var/lib/kubelet
tolerations:
- operator: "Exists"
resources:
livenessProbe:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
nodeDriverRegistrar:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 20Mi
windows:
enabled: false # Unless you already had csi proxy installed, windows.csiproxy.enabled=true is required
dsName: csi-smb-node-win # daemonset name
kubelet: 'C:\var\lib\kubelet'
removeSMBMappingDuringUnmount: true
tolerations:
- key: "node.kubernetes.io/os"
operator: "Exists"
effect: "NoSchedule"
resources:
livenessProbe:
limits:
memory: 150Mi
requests:
cpu: 10m
memory: 40Mi
nodeDriverRegistrar:
limits:
memory: 150Mi
requests:
cpu: 10m
memory: 40Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 40Mi
csiproxy:
enabled: false # required if windows.enabled is true, but may be installed manually also
dsName: csi-proxy-win # daemonset name
tolerations: {}
affinity: {}
nodeSelector:
"kubernetes.io/os": windows
customLabels: {}
## Collection of annotations to add to all the pods
podAnnotations: {}
## Collection of labels to add to all the pods
podLabels: {}
## Leverage a PriorityClass to ensure your pods survive resource shortages
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
priorityClassName: system-cluster-critical
## Security context give the opportunity to run container as nonroot by setting a securityContext
## by example :
## securityContext: { runAsUser: 1001 }
securityContext: { seccompProfile: {type: RuntimeDefault} }

Binary file not shown.

View File

@ -0,0 +1,5 @@
apiVersion: v1
appVersion: v1.13.0
description: SMB CSI Driver for Kubernetes
name: csi-driver-smb
version: v1.13.0

View File

@ -0,0 +1,5 @@
The CSI SMB Driver is getting deployed to your cluster.
To check CSI SMB Driver pods status, please run:
kubectl --namespace={{ .Release.Namespace }} get pods --selector="app.kubernetes.io/name={{ .Release.Name }}" --watch

View File

@ -0,0 +1,29 @@
{{/* vim: set filetype=mustache: */}}
{{/* Expand the name of the chart.*/}}
{{- define "smb.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/* labels for helm resources */}}
{{- define "smb.labels" -}}
labels:
app.kubernetes.io/instance: "{{ .Release.Name }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/name: "{{ template "smb.name" . }}"
app.kubernetes.io/version: "{{ .Chart.AppVersion }}"
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
{{- if .Values.customLabels }}
{{ toYaml .Values.customLabels | indent 2 -}}
{{- end }}
{{- end -}}
{{/* pull secrets for containers */}}
{{- define "smb.pullSecrets" -}}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
{{- end -}}

View File

@ -0,0 +1,48 @@
{{- if .Values.windows.csiproxy.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.windows.csiproxy.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.windows.csiproxy.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.windows.csiproxy.dsName }}
spec:
{{- with .Values.windows.csiproxy.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
securityContext:
windowsOptions:
hostProcess: true
runAsUserName: {{ .Values.windows.csiproxy.username | quote }}
hostNetwork: true
nodeSelector:
{{- with .Values.windows.csiproxy.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: csi-proxy
{{- if hasPrefix "/" .Values.image.csiproxy.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiproxy.repository }}:{{ .Values.image.csiproxy.tag }}"
{{- else }}
image: "{{ .Values.image.csiproxy.repository }}:{{ .Values.image.csiproxy.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.csiproxy.pullPolicy }}
{{- end -}}

View File

@ -0,0 +1,143 @@
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: {{ .Values.controller.name }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
strategy:
type: Recreate
replicas: {{ .Values.controller.replicas }}
selector:
matchLabels:
app: {{ .Values.controller.name }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.controller.name }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
{{- if .Values.podAnnotations }}
annotations:
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
{{- with .Values.controller.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
hostNetwork: true
dnsPolicy: {{ .Values.controller.dnsPolicy }}
serviceAccountName: {{ .Values.serviceAccount.controller }}
nodeSelector:
{{- with .Values.controller.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
kubernetes.io/os: linux
{{- if .Values.controller.runOnMaster}}
node-role.kubernetes.io/master: ""
{{- end}}
{{- if .Values.controller.runOnControlPlane}}
node-role.kubernetes.io/control-plane: ""
{{- end}}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
{{- with .Values.controller.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: csi-provisioner
{{- if hasPrefix "/" .Values.image.csiProvisioner.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}"
{{- else }}
image: "{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}"
{{- end }}
args:
- "-v=2"
- "--csi-address=$(ADDRESS)"
- "--leader-election"
- "--leader-election-namespace={{ .Release.Namespace }}"
- "--extra-create-metadata=true"
env:
- name: ADDRESS
value: /csi/csi.sock
imagePullPolicy: {{ .Values.image.csiProvisioner.pullPolicy }}
volumeMounts:
- mountPath: /csi
name: socket-dir
resources: {{- toYaml .Values.controller.resources.csiProvisioner | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
- name: liveness-probe
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=/csi/csi.sock
- --probe-timeout=3s
- --health-port={{ .Values.controller.livenessProbe.healthPort }}
- --v=2
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
volumeMounts:
- name: socket-dir
mountPath: /csi
resources: {{- toYaml .Values.controller.resources.livenessProbe | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.controller.logLevel }}"
- "--endpoint=$(CSI_ENDPOINT)"
- "--metrics-address=0.0.0.0:{{ .Values.controller.metricsPort }}"
- "--drivername={{ .Values.driver.name }}"
- "--working-mount-dir={{ .Values.controller.workingMountDir }}"
ports:
- containerPort: {{ .Values.controller.livenessProbe.healthPort }}
name: healthz
protocol: TCP
- containerPort: {{ .Values.controller.metricsPort }}
name: metrics
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: healthz
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
securityContext:
privileged: true
capabilities:
drop:
- ALL
volumeMounts:
- mountPath: /csi
name: socket-dir
resources: {{- toYaml .Values.controller.resources.smb | nindent 12 }}
volumes:
- name: socket-dir
emptyDir: {}

View File

@ -0,0 +1,8 @@
---
apiVersion: storage.k8s.io/v1
kind: CSIDriver
metadata:
name: {{ .Values.driver.name }}
spec:
attachRequired: false
podInfoOnMount: true

View File

@ -0,0 +1,183 @@
{{- if .Values.windows.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.windows.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.windows.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.windows.dsName }}
spec:
{{- with .Values.windows.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
nodeSelector:
kubernetes.io/os: windows
{{- with .Values.node.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
serviceAccountName: {{ .Values.serviceAccount.node }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: liveness-probe
volumeMounts:
- mountPath: C:\csi
name: plugin-dir
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=$(CSI_ENDPOINT)
- --probe-timeout=3s
- --health-port={{ .Values.node.livenessProbe.healthPort }}
- --v=2
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
resources: {{- toYaml .Values.windows.resources.livenessProbe | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
- name: node-driver-registrar
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- else }}
image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- end }}
args:
- --v=2
- --csi-address=$(CSI_ENDPOINT)
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
livenessProbe:
exec:
command:
- /csi-node-driver-registrar.exe
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --mode=kubelet-registration-probe
initialDelaySeconds: 60
timeoutSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
- name: DRIVER_REG_SOCK_PATH
value: {{ .Values.windows.kubelet | replace "\\" "\\\\" }}\\plugins\\{{ .Values.driver.name }}\\csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
imagePullPolicy: {{ .Values.image.nodeDriverRegistrar.pullPolicy }}
volumeMounts:
- name: plugin-dir
mountPath: C:\csi
- name: registration-dir
mountPath: C:\registration
resources: {{- toYaml .Values.windows.resources.nodeDriverRegistrar | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.node.logLevel }}"
- "--drivername={{ .Values.driver.name }}"
- --endpoint=$(CSI_ENDPOINT)
- --nodeid=$(KUBE_NODE_NAME)
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
- "--remove-smb-mapping-during-unmount={{ .Values.windows.removeSMBMappingDuringUnmount }}"
ports:
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
name: healthz
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: healthz
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
volumeMounts:
- name: kubelet-dir
mountPath: {{ .Values.windows.kubelet }}\
- name: plugin-dir
mountPath: C:\csi
- name: csi-proxy-fs-pipe-v1
mountPath: \\.\pipe\csi-proxy-filesystem-v1
- name: csi-proxy-smb-pipe-v1
mountPath: \\.\pipe\csi-proxy-smb-v1
# these paths are still included for compatibility, they're used
# only if the node has still the beta version of the CSI proxy
- name: csi-proxy-fs-pipe-v1beta1
mountPath: \\.\pipe\csi-proxy-filesystem-v1beta1
- name: csi-proxy-smb-pipe-v1beta1
mountPath: \\.\pipe\csi-proxy-smb-v1beta1
resources: {{- toYaml .Values.windows.resources.smb | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
volumes:
- name: csi-proxy-fs-pipe-v1
hostPath:
path: \\.\pipe\csi-proxy-filesystem-v1
- name: csi-proxy-smb-pipe-v1
hostPath:
path: \\.\pipe\csi-proxy-smb-v1
# these paths are still included for compatibility, they're used
# only if the node has still the beta version of the CSI proxy
- name: csi-proxy-fs-pipe-v1beta1
hostPath:
path: \\.\pipe\csi-proxy-filesystem-v1beta1
- name: csi-proxy-smb-pipe-v1beta1
hostPath:
path: \\.\pipe\csi-proxy-smb-v1beta1
- name: registration-dir
hostPath:
path: {{ .Values.windows.kubelet }}\plugins_registry\
type: Directory
- name: kubelet-dir
hostPath:
path: {{ .Values.windows.kubelet }}\
type: Directory
- name: plugin-dir
hostPath:
path: {{ .Values.windows.kubelet }}\plugins\{{ .Values.driver.name }}\
type: DirectoryOrCreate
{{- end -}}

View File

@ -0,0 +1,163 @@
{{- if .Values.linux.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.linux.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.linux.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.linux.dsName }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
{{- if .Values.podAnnotations }}
annotations:
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
hostNetwork: true
dnsPolicy: {{ .Values.linux.dnsPolicy }}
serviceAccountName: {{ .Values.serviceAccount.node }}
nodeSelector:
kubernetes.io/os: linux
{{- with .Values.node.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
{{- with .Values.linux.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: liveness-probe
volumeMounts:
- mountPath: /csi
name: socket-dir
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=/csi/csi.sock
- --probe-timeout=3s
- --health-port={{ .Values.node.livenessProbe.healthPort }}
- --v=2
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
resources: {{- toYaml .Values.linux.resources.livenessProbe | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
- name: node-driver-registrar
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- else }}
image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- end }}
args:
- --csi-address=$(ADDRESS)
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --v=2
livenessProbe:
exec:
command:
- /csi-node-driver-registrar
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --mode=kubelet-registration-probe
initialDelaySeconds: 30
timeoutSeconds: 15
env:
- name: ADDRESS
value: /csi/csi.sock
- name: DRIVER_REG_SOCK_PATH
value: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}/csi.sock
imagePullPolicy: {{ .Values.image.nodeDriverRegistrar.pullPolicy }}
volumeMounts:
- name: socket-dir
mountPath: /csi
- name: registration-dir
mountPath: /registration
resources: {{- toYaml .Values.linux.resources.nodeDriverRegistrar | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.node.logLevel }}"
- "--drivername={{ .Values.driver.name }}"
- "--endpoint=$(CSI_ENDPOINT)"
- "--nodeid=$(KUBE_NODE_NAME)"
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
ports:
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
name: healthz
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: healthz
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
securityContext:
privileged: true
capabilities:
drop:
- ALL
volumeMounts:
- mountPath: /csi
name: socket-dir
- mountPath: {{ .Values.linux.kubelet }}/
mountPropagation: Bidirectional
name: mountpoint-dir
resources: {{- toYaml .Values.linux.resources.smb | nindent 12 }}
volumes:
- hostPath:
path: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}
type: DirectoryOrCreate
name: socket-dir
- hostPath:
path: {{ .Values.linux.kubelet }}/
type: DirectoryOrCreate
name: mountpoint-dir
- hostPath:
path: {{ .Values.linux.kubelet }}/plugins_registry/
type: DirectoryOrCreate
name: registration-dir
{{- end -}}

View File

@ -0,0 +1,65 @@
{{- if .Values.serviceAccount.create -}}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.node }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
{{ end }}
{{- if .Values.rbac.create -}}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Values.rbac.name }}-external-provisioner-role
{{ include "smb.labels" . | indent 2 }}
rules:
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "delete"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "list", "watch", "update"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["events"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: ["storage.k8s.io"]
resources: ["csinodes"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list", "watch"]
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Values.rbac.name }}-csi-provisioner-binding
{{ include "smb.labels" . | indent 2 }}
subjects:
- kind: ServiceAccount
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Values.rbac.name }}-external-provisioner-role
apiGroup: rbac.authorization.k8s.io
{{ end }}

View File

@ -0,0 +1,165 @@
image:
baseRepo: registry.k8s.io/sig-storage
smb:
repository: registry.k8s.io/sig-storage/smbplugin
tag: v1.13.0
pullPolicy: IfNotPresent
csiProvisioner:
repository: registry.k8s.io/sig-storage/csi-provisioner
tag: v3.6.1
pullPolicy: IfNotPresent
livenessProbe:
repository: registry.k8s.io/sig-storage/livenessprobe
tag: v2.11.0
pullPolicy: IfNotPresent
nodeDriverRegistrar:
repository: registry.k8s.io/sig-storage/csi-node-driver-registrar
tag: v2.9.0
pullPolicy: IfNotPresent
csiproxy:
repository: ghcr.io/kubernetes-sigs/sig-windows/csi-proxy
tag: v1.1.2
pullPolicy: IfNotPresent
serviceAccount:
create: true # When true, service accounts will be created for you. Set to false if you want to use your own.
controller: csi-smb-controller-sa
node: csi-smb-node-sa
rbac:
create: true
name: smb
driver:
name: smb.csi.k8s.io
feature:
enableGetVolumeStats: true
controller:
name: csi-smb-controller
replicas: 1
dnsPolicy: ClusterFirstWithHostNet # available values: Default, ClusterFirstWithHostNet, ClusterFirst
metricsPort: 29644
livenessProbe:
healthPort: 29642
runOnMaster: false
runOnControlPlane: false
logLevel: 5
workingMountDir: "/tmp"
resources:
csiProvisioner:
limits:
memory: 300Mi
requests:
cpu: 10m
memory: 20Mi
livenessProbe:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 20Mi
affinity: {}
nodeSelector: {}
tolerations:
- 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"
node:
maxUnavailable: 1
logLevel: 5
livenessProbe:
healthPort: 29643
affinity: {}
nodeSelector: {}
linux:
enabled: true
dsName: csi-smb-node # daemonset name
dnsPolicy: ClusterFirstWithHostNet # available values: Default, ClusterFirstWithHostNet, ClusterFirst
kubelet: /var/lib/kubelet
tolerations:
- operator: "Exists"
resources:
livenessProbe:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
nodeDriverRegistrar:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 20Mi
windows:
enabled: false # Unless you already had csi proxy installed, windows.csiproxy.enabled=true is required
dsName: csi-smb-node-win # daemonset name
kubelet: 'C:\var\lib\kubelet'
removeSMBMappingDuringUnmount: true
tolerations:
- key: "node.kubernetes.io/os"
operator: "Exists"
effect: "NoSchedule"
resources:
livenessProbe:
limits:
memory: 150Mi
requests:
cpu: 10m
memory: 40Mi
nodeDriverRegistrar:
limits:
memory: 150Mi
requests:
cpu: 10m
memory: 40Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 40Mi
csiproxy:
enabled: false # required if windows.enabled is true, but may be installed manually also
dsName: csi-proxy-win # daemonset name
tolerations: {}
affinity: {}
username: "NT AUTHORITY\\SYSTEM"
nodeSelector:
"kubernetes.io/os": windows
customLabels: {}
## Collection of annotations to add to all the pods
podAnnotations: {}
## Collection of labels to add to all the pods
podLabels: {}
## Leverage a PriorityClass to ensure your pods survive resource shortages
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
priorityClassName: system-cluster-critical
## Security context give the opportunity to run container as nonroot by setting a securityContext
## by example :
## securityContext: { runAsUser: 1001 }
securityContext: { seccompProfile: {type: RuntimeDefault} }

Binary file not shown.

View File

@ -0,0 +1,5 @@
apiVersion: v1
appVersion: v1.14.0
description: SMB CSI Driver for Kubernetes
name: csi-driver-smb
version: v1.14.0

View File

@ -0,0 +1,5 @@
The CSI SMB Driver is getting deployed to your cluster.
To check CSI SMB Driver pods status, please run:
kubectl --namespace={{ .Release.Namespace }} get pods --selector="app.kubernetes.io/name={{ .Release.Name }}" --watch

View File

@ -0,0 +1,29 @@
{{/* vim: set filetype=mustache: */}}
{{/* Expand the name of the chart.*/}}
{{- define "smb.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/* labels for helm resources */}}
{{- define "smb.labels" -}}
labels:
app.kubernetes.io/instance: "{{ .Release.Name }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/name: "{{ template "smb.name" . }}"
app.kubernetes.io/version: "{{ .Chart.AppVersion }}"
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
{{- if .Values.customLabels }}
{{ toYaml .Values.customLabels | indent 2 -}}
{{- end }}
{{- end -}}
{{/* pull secrets for containers */}}
{{- define "smb.pullSecrets" -}}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
{{- end -}}

View File

@ -0,0 +1,48 @@
{{- if .Values.windows.csiproxy.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.windows.csiproxy.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.windows.csiproxy.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.windows.csiproxy.dsName }}
spec:
{{- with .Values.windows.csiproxy.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
securityContext:
windowsOptions:
hostProcess: true
runAsUserName: {{ .Values.windows.csiproxy.username | quote }}
hostNetwork: true
nodeSelector:
{{- with .Values.windows.csiproxy.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: csi-proxy
{{- if hasPrefix "/" .Values.image.csiproxy.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiproxy.repository }}:{{ .Values.image.csiproxy.tag }}"
{{- else }}
image: "{{ .Values.image.csiproxy.repository }}:{{ .Values.image.csiproxy.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.csiproxy.pullPolicy }}
{{- end -}}

View File

@ -0,0 +1,141 @@
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: {{ .Values.controller.name }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
strategy:
type: Recreate
replicas: {{ .Values.controller.replicas }}
selector:
matchLabels:
app: {{ .Values.controller.name }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.controller.name }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
{{- if .Values.podAnnotations }}
annotations:
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
{{- with .Values.controller.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
hostNetwork: true
dnsPolicy: {{ .Values.controller.dnsPolicy }}
serviceAccountName: {{ .Values.serviceAccount.controller }}
nodeSelector:
{{- with .Values.controller.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
kubernetes.io/os: linux
{{- if .Values.controller.runOnMaster}}
node-role.kubernetes.io/master: ""
{{- end}}
{{- if .Values.controller.runOnControlPlane}}
node-role.kubernetes.io/control-plane: ""
{{- end}}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
{{- with .Values.controller.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: csi-provisioner
{{- if hasPrefix "/" .Values.image.csiProvisioner.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}"
{{- else }}
image: "{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}"
{{- end }}
args:
- "-v=2"
- "--csi-address=$(ADDRESS)"
- "--leader-election"
- "--leader-election-namespace={{ .Release.Namespace }}"
- "--extra-create-metadata=true"
env:
- name: ADDRESS
value: /csi/csi.sock
imagePullPolicy: {{ .Values.image.csiProvisioner.pullPolicy }}
volumeMounts:
- mountPath: /csi
name: socket-dir
resources: {{- toYaml .Values.controller.resources.csiProvisioner | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
- name: liveness-probe
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=/csi/csi.sock
- --probe-timeout=3s
- --http-endpoint=localhost:{{ .Values.controller.livenessProbe.healthPort }}
- --v=2
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
volumeMounts:
- name: socket-dir
mountPath: /csi
resources: {{- toYaml .Values.controller.resources.livenessProbe | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.controller.logLevel }}"
- "--endpoint=$(CSI_ENDPOINT)"
- "--metrics-address=0.0.0.0:{{ .Values.controller.metricsPort }}"
- "--drivername={{ .Values.driver.name }}"
- "--working-mount-dir={{ .Values.controller.workingMountDir }}"
ports:
- containerPort: {{ .Values.controller.metricsPort }}
name: metrics
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
host: localhost
path: /healthz
port: {{ .Values.controller.livenessProbe.healthPort }}
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
securityContext:
privileged: true
capabilities:
drop:
- ALL
volumeMounts:
- mountPath: /csi
name: socket-dir
resources: {{- toYaml .Values.controller.resources.smb | nindent 12 }}
volumes:
- name: socket-dir
emptyDir: {}

View File

@ -0,0 +1,8 @@
---
apiVersion: storage.k8s.io/v1
kind: CSIDriver
metadata:
name: {{ .Values.driver.name }}
spec:
attachRequired: false
podInfoOnMount: true

View File

@ -0,0 +1,183 @@
{{- if .Values.windows.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.windows.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.windows.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.windows.dsName }}
spec:
{{- with .Values.windows.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
nodeSelector:
kubernetes.io/os: windows
{{- with .Values.node.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
serviceAccountName: {{ .Values.serviceAccount.node }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: liveness-probe
volumeMounts:
- mountPath: C:\csi
name: plugin-dir
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=$(CSI_ENDPOINT)
- --probe-timeout=3s
- --health-port={{ .Values.node.livenessProbe.healthPort }}
- --v=2
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
resources: {{- toYaml .Values.windows.resources.livenessProbe | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
- name: node-driver-registrar
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- else }}
image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- end }}
args:
- --v=2
- --csi-address=$(CSI_ENDPOINT)
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
livenessProbe:
exec:
command:
- /csi-node-driver-registrar.exe
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --mode=kubelet-registration-probe
initialDelaySeconds: 60
timeoutSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
- name: DRIVER_REG_SOCK_PATH
value: {{ .Values.windows.kubelet | replace "\\" "\\\\" }}\\plugins\\{{ .Values.driver.name }}\\csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
imagePullPolicy: {{ .Values.image.nodeDriverRegistrar.pullPolicy }}
volumeMounts:
- name: plugin-dir
mountPath: C:\csi
- name: registration-dir
mountPath: C:\registration
resources: {{- toYaml .Values.windows.resources.nodeDriverRegistrar | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.node.logLevel }}"
- "--drivername={{ .Values.driver.name }}"
- --endpoint=$(CSI_ENDPOINT)
- --nodeid=$(KUBE_NODE_NAME)
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
- "--remove-smb-mapping-during-unmount={{ .Values.windows.removeSMBMappingDuringUnmount }}"
ports:
- containerPort: {{ .Values.node.livenessProbe.healthPort }}
name: healthz
protocol: TCP
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: healthz
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix://C:\\csi\\csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
volumeMounts:
- name: kubelet-dir
mountPath: {{ .Values.windows.kubelet }}\
- name: plugin-dir
mountPath: C:\csi
- name: csi-proxy-fs-pipe-v1
mountPath: \\.\pipe\csi-proxy-filesystem-v1
- name: csi-proxy-smb-pipe-v1
mountPath: \\.\pipe\csi-proxy-smb-v1
# these paths are still included for compatibility, they're used
# only if the node has still the beta version of the CSI proxy
- name: csi-proxy-fs-pipe-v1beta1
mountPath: \\.\pipe\csi-proxy-filesystem-v1beta1
- name: csi-proxy-smb-pipe-v1beta1
mountPath: \\.\pipe\csi-proxy-smb-v1beta1
resources: {{- toYaml .Values.windows.resources.smb | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
volumes:
- name: csi-proxy-fs-pipe-v1
hostPath:
path: \\.\pipe\csi-proxy-filesystem-v1
- name: csi-proxy-smb-pipe-v1
hostPath:
path: \\.\pipe\csi-proxy-smb-v1
# these paths are still included for compatibility, they're used
# only if the node has still the beta version of the CSI proxy
- name: csi-proxy-fs-pipe-v1beta1
hostPath:
path: \\.\pipe\csi-proxy-filesystem-v1beta1
- name: csi-proxy-smb-pipe-v1beta1
hostPath:
path: \\.\pipe\csi-proxy-smb-v1beta1
- name: registration-dir
hostPath:
path: {{ .Values.windows.kubelet }}\plugins_registry\
type: Directory
- name: kubelet-dir
hostPath:
path: {{ .Values.windows.kubelet }}\
type: Directory
- name: plugin-dir
hostPath:
path: {{ .Values.windows.kubelet }}\plugins\{{ .Values.driver.name }}\
type: DirectoryOrCreate
{{- end -}}

View File

@ -0,0 +1,172 @@
{{- if .Values.linux.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.linux.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.linux.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.linux.dsName }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
{{- if .Values.podAnnotations }}
annotations:
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
spec:
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
hostNetwork: true
dnsPolicy: {{ .Values.linux.dnsPolicy }}
serviceAccountName: {{ .Values.serviceAccount.node }}
nodeSelector:
kubernetes.io/os: linux
{{- with .Values.node.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
{{- with .Values.linux.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: liveness-probe
volumeMounts:
- mountPath: /csi
name: socket-dir
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- else }}
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
{{- end }}
args:
- --csi-address=/csi/csi.sock
- --probe-timeout=3s
- --http-endpoint=localhost:{{ .Values.node.livenessProbe.healthPort }}
- --v=2
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
resources: {{- toYaml .Values.linux.resources.livenessProbe | nindent 12 }}
securityContext:
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
- name: node-driver-registrar
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- else }}
image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
{{- end }}
args:
- --csi-address=$(ADDRESS)
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --v=2
livenessProbe:
exec:
command:
- /csi-node-driver-registrar
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
- --mode=kubelet-registration-probe
initialDelaySeconds: 30
timeoutSeconds: 15
env:
- name: ADDRESS
value: /csi/csi.sock
- name: DRIVER_REG_SOCK_PATH
value: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}/csi.sock
imagePullPolicy: {{ .Values.image.nodeDriverRegistrar.pullPolicy }}
volumeMounts:
- name: socket-dir
mountPath: /csi
- name: registration-dir
mountPath: /registration
resources: {{- toYaml .Values.linux.resources.nodeDriverRegistrar | nindent 12 }}
securityContext:
capabilities:
drop:
- ALL
- name: smb
{{- if hasPrefix "/" .Values.image.smb.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- else }}
image: "{{ .Values.image.smb.repository }}:{{ .Values.image.smb.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.smb.pullPolicy }}
args:
- "--v={{ .Values.node.logLevel }}"
- "--drivername={{ .Values.driver.name }}"
- "--endpoint=$(CSI_ENDPOINT)"
- "--nodeid=$(KUBE_NODE_NAME)"
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
- "--krb5-prefix={{ .Values.linux.krb5Prefix }}"
livenessProbe:
failureThreshold: 5
httpGet:
host: localhost
path: /healthz
port: {{ .Values.node.livenessProbe.healthPort }}
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 30
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
securityContext:
privileged: true
capabilities:
drop:
- ALL
volumeMounts:
- mountPath: /csi
name: socket-dir
- mountPath: {{ .Values.linux.kubelet }}
mountPropagation: Bidirectional
name: mountpoint-dir
{{- if ne .Values.linux.krb5CacheDirectory "" }}
- mountPath: {{ .Values.linux.kubelet }}/kerberos/
mountPropagation: Bidirectional
name: krb5cache-dir
{{- end }}
resources: {{- toYaml .Values.linux.resources.smb | nindent 12 }}
volumes:
- hostPath:
path: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}
type: DirectoryOrCreate
name: socket-dir
- hostPath:
path: {{ .Values.linux.kubelet }}/
type: DirectoryOrCreate
name: mountpoint-dir
- hostPath:
path: {{ .Values.linux.kubelet }}/plugins_registry/
type: DirectoryOrCreate
name: registration-dir
{{- if ne .Values.linux.krb5CacheDirectory "" }}
- hostPath:
path: {{ .Values.linux.krb5CacheDirectory }}
type: DirectoryOrCreate
name: krb5cache-dir
{{- end }}
{{- end -}}

View File

@ -0,0 +1,65 @@
{{- if .Values.serviceAccount.create -}}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.node }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
{{ end }}
{{- if .Values.rbac.create -}}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Values.rbac.name }}-external-provisioner-role
{{ include "smb.labels" . | indent 2 }}
rules:
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "delete"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "list", "watch", "update"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["events"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: ["storage.k8s.io"]
resources: ["csinodes"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list", "watch"]
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Values.rbac.name }}-csi-provisioner-binding
{{ include "smb.labels" . | indent 2 }}
subjects:
- kind: ServiceAccount
name: {{ .Values.serviceAccount.controller }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Values.rbac.name }}-external-provisioner-role
apiGroup: rbac.authorization.k8s.io
{{ end }}

View File

@ -0,0 +1,167 @@
image:
baseRepo: registry.k8s.io/sig-storage
smb:
repository: registry.k8s.io/sig-storage/smbplugin
tag: v1.14.0
pullPolicy: IfNotPresent
csiProvisioner:
repository: registry.k8s.io/sig-storage/csi-provisioner
tag: v4.0.0
pullPolicy: IfNotPresent
livenessProbe:
repository: registry.k8s.io/sig-storage/livenessprobe
tag: v2.12.0
pullPolicy: IfNotPresent
nodeDriverRegistrar:
repository: registry.k8s.io/sig-storage/csi-node-driver-registrar
tag: v2.10.0
pullPolicy: IfNotPresent
csiproxy:
repository: ghcr.io/kubernetes-sigs/sig-windows/csi-proxy
tag: v1.1.2
pullPolicy: IfNotPresent
serviceAccount:
create: true # When true, service accounts will be created for you. Set to false if you want to use your own.
controller: csi-smb-controller-sa
node: csi-smb-node-sa
rbac:
create: true
name: smb
driver:
name: smb.csi.k8s.io
feature:
enableGetVolumeStats: true
controller:
name: csi-smb-controller
replicas: 1
dnsPolicy: ClusterFirstWithHostNet # available values: Default, ClusterFirstWithHostNet, ClusterFirst
metricsPort: 29644
livenessProbe:
healthPort: 29642
runOnMaster: false
runOnControlPlane: false
logLevel: 5
workingMountDir: "/tmp"
resources:
csiProvisioner:
limits:
memory: 300Mi
requests:
cpu: 10m
memory: 20Mi
livenessProbe:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 20Mi
affinity: {}
nodeSelector: {}
tolerations:
- 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"
node:
maxUnavailable: 1
logLevel: 5
livenessProbe:
healthPort: 29643
affinity: {}
nodeSelector: {}
linux:
enabled: true
dsName: csi-smb-node # daemonset name
dnsPolicy: ClusterFirstWithHostNet # available values: Default, ClusterFirstWithHostNet, ClusterFirst
kubelet: /var/lib/kubelet
krb5CacheDirectory: "" # directory for kerberos credential cache, empty string means default(/var/lib/kubelet/kerberos/)
krb5Prefix: "" # prefix for kerberos credential cache, empty string means default(krb5cc_)
tolerations:
- operator: "Exists"
resources:
livenessProbe:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
nodeDriverRegistrar:
limits:
memory: 100Mi
requests:
cpu: 10m
memory: 20Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 20Mi
windows:
enabled: false # Unless you already had csi proxy installed, windows.csiproxy.enabled=true is required
dsName: csi-smb-node-win # daemonset name
kubelet: 'C:\var\lib\kubelet'
removeSMBMappingDuringUnmount: true
tolerations:
- key: "node.kubernetes.io/os"
operator: "Exists"
effect: "NoSchedule"
resources:
livenessProbe:
limits:
memory: 150Mi
requests:
cpu: 10m
memory: 40Mi
nodeDriverRegistrar:
limits:
memory: 150Mi
requests:
cpu: 10m
memory: 40Mi
smb:
limits:
memory: 200Mi
requests:
cpu: 10m
memory: 40Mi
csiproxy:
enabled: false # required if windows.enabled is true, but may be installed manually also
dsName: csi-proxy-win # daemonset name
tolerations: {}
affinity: {}
username: "NT AUTHORITY\\SYSTEM"
nodeSelector:
"kubernetes.io/os": windows
customLabels: {}
## Collection of annotations to add to all the pods
podAnnotations: {}
## Collection of labels to add to all the pods
podLabels: {}
## Leverage a PriorityClass to ensure your pods survive resource shortages
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
priorityClassName: system-cluster-critical
## Security context give the opportunity to run container as nonroot by setting a securityContext
## by example :
## securityContext: { runAsUser: 1001 }
securityContext: { seccompProfile: {type: RuntimeDefault} }

Binary file not shown.

View File

@ -0,0 +1,5 @@
apiVersion: v1
appVersion: v1.15.0
description: SMB CSI Driver for Kubernetes
name: csi-driver-smb
version: v1.15.0

View File

@ -0,0 +1,5 @@
The CSI SMB Driver is getting deployed to your cluster.
To check CSI SMB Driver pods status, please run:
kubectl --namespace={{ .Release.Namespace }} get pods --selector="app.kubernetes.io/name={{ .Release.Name }}" --watch

View File

@ -0,0 +1,29 @@
{{/* vim: set filetype=mustache: */}}
{{/* Expand the name of the chart.*/}}
{{- define "smb.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/* labels for helm resources */}}
{{- define "smb.labels" -}}
labels:
app.kubernetes.io/instance: "{{ .Release.Name }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/name: "{{ template "smb.name" . }}"
app.kubernetes.io/version: "{{ .Chart.AppVersion }}"
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
{{- if .Values.customLabels }}
{{ toYaml .Values.customLabels | indent 2 -}}
{{- end }}
{{- end -}}
{{/* pull secrets for containers */}}
{{- define "smb.pullSecrets" -}}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
{{- end -}}

View File

@ -0,0 +1,48 @@
{{- if .Values.windows.csiproxy.enabled}}
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: {{ .Values.windows.csiproxy.dsName }}
namespace: {{ .Release.Namespace }}
{{ include "smb.labels" . | indent 2 }}
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: {{ .Values.node.maxUnavailable }}
type: RollingUpdate
selector:
matchLabels:
app: {{ .Values.windows.csiproxy.dsName }}
template:
metadata:
{{ include "smb.labels" . | indent 6 }}
app: {{ .Values.windows.csiproxy.dsName }}
spec:
{{- with .Values.windows.csiproxy.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
securityContext:
windowsOptions:
hostProcess: true
runAsUserName: {{ .Values.windows.csiproxy.username | quote }}
hostNetwork: true
nodeSelector:
{{- with .Values.windows.csiproxy.nodeSelector }}
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.node.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- include "smb.pullSecrets" . | indent 6 }}
containers:
- name: csi-proxy
{{- if hasPrefix "/" .Values.image.csiproxy.repository }}
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiproxy.repository }}:{{ .Values.image.csiproxy.tag }}"
{{- else }}
image: "{{ .Values.image.csiproxy.repository }}:{{ .Values.image.csiproxy.tag }}"
{{- end }}
imagePullPolicy: {{ .Values.image.csiproxy.pullPolicy }}
{{- end -}}

Some files were not shown because too many files have changed in this diff Show More