collection of golang services under the Red Dwarf umbrella server.reddwarf.app
bluesky reddwarf microcosm appview

update readme for labelmerge

+27 -8
+27 -8
readme.md
··· 1 1 # Red Dwarf Server 2 2 3 - Red Dwarf but as a Go AppView server instead of a React TypeScript SPA 3 + Golang Monorepo for all server-sided Red Dwarf stuff 4 + 5 + > [!NOTE] 6 + > uh im not very confident with the current directory structure, so files and folders might move around 4 7 5 - you can use it right now by using `did:web:server.reddwarf.app` with any bluesky client that supports custom appviews (like for example [witchsky](https://witchsky.app/)) 8 + ## Runnables 9 + run all of these using `go run .` inside the respective directories 10 + 11 + ### `/cmd/appview` 12 + an appview, the api server that implements app.bsky.* XRPC methods. 13 + 14 + development of the appview itself is on hold, but other parts of this red dwarf server repo are still being developed and will be used by the appview, probably, eventually 6 15 7 16 still very early in development 8 17 ··· 17 26 - `app.bsky.unspecced.getConfig` (placeholder) 18 27 - `app.bsky.unspecced.getPostThreadV2` (mostly working! doesnt use prefered sort, not performant yet) 19 28 20 - > [!NOTE] 21 - > uh im not very confident with the current directory structure, so files and folders might move around 29 + 30 + ### `/cmd/labelmerge` 31 + queryLabel cache. uses a different XRPC method than the default queryLabels endpoint 22 32 23 - ## Runnables 24 - run all of these using `go run .` inside the respective directories 33 + - `/xrpc/app.reddwarf.labelmerge.queryLabels` 25 34 26 - ### `/cmd/appview` 27 - the main entry point, the actual appview itself. the api server that implements app.bsky.* XRPC methods 35 + the full lexicon schema is [here](/labelmerge/lex/generation/defs/app.reddwarf.labelmerge.queryLabels.json) 28 36 29 37 ### `/cmd/backstream` 30 38 experimental backfiller that kinda (but not really) conforms to the jetstream event shape. designed to be ingested by consumers expecting jetstream ··· 44 52 45 53 slingshot's api client is compatible with `github.com/bluesky-social/indigo/*` stuff, like `agnostic.RepoGetRecord` and `util.LexClient` 46 54 55 + ### `/labelmerge/*` 56 + labelmerge helpers, like: 57 + - a badger LRU (of unknown reliability) 58 + - labeler firehose ingester manager (still WIP, and unused) 59 + - lexicon generation files and the generated structs 60 + 47 61 ### `/shims/*` 48 62 most of Red Dwarf Server logic lives here. pulls data from upstream services like microcosm constellation and slingshot, transforms it, and spits out bsky api -like responses using the published app.bsky.* codegen from `github.com/bluesky-social/indigo/api/bsky` 49 63 ··· 57 71 58 72 ## todo 59 73 74 + - implement the many other parts of labelmerge 75 + - labeler firehose ingester, which will be used for: 76 + - keep caches up to date via firehose ingester 77 + - rolling cache of the latest few hours of labels 78 + - which will need a "was this record made in the latest few hours of labels" helper service 60 79 - clean up /cmd/appview/main.go , its a mess 61 80 - appview-side query caches 62 81 - notification service