Awesome
Container Storage Interface driver for Hetzner Cloud
This is a Container Storage Interface driver for Hetzner Cloud enabling you to use ReadWriteOnce Volumes within Kubernetes & other Container Orchestrators. Please note that this driver requires Kubernetes 1.19 or newer.
Getting Started
Depending on your Container Orchestrator you need to follow different steps to get started with the Hetzner Cloud csi-driver. You can also find other docs relevant to that Container Orchestrator behind the link:
- Kubernetes
- Docker Swarm️ ⚠️ Not officially supported
- HashiCorp Nomad️ ⚠️ Not officially supported
Development
Setup a development environment
To setup a development environment, make sure you installed the following tools:
- Configure a
HCLOUD_TOKEN
in your shell session.
[!WARNING] The development environment runs on Hetzner Cloud servers which will induce costs.
- Deploy the development cluster:
make -C dev up
- Load the generated configuration to access the development cluster:
source dev/files/env.sh
- Check that the development cluster is healthy:
kubectl get nodes -o wide
- Start developing the CSI driver in the development cluster:
skaffold dev
On code change, skaffold will rebuild the image, redeploy it and print all logs from csi components.
⚠️ Do not forget to clean up the development cluster once are finished:
make -C dev down
Run the docker e2e tests
To run the integrations tests, make sure you installed the following tools:
- Run the following command to run the integrations tests:
go test -v -tags integration ./test/integration
Run the kubernetes e2e tests
The Hetzner Cloud CSI driver is tested against the official kubernetes e2e tests.
Before running the integrations tests, make sure you followed the Setup a development environment steps.
- Run the kubernetes e2e tests using the following command:
make -C test/e2e/kubernetes test
License
MIT license