https://github.com/metal-stack/gardener-extension-csi-driver-lvm
https://github.com/metal-stack/gardener-extension-csi-driver-lvm
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/metal-stack/gardener-extension-csi-driver-lvm
- Owner: metal-stack
- License: mit
- Created: 2024-11-05T15:36:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-01-14T14:49:10.000Z (5 months ago)
- Last Synced: 2026-01-14T18:21:07.806Z (5 months ago)
- Language: Go
- Size: 72.3 KB
- Stars: 1
- Watchers: 5
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# gardener-extension-csi-driver-lvm
Provides a Gardener extension for managing [csi-driver-lvm](https://github.com/metal-stack/csi-driver-lvm) for a shoot cluster.
As a safety measurement, the extension checks for the old [csi-lvm](https://github.com/metal-stack/csi-lvm/tree/master) and stops reconciling if the old driver is still available.
If not the extension will reconcile the new `csi-driver-lvm`.
The following storage classes will be created by default:
- `csi-driver-lvm-linear` for linear volumes
- `csi-driver-lvm-mirror` for mirrored volumes for improved redundancy on multiple physical volumes
- `csi-driver-lvm-striped` for striped volumes for improved performance on multiple physical volumes
- `csi-lvm` for backwards compatibility with type linear.
See [docs/migration.md](./docs/migration.md) for further information about migrating from `csi-lvm` to `csi-driver-lvm`.
## Development
This extension can be developed in the gardener-local devel environment. Before make sure you have created loop-devices on your machine (identical to how you would develop the csi-driver-lvm locally, refer to the repository [docs](https://github.com/metal-stack/csi-driver-lvm?tab=readme-ov-file#development) for further information).
```sh
for i in 100 101; do fallocate -l 1G loop${i}.img ; sudo losetup /dev/loop${i} loop${i}.img; done
sudo losetup -a
# use this for recreation or cleanup
# for i in 100 101; do sudo losetup -d /dev/loop${i}; rm -f loop${i}.img; done
```
1. Start up the local devel environment
1. The extension's docker image can be pushed into Kind using `make push-to-gardener-local`
1. Install the extension `kubectl apply -k example/`
1. Parametrize the `example/shoot.yaml` and apply with `kubectl -f example/shoot.yaml`