zebra
zebra copied to clipboard
docs: Update the Architecture Section in the zebra book to include zebra-rpc and zebra-scan
Motivation
The "Architecture" section of the zebra book helps newcomers to Zebra to understand its different components. This has currently not been updated with details of zebra-rpc, zebra-node-services, or zebra-scan.
While we're making changes, the detailed descriptions of each crate's dependencies, responsibilities, and exported types are out of date.
We might be better providing a very short summary, and linking to the details in:
- Cargo.toml for dependencies (or providing a
cargo tree
command) -
the API reference for responsibilities and exported types, for example:
- https://doc-internal.zebra.zfnd.org/zebra_network/index.html
@mpguerra the architecture section is also missing zebra-node-services. Did you want to add it at the same time?
While we're making changes, the detailed descriptions of each crate's dependencies, responsibilities, and exported types are out of date. We'd be better just linking to:
- Cargo.toml for dependencies
-
the API reference for responsibilities and exported types, for example:
- https://doc-internal.zebra.zfnd.org/zebra_network/index.html
@mpguerra the architecture section is also missing zebra-node-services. Did you want to add it at the same time?
Sure!
While we're making changes, the detailed descriptions of each crate's dependencies, responsibilities, and exported types are out of date. We'd be better just linking to:
* Cargo.toml for dependencies * [the API reference](https://doc-internal.zebra.zfnd.org/zebrad/) for responsibilities and exported types, for example: * https://doc-internal.zebra.zfnd.org/zebra_network/index.html
I didn't read that far down... 😅 that's fine with me.
This is all very low priority though... it was just something I noticed when I was reading that page
@mpguerra the architecture section is also missing zebra-node-services. Did you want to add it at the same time?
While we're making changes, the detailed descriptions of each crate's dependencies, responsibilities, and exported types are out of date. We'd be better just linking to:
Cargo.toml for dependencies
the API reference for responsibilities and exported types, for example:
- https://doc-internal.zebra.zfnd.org/zebra_network/index.html
I don't think that adding those 2 references is enough for a system design overview. When i see architecture
i generally expect some sort of diagram and/or a short explication of each important piece, something like that. For sure not a link to cargo.toml or the api reference.
@mpguerra the architecture section is also missing zebra-node-services. Did you want to add it at the same time? While we're making changes, the detailed descriptions of each crate's dependencies, responsibilities, and exported types are out of date. We'd be better just linking to:
Cargo.toml for dependencies
the API reference for responsibilities and exported types, for example:
- https://doc-internal.zebra.zfnd.org/zebra_network/index.html
I don't think that adding those 2 references is enough for a system design overview. When i see
architecture
i generally expect some sort of diagram and/or a short explication of each important piece, something like that. For sure not a link to cargo.toml or the api reference.
We might want to link to the zebrad
overviews in:
- https://doc.zebra.zfnd.org/zebrad/index.html
- https://doc-internal.zebra.zfnd.org/zebrad/commands/start/index.html
The start command tasks are an up-to-date overview of how the application actually works. But they don't describe what each crate does.
If we want a description of each crate, we could remove the incorrect bits from the existing descriptions, and just keep them short?
Unscheduling this for now
I added zebra-scan to this ticket