Repository navigation
feat(cloudflare): adopt seerrsense, now registered by DCR - #1400
Conversation
seerrsense moved from manual OAuth to automatic (DCR) mode on 2026-09-25, through the API: a bearer flip clears the manual registration, a PUT with auth_type oauth, name and description and no auth_credentials leaves the server automatic, and "Authenticate server" lets Cloudflare register at seerrsense's portal-restricted /register (mctlhq/seerrsense#74). It is ready, its catalogue synced on its own, and the portal mapping survived. Adopts it into mcp-servers.tf in automatic mode (no auth_credentials, no client_secret) with an import block, and adds it to DCR_SERVERS in portal-auth-credentials-drift.py; without that, its empty blob in state would abort the nightly scan. The selftest's manual example moves to api. Refs #1363, #1370.
|
Claude finished @mashkovd's task in 1m 47s —— View job Review complete ✅
Reviewed Summary: The new Findings: 1 P3 (nit, non-blocking) — inline comment noting that the README section heading ( Note: I could not execute Verdict: ✅ Approved — no P1/P2 findings (1 P3). |
Antigravity (agy) review — informationalModel: gemini-3.8-flash-medium · commit No significant issues found. |
| for field on `tg`'s model (manual, interim) or `projects`'s (automatic, | ||
| final), following mctlhq/mctl-gitops#1363's tasks 1, 2, 5 and 6, and extend | ||
| `DCR_SERVERS`/`OWNERS` accordingly once the mode of each is settled. | ||
| `seerrsense` moved to automatic (DCR) mode on 2026-09-25 and is adopted in |
There was a problem hiding this comment.
P3: This paragraph now sits under the ## The sixth upstream, coolify, and what this change does not do heading (README.md:183), which was written for the coolify PR. It now also documents that seerrsense has moved to DCR — worth a follow-up to retitle the section (e.g. drop "what this change does not do") so it doesn't read as still-pending work.
There was a problem hiding this comment.
Acknowledged. The section will be retitled in the api/tg DCR follow-up, which rewrites the same paragraph again.
Adopts
seerrsenseintomcp-servers.tfin automatic (DCR) mode. It was moved there live on 2026-09-25.The move (done against the API, because the provider cannot express it —
auth_credentialsis write-only, so omitting it never clears an existing manual registration):PUT {auth_type: "bearer", auth_credentials: "<dummy>"}clears the manual registration:auth_config_summarybecomes null.PUT {auth_type: "oauth", name, description}with noauth_credentials. A PUT withauth_typealone answers7000 D1_ERROR: near "WHERE". Withnameanddescriptionit succeeds, and the dashboard shows Automatic (recommended).https://seerrsense.mctl.ai/register, which admits only the two portal callbacks (auth: DCR fallback restricted to the Cloudflare portal callback, with the full scope set for DCR clients seerrsense#74). The owner address signed in and consented.Result:
status: ready,authentication_status: connected.last_successful_syncmoved from 2026-09-13 to 2026-09-25 23:13 on its own.seerrsense_whoamithrough the portal returns the owner,connected: true.In this PR:
import+ resourceseerrsense:auth_type = "oauth", noauth_credentials, noclient_secret, the same shape asprojects/alice/coolify.scripts/portal-auth-credentials-drift.py:seerrsensejoinsDCR_SERVERS. Without that, its emptyauth_credentialsin state would raiseUndeterminedand abort the nightly scan for every server. The selftest's "non-DCR server with no credentials" example moves toapi, which is still manual.apiandtgare the remaining manual servers, with their blockers (DCR for the Cloudflare portal: persist dynamic registrations and allowlist the portal callbacks mctl-api#395; mctl-telegram needs DCR restricted to the portal's exact callbacks, MCP servers: CIMD primary, DCR fallback restricted to the portal callback, full scope for DCR clients .github#137).Expected plan:
1 to import, 0 to add, 0 to change, 0 to destroy.Refs #1363, #1370.
🤖 Generated with Claude Code
https://claude.ai/code/session_01T5nLoYSquzMsGsdS64wvry