25 lines
937 B
Python
25 lines
937 B
Python
import paramiko
|
|
|
|
ssh = paramiko.SSHClient()
|
|
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
ssh.connect('140.44.4.11', username='root', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
|
|
|
|
stdin, stdout, stderr = ssh.exec_command('kubectl get pvc -n default')
|
|
print("=== PVCs IN DEFAULT ===")
|
|
print(stdout.read().decode())
|
|
|
|
stdin, stdout, stderr = ssh.exec_command('kubectl get pods -n default')
|
|
print("=== PODS IN DEFAULT ===")
|
|
print(stdout.read().decode())
|
|
|
|
# Check if any pod is using these PVCs
|
|
stdin, stdout, stderr = ssh.exec_command('kubectl get pods -A -o jsonpath=\'{range .items[*]}{.metadata.namespace}{"/"}{.metadata.name}{": "}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{"\\n"}{end}\'')
|
|
lines = stdout.read().decode().splitlines()
|
|
print("=== PODS USING ANY PVCs WITH authentik IN NAME ===")
|
|
for line in lines:
|
|
if "authentik" in line:
|
|
print(line)
|
|
|
|
ssh.close()
|
|
|