Skip to main content
Hetzner Cloud is the first compute provider supported by CNAP. Hetzner offers high-performance cloud servers at significantly lower prices than hyperscalers, with data centers in Europe and the US.

Regions

RegionLocationID
FalkensteinGermany (Bavaria)fsn1
NurembergGermany (Bavaria)nbg1
HelsinkiFinlandhel1
AshburnUS East (Virginia)ash
HillsboroUS West (Oregon)hil
The default region for CNAP-managed machines is Falkenstein (fsn1).

Instance types

CNAP filters available instance types based on your plan:

Free tier

TypeCPUMemoryDiskArchPrice/hour
cax112 vCPU4 GB40 GBARM64€0.004
cx232 vCPU4 GB40 GBx86€0.006
cpx223 vCPU4 GB80 GBx86 (dedicated)€0.008

Pro tier

All Hetzner Cloud server types are available, including:
TypeCPUMemoryDiskArchPrice/hour
cax214 vCPU8 GB80 GBARM64€0.007
cax318 vCPU16 GB160 GBARM64€0.013
cx334 vCPU8 GB80 GBx86€0.011
cx438 vCPU16 GB160 GBx86€0.021
cpx324 vCPU8 GB160 GBx86 (dedicated)€0.016
ARM64 types (cax*) offer the best price-to-performance ratio. Use them unless your workloads require x86.

BYOM (bring your own key)

All instance types available in your Hetzner Cloud account, with no restrictions.

Billing model

Hetzner bills per hour, rounded up. Servers are billed as long as they exist, even when powered off. This is why CNAP’s suspend feature snapshots and deletes the server instead of just stopping it.
StateCost (cx23, 40 GB)
Running~€4.11/month
Powered off~€4.11/month (same — Hetzner bills for the server object)
Suspended (snapshot)~€0.40/month (snapshot storage at €0.01/GB)
Deleted€0/month

Snapshot pricing

Hetzner charges €0.01 per GB per month for snapshots. Snapshots are compressed — you pay for actual used space, not total disk capacity.
Disk sizeSnapshot cost/month
40 GB~€0.40
80 GB~€0.80
160 GB~€1.60

How CNAP uses Hetzner

When CNAP provisions a machine on Hetzner:
  1. Creates a server via the Hetzner Cloud API with a cloud-init script
  2. Cloud-init installs Kubernetes, configures the worker, and joins your cluster
  3. The machine appears in your dashboard within ~2 minutes
  4. CNAP monitors the machine and handles its lifecycle (scaling, suspend, delete)
CNAP uses its own Hetzner Cloud API token for managed machines. For BYOM, your token is used instead.

Hetzner Cloud API key (BYOM)

To use your own Hetzner account:
  1. Create an API token in the Hetzner Cloud Console with Read & Write permissions
  2. Go to Compute in the CNAP dashboard
  3. Click Add Credential and paste your token — CNAP validates it immediately
  4. Click Create Config, select your credential, and choose a region
  5. Machines provisioned with this config appear in your Hetzner Console and bill to your account
CNAP manages the Kubernetes lifecycle — you manage the Hetzner billing. No machine quotas or TTL limits apply to BYOM machines.
Your API token is stored securely in an external secrets manager. CNAP re-validates all tokens hourly and notifies you if a token becomes invalid (for example, if it was revoked or expired in the Hetzner Console).

Limitations

  • No volume attachment on suspend/resume: Hetzner Volumes use server IDs for attachment. If you use Hetzner CSI Volumes (not local storage), additional handling may be needed on resume. Local storage and LINSTOR volumes work without issues.
  • Powered-off servers still bill: Unlike AWS/GCP, stopping a Hetzner server doesn’t reduce costs. Use CNAP’s suspend feature instead.
  • IPv6 only on some VMs: Cheapest Hetzner plans may only include IPv6. CNAP handles this via the cluster’s internal networking.