feat: add cluster auditing, management, and upgrade scripts
This commit is contained in:
30
scripts/refresh_argocd.py
Normal file
30
scripts/refresh_argocd.py
Normal file
@@ -0,0 +1,30 @@
|
||||
import paramiko
|
||||
import time
|
||||
|
||||
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('utf-8', errors='replace').strip()
|
||||
if res:
|
||||
print(res)
|
||||
e = err.read().decode('utf-8', errors='replace').strip()
|
||||
if e:
|
||||
print("ERR:", e)
|
||||
|
||||
print("[*] Annotating applications with argocd.argoproj.io/refresh: hard...")
|
||||
# Trigger hard refresh on root and workload apps
|
||||
run("kubectl annotate app -n infrastructure root-app-of-apps aerodrome-workloads spaceport-workloads argocd.argoproj.io/refresh=hard --overwrite")
|
||||
run("kubectl annotate app -n infrastructure --all argocd.argoproj.io/refresh=hard --overwrite")
|
||||
|
||||
print("[*] Waiting 15 seconds for ArgoCD repo-server and controller reconciliation...")
|
||||
time.sleep(15)
|
||||
|
||||
print("[*] Checking ArgoCD applications sync & health status...")
|
||||
run("kubectl get applications -n infrastructure -o custom-columns=NAME:.metadata.name,SYNC:.status.sync.status,HEALTH:.status.health.status,MESSAGE:.status.conditions[0].message")
|
||||
|
||||
ssh.close()
|
||||
|
||||
Reference in New Issue
Block a user