Show examples as

kctl CLI reference

kctl is the command-line interface for managing kcore clusters. Global flags: -s / --controller (controller address, repeatable for HA), -k / --insecure (skip TLS verification), -c / --config (path to config file), --node (node address for direct node commands).

You are browsing in YAML mode. This page lists CLI commands; for manifest kinds and fields see the YAML manifest reference.

create

kctl create is idempotent. Re-running the same command (or re-applying the same manifest with -f) performs a server-side upsert: it creates the resource if missing, updates mutable fields if they drifted, rejects changes to immutable fields with InvalidArgument, or prints unchanged when the stored state already matches. See Idempotency and upsert for the mutable/immutable field tables.

SubcommandDescription
vmCreate a VM from CLI flags or -f YAML manifest
containerCreate a container on a node
networkCreate a network
clusterInitialise PKI and mTLS context for a new cluster

get

SubcommandAliases
vmsvm
containerscontainer
nodesnode
networksnetwork
storage-classesstorage-class
compliance-reportcompliance
conflicts
replication-status

describe

SubcommandAliases
vmvms
nodenodes
networknetworks
storage-classstorage-classes
ssh-keysshkey
compliance-reportcompliance

delete

SubcommandDescription
vmDelete a VM
networkDelete a network
imageDelete a stored image
containerDelete a container

start / stop

SubcommandDescription
vmStart or stop a VM
containerStart or stop a container

set

SubcommandDescription
vmSet desired state (running / stopped). Supports --target-node.

update

SubcommandDescription
vmResize CPU / memory of a VM. Supports --target-node.
cluster (alias os)Host OS rollout: plan, apply, get, list, approve, cancel, rollback — see Cluster & node upgrades.

node

SubcommandDescription
disksList disks on a node
nicsList network interfaces on a node
installInstall kcore on a bare-metal node
approveApprove a pending node join request
rejectReject a pending node join request
apply-nixApply NixOS configuration to a node
apply-diskoApply Disko disk layout to a node
upload-imageUpload a VM image to a node

ssh-key

SubcommandDescription
createRegister a new SSH public key
deleteRemove an SSH key
listList all SSH keys
getShow details for an SSH key

drain

SubcommandDescription
nodeLive-migrate all VMs off a node. Use --target-node to specify the destination node.

rotate

SubcommandDescription
certsRotate the controller TLS certificate
sub-caGenerate a new sub-CA

apply

Apply a NixOS configuration to the controller. Flags: -f (config file), --dry-run (preview without applying).

workload

SubcommandDescription
createCreate a workload. Use --kind container or --kind vm.
listList all workloads
getShow workload details
deleteDelete a workload
startStart a workload
stopStop a workload

security-group (alias: sg)

SubcommandDescription
createCreate a security group from -f YAML
applyApply / update a security group from -f YAML
listList all security groups
getShow security group details
deleteDelete a security group
attachAttach a security group to a VM or network
detachDetach a security group from a VM or network