44 lines
780 B
Bash
Executable file
44 lines
780 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
UNSEAL_KEYS="xxx yyy zzz"
|
|
|
|
VAULT_PODS=$(kubectl get pods -n vault -l app.kubernetes.io/name=vault -o jsonpath='{.items[*].metadata.name}')
|
|
|
|
echo ""
|
|
echo "Unsealing Vault..."
|
|
echo ""
|
|
|
|
echo "Deleting existing pods..."
|
|
echo ""
|
|
|
|
kubectl delete pods -n vault $VAULT_PODS >> /dev/null
|
|
|
|
echo "Waiting for new pods to become ready..."
|
|
echo ""
|
|
|
|
kubectl wait --for=condition=ready --timeout=180s pods -n vault -l app.kubernetes.io/name=vault >> /dev/null
|
|
|
|
echo "Unsealing Vault pods..."
|
|
echo ""
|
|
|
|
for pod in $VAULT_PODS
|
|
do
|
|
echo "Unsealing $pod..."
|
|
|
|
for key in $UNSEAL_KEYS
|
|
do
|
|
kubectl exec -n vault -it $pod -- vault operator unseal $key >> /dev/null
|
|
sleep 1
|
|
done
|
|
|
|
echo "$pod unsealed!"
|
|
echo ""
|
|
done
|
|
|
|
echo "Vault unsealed!"
|
|
echo ""
|
|
echo ""
|
|
echo ""
|
|
|
|
|
|
|