Resume, recover, and roll back
Continue a failed registration, reconcile local state, or roll back checkpoints
Registration is checkpointed on the agent VM under ~/.nr/. If a run fails mid-way, you usually resume instead of starting over.
Resume after a failure
Use the same agent name (and the same major flags you care about):
nr cluster register --resume --name edge-ams-01Typical reasons to resume:
- Network blip while downloading tools or charts
- Temporary API error
- Operator credentials were missing on the first attempt
Inspect where you left off:
nr cluster status --name edge-ams-01
nr cluster info --name edge-ams-01Re-run the operator phase only
If peering succeeded but the operator Helm install needs another pass (chart or image fix):
nr cluster register \
--resume \
--name edge-ams-01 \
--reinstall-operator \
--yes--reinstall-operator and --skip-operator-install are mutually exclusive.
Wrong URL, token, or panel key
Those values live in a Kubernetes Secret on the agent. NodeRings does not keep a copy, so a typo is fixed by writing the Secret again and restarting the pods that already loaded the old value.
If the install stopped before the Secret existed, resume and answer the questions again. Leave --yes off so the CLI can ask:
nr cluster register --resume --name edge-ams-01If the operator is already installed, --reinstall-operator keeps the old Secret unless you supply the corrected values. Use the same instance id as the first run (proxmox-1, vf-1, or svm-1 unless you chose another).
Proxmox:
export PROXMOX_URL="https://pve.example:8006"
export PROXMOX_USERNAME="kopfoperator@pve"
export PROXMOX_TOKEN_ID="kopf-operator-token"
export PROXMOX_TOKEN_SECRET="<token secret>"
export PROXMOX_INSTANCE_ID="proxmox-1"
nr cluster register --resume --name edge-ams-01 --reinstall-operator --yes
k3s kubectl -n proxmox-system rollout restart deployment
k3s kubectl -n vnc-gateway rollout restart deploymentVirtFusion:
export VIRTFUSION_URL="https://cp.example.com"
export VIRTFUSION_TOKEN="<global api token>"
export VIRTFUSION_USER_NAME="noderings"
export VIRTFUSION_USER_ID="5"
export VIRTFUSION_USER_API_TOKEN="<user api token>"
export VIRTFUSION_INSTANCE_ID="vf-1"
nr cluster register --resume --name edge-ams-01 --hypervisor-driver virtfusion --reinstall-operator --yes
k3s kubectl -n virtfusion-system rollout restart deployment
k3s kubectl -n vnc-gateway rollout restart deploymentSolusVM 2:
export SOLUSVM_URL="https://mn.example.com"
export SOLUSVM_TOKEN="<admin api token>"
export SOLUSVM_INSTANCE_ID="svm-1"
nr cluster register --resume --name edge-ams-01 --hypervisor-driver solusvm --reinstall-operator --yes
k3s kubectl -n solusvm-system rollout restart deployment
k3s kubectl -n vnc-gateway rollout restart deploymentPterodactyl keys are replaced by running the installer again. Unset any earlier exports first, or the CLI will reuse those values and will not ask:
unset PTERODACTYL_PANEL_URL PTERODACTYL_APPLICATION_KEY PTERODACTYL_CLIENT_KEY PTERODACTYL_PANEL_USER_ID
nr cluster install-pterodactyl
k3s kubectl -n pterodactyl-system rollout restart deploymentThe panel URL on the NodeRings platform form is separate. If that URL was wrong too, edit the platform so it matches the origin you just gave the CLI (scheme plus host, no /admin). The form does not store the keys.
Recover local state
If the cluster looks installed but local checkpoints are wrong or incomplete:
nr cluster recover --name edge-ams-01Recover reconciles local state with what is actually present on the machine.
Roll back checkpoints
Roll installation state back to the last successful checkpoint (does not always uninstall every package):
nr cluster rollback --name edge-ams-01Reset checkpoints (keep agent identity)
Clear checkpoints while keeping the agent ID/name association:
nr cluster reset --name edge-ams-01Use this when you intentionally want register to treat phases as pending again without deleting the API agent.
When to deregister instead
If the VM is disposable or the install is badly corrupted, deregister uninstalls local components and can delete the agent from the API. Prefer resume/recover for transient failures.
