Cell implements the Slicer protocol in Go, consisting of two main components:
cellitself; 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