Add pivault_unseal

pivaul_unseal automates the unsealing process for pivault. Since the
primary vault is unsealed by pivault this is the only unseal script we
should need.
This commit is contained in:
ducoterra
2021-06-20 21:05:31 -04:00
parent 95ade50a61
commit 046f3a6761

32
scripts/pivault_unseal.py Executable file
View File

@@ -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()