Rustdoc hosting
Haven builds and hosts rustdoc for the crates in your registries, so private crates get the same “read the docs” experience as crates.io packages get from docs.rs.
Auto-build
Section titled “Auto-build”When a version is published, a sandboxed builder picks it up, runs
cargo doc in an isolated throwaway environment, and uploads the
result. The crate page’s Docs tab shows build status and links to
the generated documentation. No setup is needed; publishing is enough.
URLs and access
Section titled “URLs and access”Docs are served under the registry:
https://haven.example.com/r/acme/docs/my-crate/1.2.3/Access follows the registry’s read rules exactly: whoever can download the crate can read its docs, nobody else. Docs for held versions are visible to the same audience that can see the held version itself.
Manual upload
Section titled “Manual upload”If you build docs yourself (custom flags, private toolchain), upload a zip of the rustdoc output for a version through the API instead. The crate page documents the endpoint; uploads are size-capped (100 MiB by default) and replace the built docs atomically.
Limits to expect
Section titled “Limits to expect”Hosted docs are served with a strict security policy: the only scripts that run are rustdoc’s own toolchain files, served from a route Haven controls. Anything generated from crate content never executes.
- The rustdoc theme picker and settings work on docs built by Haven’s builder. Docs built before this support existed pick it up on their next rebuild (the crate page has a rebuild button).
- Search inside the rustdoc pages does not work. The search index is generated from crate content, so it stays blocked with the rest.
This is a deliberate trade: crate documentation is arbitrary generated HTML, and the policy keeps it from running code in your browser session. Use the registry’s crate list and the docs sidebar for navigation.