Group the module crates under modules/
The service pseudo-clients and the ircd protocol link sat flat at the repo root, mixed in with the daemon core and the SDK. Move them all under modules/ so the tree separates concerns cleanly: the daemon in src/, the SDK every module links against in api/, and the loadable modules — the pseudo-clients plus the protocol link — in modules/. Workspace members, the daemon's per-crate dependency paths, and each module's api path are updated to match; the docs follow. No code change.
This commit is contained in:
parent
6f76f9722c
commit
ad2a623120
116 changed files with 69 additions and 46 deletions
20
README.md
20
README.md
|
|
@ -20,16 +20,20 @@ workspace, each depending only on the `fedserv-api` SDK crate.
|
|||
through the `Store`/`NetView` traits, so the log, gossip and credential material
|
||||
stay out of a module's reach.
|
||||
- **`src/gossip.rs`** node-to-node replication over the logs.
|
||||
- **`inspircd/`** (`fedserv-inspircd`) the ircd link layer. A `Protocol` impl maps
|
||||
raw server-to-server lines to and from the normalized model, so the engine never
|
||||
touches a raw line and a new ircd is one new crate.
|
||||
- **`nickserv/`, `chanserv/`, `botserv/`, `memoserv/`, `statserv/`, `hostserv/`,
|
||||
`operserv/`** the pseudo-clients, each a crate implementing `Service`. OperServ
|
||||
holds the network-operator tools (AKILL network bans to start); the rest follow
|
||||
the same shape.
|
||||
- **`modules/`** the loadable modules, each its own crate depending only on the
|
||||
`fedserv-api` SDK:
|
||||
- **`modules/inspircd/`** (`fedserv-inspircd`) the ircd link layer. A `Protocol`
|
||||
impl maps raw server-to-server lines to and from the normalized model, so the
|
||||
engine never touches a raw line and a new ircd is one new crate.
|
||||
- **`modules/nickserv/`, `modules/chanserv/`, `modules/botserv/`,
|
||||
`modules/memoserv/`, `modules/statserv/`, `modules/hostserv/`, `modules/operserv/`**
|
||||
and diceserv, infoserv, reportserv, groupserv, chanfix, helpserv — the
|
||||
pseudo-clients, each a crate implementing `Service`. OperServ holds the
|
||||
network-operator tools (AKILL network bans to start); the rest follow the same
|
||||
shape.
|
||||
|
||||
Writing your own module — a service or a new ircd protocol — is documented in
|
||||
[MODULES.md](MODULES.md); `example/` is a minimal service to copy from.
|
||||
[MODULES.md](MODULES.md); `modules/example/` is a minimal service to copy from.
|
||||
|
||||
## Replication
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue