Files
SnarfCode/scripts/fix_ftl_db_version.py

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()