A straightforward and full-featured alternate registry implementation for Cargo that does not require a git server.
Uses the nightly -Z sparse-registry
feature to allow the index to be served over HTTP, and so you must be running nightly Cargo to use this registry.
Name is a working title and is subject to change.
- Host local crates
- Cache crates.io index files and crate files
- Web UI that displays crates
- Render local crates' readmes
- crates.io passthrough for all requests
- Hot caching of upstream .crate files
- Hot caching of upstream index files
- Uploading of crates
- Web UI
- Render crate readmes
- Build and display crate docs
- Search crates
- Authentication
- Authorisation
- Tool to provide full mirrors of upstream for offline caches
- Index base inheritance
- Upstreams other than crates.io
- Stabilisation of API
- Production hardening
- Publish this crate to crates.io
> git clone https://github.com/calebfletcher/altreg.git
> cargo install --path altreg
COMING SOON
> cargo install altreg
Run registry:
> altreg
Add registry to Cargo's config by putting the following into either your global ~/.cargo/config.toml
or your project's .cargo/config.toml
:
[registries.private]
index = "http://localhost:1491"
This assumes you want the registry to be named private
and is running on your local machine on port 1491. Update these as required.
If you would like to use this registry as the default, add this to Cargo's config (updating the registry's name where appropriate):
[registry]
default = "private"