import paramiko client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect("140.44.4.11", username="root", key_filename=r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet", timeout=10) # Check current version cmd = 'k3s kubectl exec -n dns deploy/pihole -c pihole -- pihole-FTL sqlite3 /etc/pihole/pihole-FTL.db "SELECT * FROM ftl WHERE id=0;"' stdin, stdout, stderr = client.exec_command(cmd) print("Before:", stdout.read().decode().strip()) # Update version to 21 cmd = 'k3s kubectl exec -n dns deploy/pihole -c pihole -- pihole-FTL sqlite3 /etc/pihole/pihole-FTL.db "UPDATE ftl SET value=21 WHERE id=0;"' stdin, stdout, stderr = client.exec_command(cmd) print("Updated:", stdout.read().decode().strip(), stderr.read().decode().strip()) # Verify cmd = 'k3s kubectl exec -n dns deploy/pihole -c pihole -- pihole-FTL sqlite3 /etc/pihole/pihole-FTL.db "SELECT * FROM ftl WHERE id=0;"' stdin, stdout, stderr = client.exec_command(cmd) print("After:", stdout.read().decode().strip()) # Restart FTL or reload cmd = 'k3s kubectl exec -n dns deploy/pihole -c pihole -- pihole restartdns' stdin, stdout, stderr = client.exec_command(cmd) print("Restart output:", stdout.read().decode().strip()) client.close()