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.
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
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.
make -C dev down
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
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
MIT license