diff --git a/scripts/pivault_unseal.py b/scripts/pivault_unseal.py new file mode 100755 index 0000000..ebfa9ae --- /dev/null +++ b/scripts/pivault_unseal.py @@ -0,0 +1,32 @@ +#!/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()