Docs · v2.4.1 · updated Oct 09 2026
Install the CLI
The kubedevkit CLI is a single statically-linked binary. No runtime dependencies, no language-specific installer required.
macOS / Linux
# Homebrew (recommended) $ brew install kubedevkit/tap/kubedevkit # Or direct download $ curl -sSL https://dl.kubedevkit.com/install.sh | sh
Windows
PS> winget install KubeDevKit.CLI
Docker
$ docker run --rm -it kubedevkit/cli:2.4.1 version
KDK_AUTO_UPDATE=false to disable, or pin to a specific version with kubedevkit --version 2.4.0.Connect a cluster
KubeDevKit uses an in-cluster agent for low-latency metrics and log streaming. The agent is deployed via a lightweight Helm chart and consumes under 50MB of memory per node.
# Log in with your KubeDevKit account $ kubedevkit auth login # Switch to the kube context you want to connect $ kubectl config use-context prod-eu-west-1 # One-shot install (adds Helm repo + agent + RBAC) $ kubedevkit cluster add --name prod-eu-west-1 ✓ Helm chart installed in namespace kubedevkit-system ✓ Agent healthy on 24/24 nodes ✓ Metrics streaming (3.2 MB/s)
What the agent needs
- Read access to all namespaces and resources (ClusterRole)
- Permission to watch Events, Pods, Deployments
- Outbound HTTPS to
api.kubedevkit.com:443
Your first deploy
KubeDevKit works with any Kubernetes manifest format: raw YAML, Helm, Kustomize, or Jsonnet. We detect the format automatically from the project structure.
$ cd my-app $ kubedevkit init Found: Dockerfile, chart/Chart.yaml Project type: helm $ kubedevkit deploy --env staging ✓ Image built & pushed (ghcr.io/me/my-app:a3f21b) ✓ Helm chart rendered ✓ Preview environment created ✓ URL: https://my-app.staging.kubedevkit.app
Environments
Define environments in a single file, .kubedevkit/environments.yaml:
environments: staging: cluster: staging-eu-west-1 namespace: my-app-staging strategy: rolling production: cluster: prod-eu-west-1 namespace: my-app strategy: canary slo: error-rate: "< 0.1%" latency-p99: "< 200ms"
Any kubedevkit deploy command without a --env flag deploys to the first environment in the list.
SLOs & gates
SLOs defined per environment are enforced automatically during canary rollouts. If the live p99 latency exceeds the SLO during the canary phase, the rollout halts and auto-rolls back.
slo: error-rate: "< 0.1%" # 5xx responses / total latency-p99: "< 200ms" # 99th percentile saturation: "< 70%" # CPU + memory ceiling burn-window: "5m" # evaluation window
REST API
All CLI functionality is available via a stable JSON API at https://api.kubedevkit.com/v1. Authenticate with a Personal Access Token or a Service Account token.
$ curl https://api.kubedevkit.com/v1/clusters \ -H "Authorization: Bearer $KDK_TOKEN" { "clusters": [ { "name": "prod-eu-west-1", "nodes": 24, "status": "healthy" }, { "name": "staging-eu-west-1", "nodes": 4, "status": "healthy" } ] }
See the full API reference at docs/api.