canasta install

From Canasta Wiki

canasta > install

canasta install

Install dependencies on the target host

Synopsis

Install one or more dependencies on the target host. Supported packages: docker, k8s-cp, k8s-worker, git-crypt.

k8s-cp installs k3s as a control-plane node — the cluster's API server, scheduler, etc., plus kubectl + helm on the same machine. The right install for single-node K8s deployments and for the first node of a multi-node cluster.

k8s-worker joins the target host to an existing k3s cluster as a worker (agent) node — runs only the kubelet + container runtime, no kubectl/helm. Use --cp-host <name> to point at a registered host where the control plane lives; canasta will SSH to the control plane to fetch the join token and the cluster's internal API URL automatically.

Pass --public-ip <addr> (k8s-cp only) whenever the canasta CLI runs on a different machine than the control plane — i.e. for any multi-node cluster, and for single-node setups where canasta is installed on a separate host (laptop / VPS / etc.). The address is added to the k3s API server's TLS certificate so kubectl can verify the cert when reaching the cluster over that address. Repeat to add more than one (e.g. an IP and a hostname).

Multiple packages can be combined in a single command, except that k8s-cp and k8s-worker are mutually exclusive on a given host.

canasta install [flags]

Examples

canasta install docker
canasta install k8s-cp
canasta install k8s-cp --public-ip 203.0.113.10
canasta install --host node2 k8s-worker --cp-host node1
canasta install docker git-crypt
canasta install -i mysite git-crypt

Flags

Flag Shorthand Description Default Required Orchestrator
--cp-host Name of the registered control-plane host (k8s-worker only). Canasta SSHs to this host to fetch the join token and the cluster's internal API URL. The host must already be registered via 'canasta host add'. Both
--docker-host Docker API socket on the target. Set this when the target uses rootless podman or rootless Docker (e.g. unix:///run/user/1000/podman/podman.sock). Defaults to system Docker's /var/run/docker.sock. Both
--host -H Target host (default: localhost) Both
--id -i Canasta instance ID — install on the host where this instance is registered. Mutually exclusive with --host; --host wins if both are given. Useful after canasta create to add dependencies (e.g. git-crypt) to the instance's host. * Both
--packages Dependencies to install (docker, k8s-cp, k8s-worker, git-crypt) Both
--public-ip Public IP or hostname of the cluster node, added to the k3s API server's TLS cert (k8s-cp only). Required when canasta runs on a different machine than the control plane — any multi-node cluster, plus single-node setups where canasta is on a separate host. Repeat the flag to add multiple addresses. Both

* Defaults to the Canasta instance matching the current directory, if any.

Global Flags

Flag Shorthand Description Default Required Orchestrator
--help -h Show help message and exit Both
--verbose -v Enable verbose output Both