29 releases (breaking)
new 0.26.0 | Nov 18, 2024 |
---|---|
0.24.0 | Oct 17, 2024 |
0.22.0 | Jun 18, 2024 |
0.19.0 | Feb 23, 2024 |
0.1.0 | Dec 8, 2021 |
#79 in Cargo plugins
225 downloads per month
160KB
3.5K
SLoC
libcnb-cargo
A Cargo command for managing buildpacks written with libcnb.rs.
Installation
cargo install --locked libcnb-cargo
Usage
Currently, there is only one sub-command: package
. It allows users to package their
Rust buildpack in a spec-compliant manner and helps with cross-compilation.
$ cargo libcnb package --help
Packages a libcnb.rs Cargo project as a Cloud Native Buildpack
Usage: cargo libcnb package [OPTIONS]
Options:
--no-cross-compile-assistance Disable cross-compile assistance
--release Build in release mode, with optimizations
--target <TARGET> Build for the target triple [default: x86_64-unknown-linux-musl]
--package-dir <PACKAGE_DIR> Directory for packaged buildpacks, defaults to 'packaged' in Cargo workspace root
-h, --help Print help
Using it is fairly simple, run cargo libcnb package
inside the buildpack's
project directory:
$ cargo libcnb package
🚚 Preparing package directory...
🖥️ Gathering Cargo configuration (for x86_64-unknown-linux-musl)
🏗️ Building buildpack dependency graph...
🔀 Determining build order...
🚚 Building 1 buildpacks...
📦 [1/1] Building libcnb-examples/my-buildpack (./)
# Omitting compilation output...
Finished dev [unoptimized] target(s) in 8.24s
Successfully wrote buildpack directory: packaged/x86_64-unknown-linux-musl/debug/libcnb-examples_my-buildpack (4.09 MiB)
✨ Packaging successfully finished!
💡 To test your buildpack locally with pack, run:
pack build my-image-name \
--buildpack packaged/x86_64-unknown-linux-musl/debug/libcnb-examples_my-buildpack \
--trust-extra-buildpacks \
--path /path/to/application
/Users/example/src/my-buildpack/packaged/x86_64-unknown-linux-musl/debug/libcnb-examples_my-buildpack
Dependencies
~10–21MB
~306K SLoC