Hello- I wanted to float the idea/need for a super light weight Cloudflare-native pds for headless services. Though Cirrus is already the lightest PDS, it could get even lighter by factoring out the people-hosting services such that a headless service (think an atproto labeler) could grab a cirrus subset package for hosting its own identity and publishing its own records.
The refactoring could possibly look like:
@getcirrus/repo-core runtime-agnostic: repo engine (wraps @atproto/repo),
├─ RepoEngine firehose sequencer, sync-endpoint logic. Depends only on a
├─ Sequencer RepoStorage interface + a Keypair — no Cloudflare, no auth.
└─ syncHandlers()
@getcirrus/service Cloudflare kit: DO-SQLite RepoStorage, did:web document,
├─ SqliteRepoStorage requestCrawl, and a mountable Worker/DO facade.
├─ ServiceAccountDO
├─ didWebDocument()
└─ createServiceRouter()
@getcirrus/pds (existing) refactors to build on @getcirrus/repo-core, adding
the person-hosting layers: OAuth, passkeys, blobs, migration.
Hello- I wanted to float the idea/need for a super light weight Cloudflare-native pds for headless services. Though Cirrus is already the lightest PDS, it could get even lighter by factoring out the people-hosting services such that a headless service (think an atproto labeler) could grab a cirrus subset package for hosting its own identity and publishing its own records.
The refactoring could possibly look like: