29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
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()
|
|
|