2.10.0 (2024-10-29)
- add support & tests for Kubernetes 1.31 (#721) (85035b9)
- allow arbitrary length API tokens (#724) (61c3a0e)
- allow passing mkfs format options via storage class parameters (#747) (4b9aa4e)
- change XFS default options to support older kernels (#747) (4b9aa4e)
- drop tests for Kubernetes 1.27 (#722) (d46a54b)
- force pods with volumes to be scheduled on Cloud servers (#743) (702fe01)
- fstype is directly passed to mkfs: mkfs.<fstype> (#749) (173bf2f)
- support for SELinux mount (#756) (719247e), closes #582
- Support SINGLE_NODE_MULTI_WRITER capability (#725) (cd53c23), closes #327
- swarm: removed workaround support for mock staging/unstaging (#746) (465ec21)
2.9.0 (2024-08-08)
2.8.0 (2024-06-24)
- chart: separate image name and tag (#616) (0300b14)
- k8s: drop Kubernetes 1.26 from tests (93fe229)
- k8s: test against Kubernetes 1.30 (93fe229)
- read HCLOUD_TOKEN from file (#617) (4e1cd9d)
2.7.1 (2024-06-13)
2.7.0 (2024-05-10)
- add support & tests for Kubernetes 1.29 (#560) (b620486)
- drop tests for kubernetes v1.25 (#559) (5d19ae8)
2.6.0 (2023-11-08)
2.5.1 (2023-09-29)
2.5.0 (2023-09-29)
- build with Go 1.21 (#503) (2a82c3b)
- k8s: add Helm Chart (#500) (c39b138)
- test against Kubernetes 1.28 and drop 1.24 (#491) (b331348)
2.4.0 (2023-08-25)
- add nomad installation docs (#467) (631b117)
- docker-swarm: configure builds for arm64 (#471) (2b9c067)
- upgrade to hcloud-go v2 (3622bcc)
- btrfs volumes can not be formatted (#421) (#424) (be3fbc9)
- improve handling of metadata service connectivity (#466) (8ffa5fe)
Affordable, sustainable & powerful! 🚀You can now get one of our Arm64 CAX servers to optimize your operations while minimizing your costs! Discover Ampere’s efficient and robust Arm64 architecture and be ready to get blown away with its performance. 😎
Learn more: https://www.hetzner.com/news/arm64-cloud
- fix(ci): correct image tag in generated k8s manifests by @samcday in hetznercloud#407
Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.3.1...v2.3.2
Affordable, sustainable & powerful! 🚀You can now get one of our Arm64 CAX servers to optimize your operations while minimizing your costs! Discover Ampere’s efficient and robust Arm64 architecture and be ready to get blown away with its performance. 😎
Learn more: https://www.hetzner.com/news/arm64-cloud
- fix(ci): qemu binfmt wrappers during release by @samcday in hetznercloud#406
Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.3.0...v2.3.1
Affordable, sustainable & powerful! 🚀You can now get one of our Arm64 CAX servers to optimize your operations while minimizing your costs! Discover Ampere’s efficient and robust Arm64 architecture and be ready to get blown away with its performance. 😎
Learn more: https://www.hetzner.com/news/arm64-cloud
- docs: Update README for v2.2.0 by @apricote in hetznercloud#388
- chore(ci): run e2e workflow on public workers by @samcday in hetznercloud#393
- Fix typo in Script: Remove quotes. by @guettli in hetznercloud#394
- Add volumeattachment script macos compatibility by @laurigates in hetznercloud#396
- Update README.md by @laurigates in hetznercloud#395
- Fix volumeattachment array by @laurigates in hetznercloud#397
- feat: new dev/test environment by @apricote in hetznercloud#401
- feat(goreleaser): produce OCI manifest images by @apricote in hetznercloud#402
- ci: fix goreleaser arguments by @apricote in hetznercloud#403
- feat: publish ARM container images by @apricote in hetznercloud#405
- @laurigates made their first contribution in hetznercloud#396
Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.2.0...v2.3.0
- docs: Update README for v2.2.0 by @apricote in hetznercloud#388
- chore(ci): run e2e workflow on public workers by @samcday in hetznercloud#393
- Fix typo in Script: Remove quotes. by @guettli in hetznercloud#394
- Add volumeattachment script macos compatibility by @laurigates in hetznercloud#396
- Update README.md by @laurigates in hetznercloud#395
- Fix volumeattachment array by @laurigates in hetznercloud#397
- feat: new dev/test environment by @apricote in hetznercloud#401
- feat(goreleaser): produce OCI manifest images by @apricote in hetznercloud#402
- ci: fix goreleaser arguments by @apricote in hetznercloud#403
- @laurigates made their first contribution in hetznercloud#396
Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.2.0...v2.3.0-rc.0
- feat(k8s): pull CSI sidecar images from registry.k8s.io #368 by @apricote in hetznercloud#371
- feat: add experimental Docker Swarm support by @s4ke in hetznercloud#376
- feat: use exponential backoff for action polling by @apricote in hetznercloud#380
- feat: add Grafana dashboard and ServiceMonitors by @apricote in hetznercloud#378
- feat: Separate server ID from location for controller by @NotTheEvilOne in hetznercloud#385
- docs: update README for v2.1.1 by @apricote in hetznercloud#367
- Relax volume integration test by @choffmeister in hetznercloud#366
- feat: set allow discards on luksOpen by @apricote in hetznercloud#370
- docs(v2): describe process to prepare VolumeAttachments by @apricote in hetznercloud#375
- deps: bump hcloud-go to 1.40.0 by @apricote in hetznercloud#379
- chore(deps): bump golang.org/x/net from 0.5.0 to 0.7.0 by @dependabot in hetznercloud#383
- ci(e2e): improve behaviour in spite of flakiness by @apricote in hetznercloud#386
- ci(e2e): fail fast on worker setup errors by @apricote in hetznercloud#387
- @s4ke made their first contribution in hetznercloud#376
- @NotTheEvilOne made their first contribution in hetznercloud#385
Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.1.1...v2.2.0
- Build the Docker image on any platform by @hakman in hetznercloud#309
- test: fix e2e suite for NixOS by @apricote in hetznercloud#338
- docs: document procedure to fix PVs broken with v2.0.0 by @apricote in hetznercloud#340
- docs: add missing link to script by @apricote in hetznercloud#341
- encrypted storageclass had the wrong names. reference to cryptsetup by @JustinGuese in hetznercloud#342
- fix(node): check for empty devicePath by @apricote in hetznercloud#344
- docs: describe how to activate debug logs by @apricote in hetznercloud#345
- refactor(skaffold): update manifests to match v2+ resources by @apricote in hetznercloud#348
- feat: test against Kubernetes v1.26 by @apricote in hetznercloud#350
- chore(deps): upgrade kubernetes-csi sidecars by @apricote in hetznercloud#351
- Update k8s sig-storage containers by @choffmeister in hetznercloud#354
- fix: Block volumes are formatted #349 by @apricote in hetznercloud#353
- Verify hcloud-csi.yml is up-to-date by @choffmeister in hetznercloud#356
- chore(e2e): update testdriver definition by @apricote in hetznercloud#360
- chore(deps): update golang.org/x/ dependencies by @apricote in hetznercloud#364
- chore(deps): upgrade go dependencies by @apricote in hetznercloud#365
- @hakman made their first contribution in hetznercloud#309
- @JustinGuese made their first contribution in hetznercloud#342
Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.1.0...v2.1.1
- fix: revert invalid topology changes #333 by @apricote in hetznercloud#335
Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.0.1...v2.1.0
⚠️ This is a bugfix for #333, only update to this release if you are currently on v2.0.0
. Otherwise check out the issue to learn which version you should install/upgrade to.
- fix: invalid topology label on new volumes #333 by @apricote in hetznercloud#334
Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.0.0...v2.0.1
🛑 Version v2.0.0 contains a known bug that affects newly created volumes. Please upgrade directly to v2.1.0
. Details are available in the issue #333.
1.6.0
. Please see the Upgrading section in the README for details on the required steps.
- Include more information in request logging by @samcday in hetznercloud#237
- e2e test workflow improvements by @samcday in hetznercloud#234
- driver: fix panic when server is not found. by @jrasell in hetznercloud#249
- Use our own runners in E2E tests by @LKaemmerling in hetznercloud#252
- Remove unneeded privileges from CSI sidecars by @samcday in hetznercloud#235
- Use hcloud API for volume filesystem formatting by @samcday in hetznercloud#238
- Kustomization support and manifest simplification by @samcday in hetznercloud#223
- fix docs: taints vs label by @jleni in hetznercloud#257
- Update hcloud-csi.yml by @sui77 in hetznercloud#242
- [1/???] Split deployment manifests by @samcday in hetznercloud#261
- [2/???] Rework RBAC to only apply to CSI Controller by @samcday in hetznercloud#262
- [3/???] Switch Controller to Deployment, plus other tweaks by @samcday in hetznercloud#263
- [4/???] Remove hcloud API calls from most Node code paths by @samcday in hetznercloud#264
- [5/???] Split the driver into controller + node binaries by @samcday in hetznercloud#266
- [6/???] Simplify node resize by @samcday in hetznercloud#267
- Rename secret for hcloud api token to
hcloud
by @LKaemmerling in hetznercloud#275 - [7/???] Remove HCLOUD_TOKEN from node DaemonSet by @samcday in hetznercloud#269
- [8/???] Remove Node Stage/Unstage capability by @samcday in hetznercloud#270
- Allow to configure the HCLOUD API Endpoint via Environment Variables. by @LKaemmerling in hetznercloud#277
- Add support for volume encryption with cryptsetup and LUKS by @choffmeister in hetznercloud#279
- Implement ListVolumes Call by @LKaemmerling in hetznercloud#292
- Add FSGroup to mount capabilities + update dependencies by @4ND3R50N in hetznercloud#296
- Updates Version Constraint by @mvhirsch in hetznercloud#291
- Update k8s support by @4ND3R50N in hetznercloud#298
- Add skaffold for local debugging + add "Local test setup" section to README.md by @4ND3R50N in hetznercloud#301
- ci: publish unstable docker image from main by @EternalDeiwos in hetznercloud#305
- Explicit docs: read+write API token is needed. by @guettli in hetznercloud#313
- StorageClass has cluster scope by @jlgeering in hetznercloud#317
- test: fix integration tests relying on specific byte amounts by @apricote in hetznercloud#322
- feat: test against Kubernetes v1.25 by @apricote in hetznercloud#321
- chore: upgrade all dependencies to latest version by @apricote in hetznercloud#326
- [enhancement] Use native kubernetes topology region label for volumes nodeAffinity by @maksim-paskal in hetznercloud#302
- fix: driver version not updated on tagged release by @apricote in hetznercloud#328
- docs: update README for v2.0.0 by @apricote in hetznercloud#329
- @jrasell made their first contribution in hetznercloud#249
- @jleni made their first contribution in hetznercloud#257
- @sui77 made their first contribution in hetznercloud#242
- @choffmeister made their first contribution in hetznercloud#279
- @4ND3R50N made their first contribution in hetznercloud#296
- @mvhirsch made their first contribution in hetznercloud#291
- @EternalDeiwos made their first contribution in hetznercloud#305
- @guettli made their first contribution in hetznercloud#311
- @jlgeering made their first contribution in hetznercloud#317
- @maksim-paskal made their first contribution in hetznercloud#302
Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v1.6.0...v2.0.0
2ea4803 Add btrfs support 7719e45 Add exclude for blockstorage during resize (#211) 4a69641 Add k8s 1.22 to tests (#225) beb3783 Adjust stale bot to be more userfriendly (#217) 0de9bd9 CI improvements for speed and fork-friendliness. (#221) e07b392 Fix changelog generation 8cb0bfe Implement Instrumentation from hcloud-go (#227) c89c462 Increase default polling interval to 3 seconds. (#230) 11c9940 Make e2e workflow friendly to running on forks. (#214) 29893db Migrate Testsuite Setup to be in line with our CCM Testsuite (#219) 4ad4d69 Prepare release v1.6.0 (#231) cf4e7e4 Recognition of root servers (#195) c213244 Reduce default log verbosity to info level (#224) c74a95b Remove testing for k8s 1.18 as written in our Versioning policy. (#199) 8d1f531 Run e2e tests in parallel. (#215) da859e8 Simplify CSI socket handling (#222) 6164eaf Update README.md (#196) 140dad9 Update hcloud-go to v1.29.1 (#218) fb90575 Upgrade csi sidecars to latest versions. (#216) 54f573e Use Go 1.17 (#228) 5d2ac90 Use Goreleaser to publish changelog (#229)
- Update Go to 1.16
- Update csi driver container to alpine linux v3.13
- Update hcloud-go to 1.24.0
- Fix mounting idempotency issues
- Add correct deployment file for latest version
- Allow using the node name as node indicator instead of using the metadata service
- Allow to tune the log level using the
LOG_LEVEL
environment variable - Update k8s dependencies to v1.17.12
- Update Go to 1.15
- Update hcloud-go to 1.22.0
- Update csi driver container to alpine linux v3.12
- Note: As of this release all versions are end-to-end tested against the official Kubernetes testsuite, as a result a few smaller issues where fixed
- Allow mounting of Hetzner Cloud Volumes as raw block volumes.
- Add label (
app: hcloud-csi
) tohcloud-csi-controller-metrics
andhcloud-csi-node-metrics
- Update to hcloud-go 1.18.0
- Fix stuck volume terminating when the volume was already deleted
- Add correct deployment file for latest version
- Update
csi-attacher
sidecar to v2.2.0 - Update
csi-provisioner
sidecar to v1.6.0 - Update
csi-node-driver-registrar
sidecar to v1.3.0 - Add livenessProbe support
- Update Go to 1.14
- Reduce the amount of API calls from CSI driver
- Add option to configure the Action polling interval via
HCLOUD_POLLING_INTERVAL_SECONDS
- Add option to enable the debug mode via
HCLOUD_DEBUG
- Add missing RBAC rules required for newer k8s version
- Install
e2fsprogs-extra
for resizing - Add better error handling and validation for certain errors related to wrong API tokens
- Fix usage of
Aborted
error code, which leads to an increasing CPU usage
- Add missing RBAC rules required for newer k8s version
- Implement volume resizing
- Implement volume statistics
- Revert fix from v1.1.2 to retry attach/detach when server is locked
- Respect minimum volume size of 10 GB
- Detach volumes before deleting them
- Fix error handling for attaching/detaching volumes in case server is locked
- Improve logging
- Implement topology awareness (supporting nodes and volumes in different locations)
- Initial release