Binary Dealer is a Rust-based tool designed to streamline the distribution and management of static binary files. With an emphasis on version control, Binary Dealer aims to facilitate the seamless retrieval and deployment of binaries.
Binary Dealer is built using Axum as its core dependency, which provides the foundational capabilities needed for the server functionality.
- Static Binary Serving: The server will serve static files, making it easy to fetch precompiled binaries for various projects.
- Version Management: Manage multiple versions of binaries efficiently and serve them up on request.
- Automated Compilation: Future iterations will include automated compilation of binaries from their source code, ensuring up-to-date versions are readily available.
- Event-Driven Updates: Ultimately, the tool will be enhanced to compile binaries automatically whenever new tags or releases are available in the source repositories.
-
Phase 1: Serve static binary files
- During this phase, the server will be set up to serve binaries that are manually compiled and placed in the designated directory.
-
Phase 2: Automate Compilation
- Implement additional automation features to facilitate the compilation process.
-
Phase 3: Event-Driven Compilation
- Integrate event-driven compilation that triggers builds based on updates in source repositories, ensuring all binaries are current.
To get started with Binary Dealer, follow these steps:
-
Clone the repository:
git clone https://github.com/zingolabs/binary-dealer.git cd binary-dealer
-
Generate or add your certs. We've used Let's Encrypt. Customize your domain name with your certs by altering the source code in
src/main.rs
underconfig =
. Place your precompiled binaries in the specified directory for access. -
Build the project:
cargo build --release
-
Run the server:
cargo run --release