28 lines
927 B
Python
28 lines
927 B
Python
import subprocess
|
|
import json
|
|
import re
|
|
|
|
def get_namespaces():
|
|
output = subprocess.check_output(["kubectl", "get", "ns", "-o", "json"])
|
|
data = json.loads(output)
|
|
return [item["metadata"]["name"] for item in data["items"]]
|
|
|
|
def get_pvcs(namespace: str):
|
|
output = subprocess.check_output(["kubectl", "get", "pvc", "-n", namespace, "-o", "json"])
|
|
data = json.loads(output)
|
|
return [item["metadata"]["name"] for item in data["items"]]
|
|
|
|
def get_all_backup_pvcs():
|
|
output = subprocess.check_output(["kubectl", "get", "pvc", "-A", "-o", "json"])
|
|
data = json.loads(output)
|
|
|
|
backup_pvcs = []
|
|
for item in data["items"]:
|
|
name = item["metadata"]["name"]
|
|
namespace = item["metadata"]["namespace"]
|
|
if re.match(r"^snapix-bkp-temp-", name):
|
|
backup_pvcs.append({
|
|
"name": name,
|
|
"namespace": namespace
|
|
})
|
|
return backup_pvcs |