Runbook — Reconnect a provider
Use this when Platform Health shows a connection with a stale last success, repeated auth errors, or demoMode unexpectedly true.
GitHub
- Diagnose. Common
last errorcauses: revoked/expired private key, uninstalled App, suspended installation, or removed organization access. - Credentials. Confirm the Worker secrets are current (
GITHUB_APP_ID,GITHUB_APP_PRIVATE_KEY) — rotate per rotate-github-app-key.md if in doubt. Missing App credentials silently switch the instance to demo mode. - Installation. GitHub → Organization settings → GitHub Apps: the App must be installed and set to All repositories for automatic discovery. Re-install if it was removed; approve any pending permission requests.
- Webhooks. App settings → Advanced shows recent deliveries. Redeliver a failed delivery; confirm the webhook URL is
https://<your-host>/webhooks/githuband the secret matchesGITHUB_WEBHOOK_SECRET. Missed events are repaired by the next reconciliation regardless. - Resync. Administration → Run discovery now, then watch Platform Health for the connection to return to
active.
GitLab
- Confirm
GITLAB_TOKENis valid (read_apiscope, not expired) andGITLAB_GROUPSlists the intended top-level groups. For self-managed, checkGITLAB_BASE_URL. - Rotate the token in GitLab, then
wrangler secret put GITLAB_TOKEN. - GitLab webhooks are optional — scheduled reconciliation is the source of truth. If configured, verify the hook URL
https://<your-host>/webhooks/gitlaband its secret token. - Resync from Administration and verify on Platform Health.
Still failing
Check the Worker logs (wrangler tail) for the sanitized error category, and provider status pages for outages. Data is never deleted on connection failure — repositories mark inaccessible and recover automatically once the connection returns.