almeira-web/scripts/inspect_traefik_and_labels.py

36 lines
1.3 KiB
Python

import paramiko
import json
import sys
import io
if sys.platform == 'win32':
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('161.97.93.156', username='carlos', password='Innova1978+*?', timeout=10)
stdin, stdout, stderr = client.exec_command("docker ps --format '{{.Names}}'")
all_names = [n.strip() for n in stdout.read().decode('utf-8').splitlines() if n.strip()]
drip_names = [n for n in all_names if "bfmno" in n or "drip" in n]
print("Matching containers:", drip_names)
for container_id in drip_names:
stdin, stdout, stderr = client.exec_command(f"docker inspect {container_id}")
raw = stdout.read().decode('utf-8')
if not raw.strip():
continue
info = json.loads(raw)
labels = info[0].get("Config", {}).get("Labels", {})
print(f"\n=== LABELS OF {container_id} ===")
for k, v in labels.items():
if "traefik" in k or "coolify" in k:
print(f" {k}: {v}")
print("\n=== CHECKING IF dripzone.almeira.com.co HAS ANY ROUTER ===")
stdin, stdout, stderr = client.exec_command("docker ps --filter 'label=traefik.enable=true' --format '{{.Names}}'")
print("Traefik containers:", stdout.read().decode('utf-8').strip())
client.close()