33 lines
751 B
Python
Executable File
33 lines
751 B
Python
Executable File
#!/usr/bin/python3
|
|
|
|
import json
|
|
import os
|
|
import subprocess
|
|
import threading
|
|
|
|
vaults = ["vault-0"]
|
|
|
|
home = os.getenv("HOME")
|
|
with open(os.path.join(home, ".vault-keys/pivault-cluster-keys.json")) as f:
|
|
vault_secrets = json.load(f)
|
|
|
|
procs = []
|
|
|
|
for vault in vaults:
|
|
procs += [
|
|
threading.Thread(
|
|
target = subprocess.run,
|
|
args = (
|
|
["kubectl", "--context", "pikube.dnet-admin-pivault",
|
|
"exec", "-ti", vault, "--",
|
|
"vault", "operator", "unseal",
|
|
vault_secrets.get("unseal_keys_b64")[key]],))
|
|
for key in range(int(vault_secrets.get("unseal_threshold")))
|
|
]
|
|
|
|
for thread in procs:
|
|
thread.start()
|
|
|
|
for thread in procs:
|
|
thread.join()
|