portal is the deployment artifact repository for the computing resources
management layer described by the paper. It packages the automation and
operational documentation needed to provision and maintain the HA k3s cluster,
GPU worker nodes, Rancher, and the Tailscale/Flannel networking stack.
This repo is intentionally focused on deployment and operations:
- HA k3s control plane bootstrap
- GPU node join and NVIDIA runtime configuration
- Rancher installation and access
- Flannel/Tailscale recovery and verification workflows
The paper's data comes from service-workbench onboarding counts; it is not generated by experiment code in this repository.
cli/:cluster-ctl, a Rust terminal UI that drives the deployment (SSH directly to each node — no Ansible/Python runtime involved)infra/: plain Kubernetes manifests applied by hand withkubectldocs/: Tailwind + Three.js walkthrough of the install process, published to GitHub Pages (seedocs/README.md)
-
Copy
cli/cluster.example.tomltocluster.tomlat the repo root and fill in your node names, Tailscale addresses/hostnames, and SSH user. -
Put a working kubeconfig at
config.yamlat the repo root if you want the "Verify Flannel" step to work (it shells out tokubectl). -
Build and run:
cd cli cargo run --releasecluster-ctltries your SSH keys (~/.ssh/id_ed25519,id_ecdsa,id_rsa) first; the startup screen lets you set a fallback SSH password and a sudo password for the session (kept in memory only, never written to disk). -
Install
kubectllocally if you plan to use the "Verify Flannel" step.
cluster-ctl presents each deployment step as a menu item:
- Deploy all
- Install k3s HA control plane
- Join GPU node(s)
- Configure NVIDIA runtime
- Restart k3s / Flannel recovery
- Install / upgrade Rancher
- Uninstall k3s from all masters (destructive, requires typed confirmation)
- Update Tailscale on all masters
- Test k3s API reachability
- Verify Flannel networking
See cli/README.md for details on cluster.toml and
authentication.
This project is licensed under the MIT License.