finds.dev← search

// the find

alexellis/k3sup

★ 7,222 · Go · NOASSERTION · updated Mar 2026

bootstrap K3s over SSH in < 60s 🚀

k3sup is a CLI tool that bootstraps k3s Kubernetes clusters over SSH with a single command. It handles the install script execution, kubeconfig retrieval, and node joining so you don't have to SSH in manually and piece it together yourself. Aimed at homelabbers, edge deployments, Raspberry Pi clusters, and anyone who wants k3s running on VMs without writing Ansible playbooks.

- The core workflow is genuinely simple: one binary, one SSH connection, kubeconfig lands on your laptop. No agents to pre-install, no complex inventory files for basic use.

- Good cross-platform support including ARM/Raspberry Pi with pre-built binaries, and it respects ssh-agent for key management including hardware tokens.

- The `--skip-install` flag is a practical escape hatch for fetching kubeconfig from existing clusters without re-running the installer.

- Vendored dependencies committed to the repo means builds are reproducible without network access, which matters for CI and airgapped pipelines.

- The useful features (parallel installs via `plan`/`apply`, cluster-wide `exec`, `uninstall`) are gated behind a paid Pro tier requiring a $25/month GitHub sponsorship. The CE binary in the repo is intentionally limited, which will frustrate anyone who finds this and assumes it's fully open.

- The tool essentially wraps the Rancher install script over SSH, so its reliability is tied to that upstream script. Error handling for failed SSH connections or partial installs isn't sophisticated—you can end up with a half-configured node and unclear state.

- No built-in idempotency: running `k3sup install` against an already-configured node doesn't cleanly update it, and there's no state tracking, so re-running commands can produce unexpected results.

- The test coverage visible in the repo is thin (only `install_test.go` and `join_test.go`), and those appear to test flag parsing rather than actual behavior, so regressions in SSH/install logic would likely only surface in production.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →