# registry-backup A command line utility for downloading all .crate files hosted by a Cargo registry server. Use cases: - **Backup:** retrieve a registry server's files for backup storage - **Export:** pull the files so you can host them at another registry server ## Example Usage: Specify the registry index either as a local path (`--index-path`)... ```console $ git clone https://github.com/rust-lang/crates.io-index.git $ registry-backup \ --index-path crates.io-index \ --output-path crates.io-crate-files \ --requests-per-second 10 ``` ...or as an `--index-url` instead: ```console $ registry-backup \ --index-url ssh://git@ssh.shipyard.rs/shipyard-rs/crate-index.git \ --output-path shipyard-rs-crate-files \ --requests-per-second 10 ``` ## Runtime Options ```console $ ./target/release/registry-backup --help {{ cli_menu }} ``` ## Configuration File A toml configuration file may be used instead of command line flags. A sample file (`config.toml.sample`) is included. From the example file: ```toml {{ config_sample }} ``` ## Justfile The repository includes a `justfile` with functionality for building, testing, etc. Included commands: ```console $ just --list {{ just_commands }} ``` The commands that mirror cargo commands (e.g. `just test`) are included for the purpose of convenience, so that various options (e.g. `RUSTFLAGS='-C target-cpu=native`) can be included without typing them out each time. ## Generating `README.md` This file is generated using a template (`doc/README.tera.md`) rendered using updated outputs of the CLI menu, config sample, and other values. This version of `README.md` was generated at `{{ generation_time }}` based on git commit `{{ git_commit }}`. To (re-)generate the `README.md` file, use the justfile command: ```console $ just generate-readme ```