cache bitwarden secrets in env vars to skip unlock on repeated runs
This commit is contained in:
+20
-9
@@ -54,22 +54,33 @@ if ! command -v dig &>/dev/null; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# --- Get Gitea API token from Bitwarden ---
|
# --- Get secrets (cached in env vars, or fetch from Bitwarden) ---
|
||||||
|
|
||||||
if bw status 2>/dev/null | grep -q '"status":"unauthenticated"'; then
|
if [ -n "${HANTIM_GITEA_TOKEN:-}" ] && [ -n "${HANTIM_VULTR_API_KEY:-}" ] && [ -n "${HANTIM_DEPLOY_KEY:-}" ]; then
|
||||||
|
echo "Using cached secrets from environment."
|
||||||
|
GITEA_TOKEN="$HANTIM_GITEA_TOKEN"
|
||||||
|
VULTR_API_KEY="$HANTIM_VULTR_API_KEY"
|
||||||
|
DEPLOY_KEY="$HANTIM_DEPLOY_KEY"
|
||||||
|
else
|
||||||
|
if bw status 2>/dev/null | grep -q '"status":"unauthenticated"'; then
|
||||||
echo "Log in to Bitwarden:"
|
echo "Log in to Bitwarden:"
|
||||||
bw login
|
bw login
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if bw status 2>/dev/null | grep -q '"status":"locked"'; then
|
if bw status 2>/dev/null | grep -q '"status":"locked"'; then
|
||||||
BW_SESSION=$(bw unlock --raw)
|
BW_SESSION=$(bw unlock --raw)
|
||||||
export BW_SESSION
|
export BW_SESSION
|
||||||
fi
|
fi
|
||||||
|
|
||||||
bw sync --session "${BW_SESSION:-}"
|
bw sync --session "${BW_SESSION:-}"
|
||||||
GITEA_TOKEN=$(bw get notes hantim-new-app-script --session "${BW_SESSION:-}")
|
GITEA_TOKEN=$(bw get notes hantim-new-app-script --session "${BW_SESSION:-}")
|
||||||
VULTR_API_KEY=$(bw get notes hantim-vultr-api-key --session "${BW_SESSION:-}")
|
VULTR_API_KEY=$(bw get notes hantim-vultr-api-key --session "${BW_SESSION:-}")
|
||||||
DEPLOY_KEY=$(bw get item hantim-server-deploy --session "${BW_SESSION:-}" | jq -r '.sshKey.privateKey')
|
DEPLOY_KEY=$(bw get item hantim-server-deploy --session "${BW_SESSION:-}" | jq -r '.sshKey.privateKey')
|
||||||
|
|
||||||
|
export HANTIM_GITEA_TOKEN="$GITEA_TOKEN"
|
||||||
|
export HANTIM_VULTR_API_KEY="$VULTR_API_KEY"
|
||||||
|
export HANTIM_DEPLOY_KEY="$DEPLOY_KEY"
|
||||||
|
fi
|
||||||
|
|
||||||
DEPLOY_KEY_FILE=$(mktemp)
|
DEPLOY_KEY_FILE=$(mktemp)
|
||||||
echo "$DEPLOY_KEY" > "$DEPLOY_KEY_FILE"
|
echo "$DEPLOY_KEY" > "$DEPLOY_KEY_FILE"
|
||||||
|
|||||||
+14
-7
@@ -28,20 +28,27 @@ if ! command -v bw &>/dev/null; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# --- Get Gitea API token from Bitwarden ---
|
# --- Get secrets (cached in env vars, or fetch from Bitwarden) ---
|
||||||
|
|
||||||
if bw status 2>/dev/null | grep -q '"status":"unauthenticated"'; then
|
if [ -n "${HANTIM_GITEA_TOKEN:-}" ]; then
|
||||||
|
echo "Using cached secrets from environment."
|
||||||
|
GITEA_TOKEN="$HANTIM_GITEA_TOKEN"
|
||||||
|
else
|
||||||
|
if bw status 2>/dev/null | grep -q '"status":"unauthenticated"'; then
|
||||||
echo "Log in to Bitwarden:"
|
echo "Log in to Bitwarden:"
|
||||||
bw login
|
bw login
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if bw status 2>/dev/null | grep -q '"status":"locked"'; then
|
if bw status 2>/dev/null | grep -q '"status":"locked"'; then
|
||||||
BW_SESSION=$(bw unlock --raw)
|
BW_SESSION=$(bw unlock --raw)
|
||||||
export BW_SESSION
|
export BW_SESSION
|
||||||
fi
|
fi
|
||||||
|
|
||||||
bw sync --session "${BW_SESSION:-}"
|
bw sync --session "${BW_SESSION:-}"
|
||||||
GITEA_TOKEN=$(bw get notes hantim-new-app-script --session "${BW_SESSION:-}")
|
GITEA_TOKEN=$(bw get notes hantim-new-app-script --session "${BW_SESSION:-}")
|
||||||
|
|
||||||
|
export HANTIM_GITEA_TOKEN="$GITEA_TOKEN"
|
||||||
|
fi
|
||||||
|
|
||||||
# --- Delete Gitea repo ---
|
# --- Delete Gitea repo ---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user