Files
QuickStack/setup/reset-password.sh

42 lines
1.3 KiB
Bash

#!/bin/sh
# curl -sfL https://get.quickstack.dev/reset-password.sh | sh -
DEPLOYMENT="quickstack"
NAMESPACE="quickstack"
# Get the first pod name of the deployment
POD_NAME=$(sudo kubectl get pods -n "$NAMESPACE" -l app="$DEPLOYMENT" -o jsonpath="{.items[0].metadata.name}")
if [ -z "$POD_NAME" ]; then
echo "Could not find a running QuickStack instance on your server/cluster."
exit 1
fi
echo "Found QuickStack instance: $POD_NAME"
echo "Initializing password change..."
# Patch the deployment to add or update START_MODE=reset-password
sudo kubectl patch deployment "$DEPLOYMENT" -n "$NAMESPACE" --type='json' -p='[
{
"op": "add",
"path": "/spec/template/spec/containers/0/env/-",
"value": { "name": "START_MODE", "value": "reset-password" }
}
]'
echo "Initialized password change successfully, please wait..."
sleep 2
echo "Waiting for the new pod to be in Running status..."
sudo kubectl wait --for=condition=Ready pod -l app="$DEPLOYMENT" -n "$NAMESPACE" --timeout=300s
# Retreive the new pod name
NEW_POD=""
while [ -z "$NEW_POD" ] || [ "$NEW_POD" = "$OLD_POD" ]; do
sleep 2
NEW_POD=$(sudo kubectl get pods -n "$NAMESPACE" -l app="$DEPLOYMENT" -o jsonpath="{.items[-1].metadata.name}")
done
sudo kubectl logs -f "$NEW_POD" -n "$NAMESPACE"