Skip to main content
CNAP provisions and manages compute resources — the cloud servers that run your workloads. You don’t need a separate cloud provider account. Create a cluster, deploy a workload, and CNAP handles server provisioning, Kubernetes setup, scaling, and lifecycle management.

How it works

CNAP uses for intelligent auto-scaling. When your workloads need more resources, Karpenter detects unschedulable pods and tells CNAP to provision a new server. When demand drops, idle servers are removed to save costs.
Pod needs resources → Karpenter detects → CNAP provisions server → Server joins cluster → Pod scheduled
The entire flow takes about 2 minutes from pending pod to running workload.

Two ways to run compute

CNAP-managed (default)

CNAP provisions servers using its own cloud accounts. You don’t need any cloud credentials. Machines are subject to plan quotas and billing.
PlanMachinesCPUMemoryInstance typesTTL
Free12 cores4 GBSmall only7 days
Pro38 cores16 GBAll availableNo limit

Bring your own key (BYOM)

Add your own cloud provider API key and CNAP provisions machines in your account. You pay the provider directly — no machine quotas, no TTL limits, any instance type.
1

Add your API key

Go to Compute in the dashboard and click Add Credential. CNAP validates the token before saving it.
2

Create a compute config

Click Create Config, select your credential, choose a region, and name the configuration.
3

Provision machines

Karpenter uses your config to provision machines in your cloud account when your workloads need resources.
Your API token is stored in an external secrets manager — CNAP only keeps a reference, never the token itself. Tokens are re-validated hourly, and you receive a dashboard notification if a token becomes invalid.

Supported providers

Hetzner Cloud

EU and US regions. Best value for European workloads.

More coming

AWS, GCP, Azure, DigitalOcean, Vultr — planned. Karpenter’s provider interface makes adding new providers straightforward.

Key features

  • Auto-scaling — Karpenter provisions and removes machines based on workload demand
  • Suspend and resumePause machines to stop billing while preserving data
  • Auto-scaling controls — Pause/resume scaling, set machine limits per cluster
  • Plan-aware — Instance types and quotas adjust based on your subscription tier
  • Provider-agnostic — Same API regardless of which cloud provider runs your machines

What’s next?

Machines

Lifecycle, provisioning, deletion, and auto-scaling controls

Suspend and resume

Save money by pausing machines when not in use

Hetzner Cloud

Regions, instance types, and pricing for our first provider

Quotas

Understand resource limits per plan