import paramiko, json c = paramiko.SSHClient() c.set_missing_host_key_policy(paramiko.AutoAddPolicy()) c.connect('140.44.4.90', username='rancher', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10) cmd = "echo Katzir476! | sudo -S sh -c 'export KUBECONFIG=/etc/rancher/rke2/rke2.yaml; PATH=$PATH:/var/lib/rancher/rke2/bin; kubectl get nodes -o json'" stdin, stdout, stderr = c.exec_command(cmd) out = stdout.read().decode() data = json.loads(out) total_cpu = 0 total_mem_kb = 0 for n in data['items']: cpu = int(n['status']['capacity']['cpu']) mem_str = n['status']['capacity']['memory'] if mem_str.endswith('Ki'): mem_kb = int(mem_str[:-2]) total_cpu += cpu total_mem_kb += mem_kb ram_gib = total_mem_kb / (1024 * 1024) print(f"Spacedock Harvester: nodes = {len(data['items'])}, cpu = {total_cpu}, ram = {ram_gib:.1f} GiB") c.close()