Quick start

This gets you from nothing to a running app in two commands. You bring the infrastructure; we don't sell you clusters.

Two commands. The cluster shows up in the console already connected, and no token is ever displayed, pasted, or left in your shell history.

What you need

  • A Kaja account. You can create one during sign-in — the CLI opens it for you.
  • Either a Kubernetes cluster you can reach with kubectl, or a container runtime such as Docker, OrbStack, colima or Podman, or a plain Linux machine with root. If you have none of those, a cloud VM with 2 vCPU and 4 GB of RAM is enough to start.

You do not need kubectl or Helm installed. The CLI talks to Kubernetes directly.

Step 1: Install the CLI

curl -sfL https://kaja.dev/cli.sh | sh

macOS and Linux. For Windows, download the kaja binary for your architecture and put it on your PATH.

To do both steps at once, add --init and the script runs kaja init for you when it finishes:

curl -sfL https://kaja.dev/cli.sh | sh -s -- --init

Step 2: Run kaja init

kaja init

It signs you in, asks how you want to run your apps, and connects a cluster. Safe to run again at any point — it picks up from whatever is already done.

There is no token to copy. The CLI creates the cluster's agent token and uses it in the same process, so it is never displayed, never pasted, and never left in your shell history.

If you already have a cluster

kaja init installs the agent into whatever kubectl currently points at. To choose a different context, or to skip the questions:

kaja cluster attach --context my-cluster

If you want one on this machine

Kaja builds a local Kubernetes cluster inside your container runtime. It is disposable — removing it takes everything in it.

kaja cluster create

Kaja never installs a container runtime for you. If none is running it tells you which to install and how.

If you want a server to be the cluster

Run this on the server, as root. It installs k3s as a system service:

kaja cluster create --dedicated

Or set one up without leaving your own machine:

kaja cluster create --ssh root@your-server

Everything it installs is recorded, so kaja cluster detach <name> --purge removes exactly that and nothing else. Add --dry-run to see the list first.

Step 3: Deploy something

  1. Create a project. A project is an isolated space with its own apps, config and secrets, so dev and staging stay separate.
  2. Inside it, create an app. Point it at a GitHub repository and Kaja builds and rolls it out on every push, or give it a container image you already have.
  3. Open the app once it is running. It gets a URL immediately; attach your own domain whenever you like.

Step 4: See what it is doing

Live logs and a current CPU/memory snapshot work straight away. For searchable log history and metrics over time, install the Observability service once per cluster from the services catalog. See Logs & metrics.

Signing in without a browser

On a machine with no browser — an SSH session, a container — the loopback sign-in cannot work, because the browser has to reach a port on the same machine. Use a code instead:

kaja auth login --device

It prints a short code to approve from any other device.

Next steps

  • Installation — What the agent installs and what it needs.