feat: add cluster auditing, management, and upgrade scripts
This commit is contained in:
58
scripts/fix_argo_npm.py
Normal file
58
scripts/fix_argo_npm.py
Normal file
@@ -0,0 +1,58 @@
|
||||
import paramiko
|
||||
|
||||
def fix_argo():
|
||||
# 1. Update on swm01 (140.44.4.71)
|
||||
ssh1 = paramiko.SSHClient()
|
||||
ssh1.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||
ssh1.connect('140.44.4.71', username='snarf', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
|
||||
|
||||
print("--- Backing up SQLite DB and 39.conf ---")
|
||||
cmd_backup = """
|
||||
sudo docker exec $(sudo docker ps -q --filter 'name=nginx-proxy-manager_app') sh -c "
|
||||
cp /data/database.sqlite /data/database.sqlite.bak.argo &&
|
||||
cp /data/nginx/proxy_host/39.conf /data/nginx/proxy_host/39.conf.bak
|
||||
"
|
||||
"""
|
||||
stdin, stdout, stderr = ssh1.exec_command(cmd_backup)
|
||||
print("Backup stdout:", stdout.read().decode())
|
||||
print("Backup stderr:", stderr.read().decode())
|
||||
|
||||
print("--- Updating SQLite DB ---")
|
||||
cmd_db = """
|
||||
sudo docker exec $(sudo docker ps -q --filter 'name=nginx-proxy-manager_app') sh -c "
|
||||
python3 -c \\\"import sqlite3; con = sqlite3.connect('/data/database.sqlite'); cur = con.cursor(); cur.execute('UPDATE proxy_host SET forward_host=\\\'140.44.4.62\\\' WHERE id=39'); con.commit(); con.close(); print('DB updated successfully')\\\"
|
||||
"
|
||||
"""
|
||||
stdin, stdout, stderr = ssh1.exec_command(cmd_db)
|
||||
print("DB stdout:", stdout.read().decode())
|
||||
print("DB stderr:", stderr.read().decode())
|
||||
|
||||
print("--- Updating 39.conf ---")
|
||||
cmd_conf = """
|
||||
sudo docker exec $(sudo docker ps -q --filter 'name=nginx-proxy-manager_app') sh -c "
|
||||
sed -i 's/140.44.4.51/140.44.4.62/g' /data/nginx/proxy_host/39.conf
|
||||
"
|
||||
"""
|
||||
stdin, stdout, stderr = ssh1.exec_command(cmd_conf)
|
||||
print("Conf sed stdout:", stdout.read().decode())
|
||||
print("Conf sed stderr:", stderr.read().decode())
|
||||
|
||||
print("--- Reloading NGINX on swm01 ---")
|
||||
stdin, stdout, stderr = ssh1.exec_command("sudo docker exec $(sudo docker ps -q --filter 'name=nginx-proxy-manager_app') nginx -s reload")
|
||||
print("Reload swm01 stdout:", stdout.read().decode())
|
||||
print("Reload swm01 stderr:", stderr.read().decode())
|
||||
ssh1.close()
|
||||
|
||||
# 2. Reload on swm02 (140.44.4.72)
|
||||
ssh2 = paramiko.SSHClient()
|
||||
ssh2.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||
ssh2.connect('140.44.4.72', username='snarf', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
|
||||
print("--- Reloading NGINX on swm02 ---")
|
||||
stdin, stdout, stderr = ssh2.exec_command("sudo docker exec $(sudo docker ps -q --filter 'name=nginx-proxy-manager_app') nginx -s reload")
|
||||
print("Reload swm02 stdout:", stdout.read().decode())
|
||||
print("Reload swm02 stderr:", stderr.read().decode())
|
||||
ssh2.close()
|
||||
|
||||
if __name__ == '__main__':
|
||||
fix_argo()
|
||||
|
||||
Reference in New Issue
Block a user