Cell implements the Slicer protocol in Go, consisting of two main components:
cell
itself; andlocketd
.
cell
is the basis for all operations. It has no in-memory state, so each instance is autonomous from clients. locketd
instances register with cell
; they don't actually do any work by themselves. cell
broadcasts messages to all locketd
instances keyed by the recipients' user IDs. They then pick up these messages, sending them to clients as required.
boredom
oh but also, IRC is old and insecure. Modern platforms are fast. The latter usually can't be said about newer encrypted platforms.
- Users
- Create
- Get
- Auth
- Login
- Refresh
- Channels
- Create
- Get
- Announce (ws)
- Invites
- Create
- Get
- By name
- All by channel
- Accept
- Announce (ws)
- Lockets
- Node
- Register
- Get/rotate
- Administration
- Metrics
- Prometheus
- Some other instance-specific stuff could be done.
- Account management, etc.
- Metrics
- Kubernetes