diff --git a/docs/handoff-20260913-cf-api-token-rolled.md b/docs/handoff-20260913-cf-api-token-rolled.md new file mode 100644 index 0000000..c9fdd79 --- /dev/null +++ b/docs/handoff-20260913-cf-api-token-rolled.md @@ -0,0 +1,28 @@ +# Handoff 2026-09-13 — CF_API_TOKEN gerollt (Gitea bf-infra #69) + +## Was passiert ist + +`CF_API_TOKEN` (id `493ed8bd…`, konsolidiert) war nach TP41 tot (Fehler `1000` an allen drei +Fundorten). Statt eines separaten railplanner-Tokens wurde das konsolidierte Token am 2026-09-13 +im CF-Dashboard **gerollt** (neuer Wert, gleicher Scope). Workers-Scope verifiziert: +`GET /accounts/{id}/workers/scripts` listet `railplanner` / `blaueblueten-n8n` / `terpene`. + +## Drift behoben + +Der neue Wert lag zunächst nur in `credentials.env`. Realignt auf identischen Wert in: + +- `~/.secrets/exports.zsh` (SSoT) — vorher gar kein `CF_API_TOKEN` +- `~/.secrets/credentials.env` +- `bf-infra/mcp/cloudflare/.env` (vorher `…4148`) +- `bf-network-r6/mcp/cloudflare/.env` (vorher `…2174`) + +## Gotcha (hat die Session zweimal „Token kaputt" fehldeuten lassen) + +Account-owned Tokens verifizieren an `GET /accounts/{account_id}/tokens/verify` — am alten +`/user/tokens/verify` liefern sie `1000 "Invalid API Token"`, **obwohl gültig**. Siehe +`docs/tp16.1-warp-mesh-native-crs326.md:164` und `docs/teilprojekte-archiv.md:830`. +Ins Memory notiert (`reference_cf_account_token_verify.md`). + +## Status + +Gitea #69 `closed` (`status:done`). Kein Repo-Code geändert — alles Secret-Store + Gitea-Status.