import paramiko import sys sys.stdout.reconfigure(encoding='utf-8') c = paramiko.SSHClient() c.set_missing_host_key_policy(paramiko.AutoAddPolicy()) c.connect('140.44.4.11', username='root', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10) def run(cmd): print(f"\n>>> {cmd}") _, o, e = c.exec_command(cmd) res = o.read().decode().strip() if res: print(res) return res pod = run("kubectl get pod -n monitoring -l app.kubernetes.io/name=uptime-kuma -o jsonpath='{.items[0].metadata.name}'") run(f"kubectl exec -n monitoring {pod} -- ls -la /app/data/") run(f"""kubectl exec -n monitoring {pod} -- node -e ' const Database = require("/app/node_modules/better-sqlite3"); const db = new Database("/app/data/kuma.db"); console.log("Monitors count:", db.prepare("SELECT count(*) as c FROM monitor").get().c); console.log("Monitors:", db.prepare("SELECT id, name, type, url FROM monitor LIMIT 15").all()); console.log("Notifications:", db.prepare("SELECT * FROM notification").all()); ' 2>/dev/null || true""") c.close()