Skip to content

Implement hetzner volume provisioning #63

@runatyr1

Description

@runatyr1

Issue: Implement Persistent Storage Provisioning with Hetzner CSI Driver

Objective
Enable dynamic provisioning of Hetzner Cloud Volumes for Kubernetes workloads through CSI driver integration.

Acceptance Criteria

  • PVCs automatically create Hetzner Cloud Volumes
  • Volumes attach to worker nodes
  • StorageClass hcloud-volumes available cluster-wide
  • Docs site persists data through pod restarts
  • Automatic volume cleanup on PVC deletion

Technical Requirements

  1. CSI Driver Components

    • Controller Deployment with Hetzner API access
    • Node DaemonSet with hostPath mounts
    • Proper RBAC permissions
  2. Storage Configuration

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: hcloud-volumes
    provisioner: csi.hetzner.cloud
    reclaimPolicy: Delete
    volumeBindingMode: WaitForFirstConsumer
    parameters:
      type: hdd
  3. Security

    • Encrypted API token in Kubernetes Secret
    • Privileged containers only where absolutely required

Dependencies

  • Hetzner Cloud API token with write permissions
  • Kubernetes 1.25+ cluster
  • CSI driver v2.11.0+ manifests

Testing Plan

  1. Deploy test PVC
  2. Verify volume creation in Hetzner Cloud Console
  3. Deploy test pod mounting PVC
  4. Validate data persistence across pod restarts

Metadata

Metadata

Assignees

No one assigned

    Labels

    HetznerHetzner cloud provider

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions