fix: resolve CI blockers for wp-oauth-register.sh
All checks were successful
All checks were successful
This commit is contained in:
parent
11566c2757
commit
442d24b76d
2 changed files with 19 additions and 15 deletions
|
|
@ -88,7 +88,6 @@ fi
|
|||
FORGE_TOKEN="${FORGE_TOKEN:-}"
|
||||
if [ -z "$FORGE_TOKEN" ]; then
|
||||
log "reading FORGE_TOKEN from Vault at kv/${KV_PATH}/token"
|
||||
token_raw
|
||||
token_raw="$(hvault_get_or_empty "${KV_MOUNT}/data/disinto/shared/forge/token")" || {
|
||||
die "failed to read forge token from Vault"
|
||||
}
|
||||
|
|
@ -118,6 +117,7 @@ oauth_apps_raw=$(curl -sf --max-time 10 \
|
|||
|
||||
oauth_app_exists=false
|
||||
existing_client_id=""
|
||||
forgejo_secret=""
|
||||
|
||||
# Parse the OAuth2 apps list
|
||||
if [ -n "$oauth_apps_raw" ]; then
|
||||
|
|
@ -189,14 +189,20 @@ if [ -n "$existing_raw" ]; then
|
|||
existing_secret_in_vault="$(printf '%s' "$existing_raw" | jq -r '.data.data.forgejo_secret // ""')"
|
||||
fi
|
||||
|
||||
# Check if credentials already exist and match
|
||||
if [ "$existing_client_id_in_vault" = "$existing_client_id" ] \
|
||||
&& [ "$existing_secret_in_vault" = "$forgejo_secret" ]; then
|
||||
log "credentials already in Vault"
|
||||
# Idempotency check: if Vault already has credentials for this app, use them
|
||||
# This handles the case where the OAuth app exists but we don't have the secret
|
||||
if [ "$existing_client_id_in_vault" = "$existing_client_id" ] && [ -n "$existing_secret_in_vault" ]; then
|
||||
log "credentials already in Vault for '${FORGE_OAUTH_APP_NAME}'"
|
||||
log "done — OAuth2 app registered + credentials in Vault"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Use existing secret from Vault if available (app exists, secret in Vault)
|
||||
if [ -n "$existing_secret_in_vault" ]; then
|
||||
log "using existing secret from Vault for '${FORGE_OAUTH_APP_NAME}'"
|
||||
forgejo_secret="$existing_secret_in_vault"
|
||||
fi
|
||||
|
||||
# Prepare the payload with new credentials
|
||||
payload="$(printf '%s' "$existing_data" \
|
||||
| jq --arg cid "$existing_client_id" \
|
||||
|
|
|
|||
|
|
@ -132,16 +132,14 @@ fi
|
|||
# ── Step 3/3: register Forgejo OAuth app and store credentials ───────────────
|
||||
log "── Step 3/3: register Forgejo OAuth app ──"
|
||||
|
||||
# Call the OAuth registration script
|
||||
if [ "$DRY_RUN" -eq 1 ]; then
|
||||
log "[dry-run] would call wp-oauth-register.sh"
|
||||
else
|
||||
# Export required env vars for the OAuth script
|
||||
export DRY_RUN
|
||||
"${LIB_DIR}/wp-oauth-register.sh" --dry-run || {
|
||||
log "OAuth registration check failed (Forgejo may not be running)"
|
||||
log "This is expected if Forgejo is not available"
|
||||
}
|
||||
# Export DRY_RUN for the OAuth script and call it
|
||||
export DRY_RUN
|
||||
if "${LIB_DIR}/wp-oauth-register.sh" || [ "$DRY_RUN" -eq 1 ]; then
|
||||
:
|
||||
elif [ -n "${FORGE_URL:-}" ]; then
|
||||
# Forgejo was configured but unavailable
|
||||
log "OAuth registration check failed (Forgejo may not be running)"
|
||||
log "This is expected if Forgejo is not available"
|
||||
fi
|
||||
|
||||
log "done — agent_secret + OAuth credentials seeded"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue