Repository navigation
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit fb80b54. Configure here.
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: 439e1317-a02c-4f79-9695-f99f57463ec0) |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: 1d3f5807-fd3a-45f4-bcd8-2ff4ad4a9db5) |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: 2c97926b-9663-4afd-8948-5875c95ee5f1) |
mjcurran
left a comment
There was a problem hiding this comment.
Gateway builds and runs on my system, so looks good to test on QA and proceed from there.

Note
High Risk
Touches authentication (admin bearer), Ed25519 signing, SSRF-safe applicant fetches, and the end-to-end peer onboarding path; misconfiguration could block joins or expose internal APIs.
Overview
Moves federation registry ownership from the Django gateway to federation sync. Site identity (
/.well-known/sds-federation.json), signed manifest URLs (/.well-known/sds-registry/*), and staff-onlyPOST /internal/registry/*(verify, publish, capabilities) now run on sync behindFEDERATION_SYNC_ADMIN_TOKEN. Applicant domain proof usesFEDERATION_REGISTRY_CHALLENGE_TOKENon the applicant sync process, not gatewaydjango.env.The gateway retains intake UI and application DB but delegates verify/publish to sync via
FederationSyncClientandFEDERATION_SYNC_INTERNAL_URL. Publish registry builds the site list from approved applications, calls sync to Ed25519-sign the manifest, and marks rows published. Successful verify triggers staff email (FEDERATION_REGISTRY_STAFF_NOTIFY_EMAILS) and optional auto-publish on approve.Deploy/ops updates: compose mounts for registry signing keys and publish/cache volumes, Traefik routes for well-known to sync,
federation-doctorregistry checks,sds-federation-registryCLI, operator runbookfederation-registry-deploy.md, andgenerate-secrets.shnow mintsFEDERATION_SYNC_ADMIN_TOKEN. Django removes the well-known URL and registry signing/challenge settings that lived on the app container.Reviewed by Cursor Bugbot for commit 072231f. Bugbot is set up for automated code reviews on this repo. Configure here.