A Kubernetes Container Storage Interface (CSI) driver enabling the use of Hetzner Cloud Volumes as persistent storage in container orchestrators.
Kubernetes Container Storage Interface driver for Hetzner Cloud Volumes
This tool allows Kubernetes users and other container orchestrator operators to provision and manage persistent storage volumes on Hetzner Cloud seamlessly. It is primarily used to enable ReadWriteOnce volume support within Kubernetes clusters running on or integrating with Hetzner Cloud infrastructure.
This driver requires Kubernetes version 1.19 or newer and uses Hetzner Cloud servers for development, which may incur costs. It supports multiple container orchestrators beyond Kubernetes, but official support is primarily for Kubernetes. Users should ensure proper cleanup of development clusters to avoid unnecessary charges.
Configure HCLOUD_TOKEN environment variable in your shell session
Set up development environment with tofu, k3sup, docker, and skaffold
Deploy development cluster using: make -C dev up
Load development cluster configuration: source dev/files/env.sh
Verify cluster health: kubectl get nodes -o wide
Start CSI driver development with: skaffold dev
Clean up development cluster after use: make -C dev down
make -C dev up
Deploys the development Kubernetes cluster on Hetzner Cloud
source dev/files/env.sh
Loads the environment configuration to access the development cluster
kubectl get nodes -o wide
Checks the health and status of nodes in the development cluster
skaffold dev
Starts the CSI driver development workflow with automatic rebuild and redeploy on code changes
make -C dev down
Cleans up and tears down the development cluster
go test -v -tags integration ./test/integration
Runs integration tests for the CSI driver using Docker
make -C test/e2e/kubernetes test
Runs Kubernetes end-to-end tests against the Hetzner Cloud CSI driver