cargo-wharf
cargo-wharf copied to clipboard
Cacheable and efficient Docker images builder for Rust
Cargo Wharf - efficient Docker images builder for Rust
Features
-
Efficiently cache crate dependencies.
Every dependency is built in its isolated environment and cached independently from others. -
Small output images.
Only binaries (and eventually mandatory static assets) in the output image. No useless build artifacts. -
No extra host tools has to be installed.
Only Docker! -
Ability to produce test images.
The container created from that image will do the same ascargo test
but in a safe isolated environment.
Usage
Disclaimer #1 Modern Docker with BuildKit enabled is required!
Disclaimer #2 Due to active development and expected breaking changes, cargo-wharf
should not be used in production yet.
Usage guide can be found in the BuildKit frontend README.
cargo-wharf-frontend
[Docker Hub] [README] [CHANGELOG]
The custom frontend for BuildKit that produces LLB graph out of Cargo's build plan.
cargo-container-tools
[Docker Hub] [README] [CHANGELOG]
Auxiliary tools that are useful for building Docker images of Rust crates and for cargo-wharf-frontend
in particular.
License
cargo-wharf
is primarily distributed under the terms of both the MIT license and
the Apache License (Version 2.0), with portions covered by various BSD-like
licenses.
See LICENSE-APACHE, and LICENSE-MIT for details.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in cargo-wharf
by you, as defined in the Apache-2.0 license,
shall be dual licensed as above, without any additional terms or conditions.