Command lineCommands
Nodes
The nodes of the organization, the hosts its agents run on: hosts of your own, or DigitalOcean droplets the platform creates. The panel does the same on the Nodes tab of the organization.
Step 1: List the nodes
The command shows each node with its provider, its state, the operation under way, its number of agents and when it was last seen.
$ kcloud nodes listOutput
NAME PROVIDER STATE OPERATION ENGINE VERSION AGENTS LAST SEEN ID acme-01 self_hosted online - docker 1.9.0 1 2026-03-14T09:30:00.000Z 0195a3c4-7e21-7b6d-9f40-3c81a4d2e600
Step 2: Show a node
Name the node by its name or its id. The command shows its machine, its host, its capabilities, its agents, its runtime and its session pools.
$ kcloud nodes show acme-01Output
FIELD VALUE name acme-01 state online provider self_hosted engine docker version 1.9.0 host 6 CPU, 15.6 GiB of memory server 29.8.0 data root /var/lib/docker capabilities sandbox yes, uid isolation yes offers linux, docker, isolation split none, slots counted from the host without hard limits registration - connected 2026-03-14T09:30:00.000Z last seen 2026-03-14T09:30:00.000Z update updated with its platform created 2026-03-14T09:30:00.000Z id 0195a3c4-7e21-7b6d-9f40-3c81a4d2e600 PROJECT AGENT STATE POOL LIMIT ID Sandbox nightly stopped none: its node holds no pool to a limit 0195a3c4-7e21-7b6d-9f40-3c81a4d2e601 RUNTIME VALUE reported 2026-03-14T09:30:00.000Z docker ok data storage ok, 59.9 GiB free of 144.3 GiB at /mnt/kikimora-cloud-data engine storage unknown, 0.0 GiB free of 0.0 GiB at /var/lib/docker last reconcile 2026-03-14T09:30:00.000Z agents 0 active, 0 queued log readers 0 oldest cursor lag - sandboxes enabled, image 29.8.0-dind agents with docker 0 sidecars running 0 sandbox volumes not measured yet The node holds no pool to a limit: platform. The node holds its agents outside their sessions to no limit: Docker on the host does not use the systemd cgroup driver. POOL SLOTS IN USE CPU IN USE MEMORY IN USE MEMORY KILLS monitor 0 of 3 - - - executor 0 of 6 - - - No session holds a slot. No session waits for a slot.
Step 3: Check what it used
The command shows the CPU, memory, load and disks of the host over --range (1h, 24h, 7d or 90d), and below them the agents of the node with what each used.
$ kcloud nodes metrics acme-01 --range 1hOutput
2026-03-14T09:30:00.000Z to 2026-03-14T09:30:00.000Z, one point per minute. AT CPU MEMORY LOAD DISKS ROOT / DATA / AGENTS 2026-03-14T09:30:00.000Z 31.2% 4.4 GiB of 15.6 GiB 4.03 58.4% / 0.0% / 58.4% 2026-03-14T09:30:00.000Z 26.0% 4.0 GiB of 15.6 GiB 2.45 58.4% / 0.0% / 58.4% 2026-03-14T09:30:00.000Z 35.7% 4.3 GiB of 15.6 GiB 2.55 58.5% / 0.0% / 58.5% 2026-03-14T09:30:00.000Z 30.6% 4.3 GiB of 15.6 GiB 3.00 58.5% / 0.0% / 58.5% 2026-03-14T09:30:00.000Z 25.4% 4.4 GiB of 15.6 GiB 2.83 58.5% / 0.0% / 58.5% PROJECT AGENT CPU (CORES) MEMORY AVG MEMORY MAX NETWORK IN / OUT DISK READ / WRITE Sandbox Nightly 0.44 219.1 MiB 376.7 MiB 16.5 MiB / 44.1 MiB 212.5 MiB / 23.4 MiB
Step 4: Add a host of your own
The command prints a one-time registration token on stdout, and on stderr the commands that install the node on Linux or on Windows. The token works once and for an hour. The name of a node holds lowercase letters, digits and hyphens.
$ kcloud nodes create build-02Output
knr_Xq7vR2mN9pL4sT8wK3bY6cJ1hF5dG0aZ The registration token of build-02 is shown only here and works once, until 2026-03-14T09:30:00.000Z. Install the node with it, putting the token in place of <token>. On a Linux host: curl -fsSLo install-node.sh https://cloud.kikimora.dev/install-node.sh printf '%s\n' '<token>' | sudo sh install-node.sh --platform-url https://cloud.kikimora.dev --registration-token - On Windows, in PowerShell as administrator: Invoke-WebRequest -UseBasicParsing -OutFile install-node.ps1 https://cloud.kikimora.dev/install-node.ps1 powershell -NoProfile -ExecutionPolicy Bypass -File .\install-node.ps1 -PlatformUrl https://cloud.kikimora.dev -RegistrationToken <token>
Step 5: Issue a new registration token
For a node that has not joined yet, the command issues a new token and voids the one before.
$ kcloud nodes token build-02Output
knr_Xq7vR2mN9pL4sT8wK3bY6cJ1hF5dG0aZ The registration token of build-02 is shown only here and works once, until 2026-03-14T09:30:00.000Z. Install the node with it, putting the token in place of <token>. On a Linux host: curl -fsSLo install-node.sh https://cloud.kikimora.dev/install-node.sh printf '%s\n' '<token>' | sudo sh install-node.sh --platform-url https://cloud.kikimora.dev --registration-token - On Windows, in PowerShell as administrator: Invoke-WebRequest -UseBasicParsing -OutFile install-node.ps1 https://cloud.kikimora.dev/install-node.ps1 powershell -NoProfile -ExecutionPolicy Bypass -File .\install-node.ps1 -PlatformUrl https://cloud.kikimora.dev -RegistrationToken <token>
kcloud nodes create build-03 --provider digitalocean --account ocean --size s-2vcpu-4gb creates a node on DigitalOcean, on an account from the Providers page. The region comes from the account and the volume for the data of the agents has 40 GB, unless --region and --volume-gb say otherwise. The platform creates the droplet, the volume and the firewall step by step, and kcloud nodes show shows the step it is at.
kcloud nodes resize build-03 --size s-4vcpu-8gb --volume-gb 80 grows a node on DigitalOcean; a node never shrinks, and a new size powers the droplet off for the change. kcloud nodes retry build-03 runs a failed create, resize or delete again from the step that failed. Both commands work for nodes on DigitalOcean alone.
Step 6: Delete a node
The platform deletes only a node that runs no agent. A node on DigitalOcean goes together with its droplet, its volume and its firewall.
$ kcloud nodes delete build-02 --yesOutput
Deleted the node build-02.
A node runs the sessions of its agents in two pools, one for the monitors and one for the executors. A split keeps a reserve for the host and gives each pool its CPUs, its memory and its slots.
Step 7: Show the split of a node
The command shows the split, the host and what one slot of each pool gets.
$ kcloud nodes split acme-01Output
acme-01 has no split, so its slots are counted from its host and no pool has a hard limit on CPU or memory. The host has 6 CPU and 15957 MB. kcloud nodes split set acme-01 with every part splits it.
Step 8: Split a node
The first split needs all eight options; after that an option left out keeps its value. Memory is a number of megabytes, or a number with M or G.
$ kcloud nodes split set acme-01 --reserve-cpus 0.5 --reserve-memory 1G --monitor-cpus 0.5 --monitor-memory 1G --monitor-slots 2 --executor-cpus 1 --executor-memory 2G --executor-slots 1Output
PART CPU MEMORY SLOTS ONE SLOT reserve 0.5 1024 MB - - monitor 0.5 1024 MB 2 0.25 CPU, 512 MB executor 1 2048 MB 1 1 CPU, 2048 MB free 4 11861 MB - - host 6 15957 MB - -
Step 9: Remove the split
Without a split the node counts the slots of each pool from its host, and no pool has a hard limit.
$ kcloud nodes split clear acme-01 --yesOutput
acme-01 has no split, so its slots are counted from its host and no pool has a hard limit on CPU or memory. The host has 6 CPU and 15957 MB. kcloud nodes split set acme-01 with every part splits it.