Chutes miner CLI
Project description
Chutes Miner CLI
This CLI ships with helpers for managing kubeconfigs when operating miner clusters. This document is the single source of truth for those workflows—other READMEs simply link here to avoid drift.
Quick reference
| Question | Answer |
|---|---|
| Where do the commands run? | On the machine where you execute chutes-miner. Nothing is copied anywhere else automatically. |
| Default output path | ~/.kube/chutes.config unless you pass --path. |
How do I point kubectl at it? |
export KUBECONFIG=~/.kube/chutes.config or kubectl --kubeconfig ~/.kube/chutes.config .... |
| Can I push it to another host? | Yes, but you must copy it yourself (example below). |
sync-kubeconfig
Fetches the merged kubeconfig for all nodes that have already been registered with the miner API.
chutes-miner sync-kubeconfig \
--hotkey ~/.bittensor/wallets/<wallet>/hotkeys/<hotkey>.json \
--miner-api http://127.0.0.1:32000 \
--path ~/.kube/chutes.config # optional, defaults to this value
- Signs the request with your miner hotkey.
- Calls
GET /servers/kubeconfigon the miner API. - Writes the returned kubeconfig to the local filesystem, creating parent directories as needed and overwriting the target file.
After syncing:
export KUBECONFIG=~/.kube/chutes.config
kubectl config get-contexts
kubectl --namespace chutes get pods
Important:
KUBECONFIGmust include the path you wrote to, otherwisekubectlkeeps using whatever file it was already pointed at.
sync-node-kubeconfig
Fetches a single context directly from a node before it has been added to the miner database. The CLI talks to the agent on that node at /config/kubeconfig, extracts the requested context, and merges it into your local kubeconfig.
chutes-miner sync-node-kubeconfig \
--agent-api https://10.0.0.5:8443 \
--context-name chutes-miner-gpu-0 \ # Set this to the name of your node
--hotkey ~/.bittensor/wallets/<wallet>/hotkeys/<hotkey>.json \
--path ~/.kube/chutes.config \
--overwrite # optional, required if the context already exists
Behavior highlights:
- Requires the same signed request headers as the miner API (
purpose="registration", management mode). - Parses the returned kubeconfig, finds the specified context, and copies only the context/cluster/user bundle.
- Refuses to replace existing entries unless
--overwriteis provided, which helps prevent accidental credential swaps.
Copying the kubeconfig elsewhere
Both commands only touch the local filesystem. To make the synced kubeconfig available on another host, copy it manually. Example helper function:
sync_control_kubeconfig() {
local local_cfg=${1:-$HOME/.kube/chutes.config}
local remote_user=${2:-ubuntu}
local remote_host=${3:-chutes-miner-cpu-0}
local remote_path=${4:-.kube/chutes.config}
if [ ! -f "$local_cfg" ]; then
echo "Local kubeconfig not found at $local_cfg" >&2
return 1
fi
echo "Copying $local_cfg to $remote_user@$remote_host:$remote_path"
scp "$local_cfg" "$remote_user@$remote_host:$remote_path"
ssh "$remote_user@$remote_host" "chmod 600 $remote_path && export KUBECONFIG=$remote_path && kubectl config get-contexts"
}
Usage:
sync_control_kubeconfig # uses defaults above
sync_control_kubeconfig ~/.kube/chutes.config admin my-control-node ~/.kube/chutes.config
Feel free to swap scp for rsync, add SSH options, or integrate with your automation tooling.
Verification checklist
chutes-miner sync-kubeconfig ...orsync-node-kubeconfig ...exits successfully.stat ~/.kube/chutes.configshows a recent timestamp.KUBECONFIG(or--kubeconfig) points to the path you just wrote.kubectl config get-contextslists the expected contexts (control plane + all tracked nodes, plus any manual additions).- Optional: run
sync_control_kubeconfigto push the file to servers that need it.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chutes_miner_cli-0.2.8.tar.gz.
File metadata
- Download URL: chutes_miner_cli-0.2.8.tar.gz
- Upload date:
- Size: 18.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.12.3 Linux/6.17.0-14-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
105f0b7591ae6783639b41348c0372ce5919716cdd4ce7c43569fc3df872cad8
|
|
| MD5 |
0189a670ceb321aa2607a93d180e158e
|
|
| BLAKE2b-256 |
0bf5ee0c91f01c76e2b98f1d97912b36bf266df4b0ded44a08761e0f0e18fd87
|
File details
Details for the file chutes_miner_cli-0.2.8-py3-none-any.whl.
File metadata
- Download URL: chutes_miner_cli-0.2.8-py3-none-any.whl
- Upload date:
- Size: 22.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.12.3 Linux/6.17.0-14-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b30be7a6551e97ebf7a302c5bbb37d8cae9fdc61c2eef198c172236fea325feb
|
|
| MD5 |
010a2c819812ede9c4d410f72b724373
|
|
| BLAKE2b-256 |
ad7b6b75604aab8cb16f0cd794f3060f21bad8b0fc5bda1ca77c382d2d95f0ab
|