feat: add cluster auditing, management, and upgrade scripts

This commit is contained in:
2026-11-04 17:58:07 -05:00
parent 8117326b14
commit 1b378b29f3
128 changed files with 4744 additions and 1 deletions

35
scripts/upgrade_zabbix.py Normal file
View File

@@ -0,0 +1,35 @@
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('140.44.4.41', username='root', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
def run(cmd):
print(f"=== {cmd} ===")
_, out, err = ssh.exec_command(cmd)
res = out.read().decode().strip()
if res:
print(res)
e = err.read().decode().strip()
if e:
print("ERR:", e)
print("[*] Upgrading Zabbix stack to ubuntu-7.0.32 on Spaceport...")
run("kubectl set image deployment/zabbix-zabbix-server zabbix-server=zabbix/zabbix-server-pgsql:ubuntu-7.0.32 zabbix-agent=zabbix/zabbix-agent2:ubuntu-7.0.32 -n monitoring")
run("kubectl set image deployment/zabbix-zabbix-web zabbix-web=zabbix/zabbix-web-nginx-pgsql:ubuntu-7.0.32 -n monitoring")
run("kubectl set image deployment/zabbix-zabbix-webservice zabbix-webservice=zabbix/zabbix-web-service:ubuntu-7.0.32 -n monitoring")
print("[*] Awaiting rollouts...")
run("kubectl rollout status deployment/zabbix-zabbix-server -n monitoring --timeout=180s")
run("kubectl rollout status deployment/zabbix-zabbix-web -n monitoring --timeout=180s")
run("kubectl rollout status deployment/zabbix-zabbix-webservice -n monitoring --timeout=180s")
print("[*] Checking pod statuses...")
run("kubectl get pods -n monitoring -o wide")
print("[*] Verifying HTTP endpoint...")
run("curl -s -I http://140.44.4.51:8888 | head -n 8")
ssh.close()