Skip to content

Library to create CNI plugins in Rust, and a set of plugins

License

Notifications You must be signed in to change notification settings

skateco/cni-plugins

 
 

Repository files navigation

Adopt-a-crate!

I am no longer working with Nomad, Consul, Kubernetes, or container runtime sysadmin, and so this repository is not maintained. Feel free to fork! If you're committed, email me to get the crate name transferred.

Crate release version Crate license: Apache 2.0 or MIT MSRV: latest stable CI status

CNI Plugins

A library for writing CNI plugins in Rust, and some plugins built with it.

Obtain plugins

Note that these plugins should not be considered solid implementations. They work, and I use them, and eventually they'll surely evolve into robust software, but for now consider them beta quality, and alpha stability.

Flavours

The cni-plugins library can be built with a feature release-logs that enables verbose logging to a file in release builds, which usually is reserved for debug (development) builds. Warning/error logs are always copied to stderr.

It's up to each plugin to carry through the feature, but all in this repo do. The pre-build binary releases available below also come in these two flavours, with the -verbose suffix for productions builds with verbose logging to file.

Logs are appended to /var/log/cni/name-of-plugin.log in production, and to name-of-plugin.log in the working directory in development.

From binary release

The release tab on GitHub.

Builds are available for x86-64 Linux, but adding architectures is often trivial, so please ask if needed.

From source

Clone this repo, install the Rust toolchain, and build with:

# Standard production binary
cargo build --release

# Log-enabled production binary
cargo build --release --features release-logs

# Debug binary
cargo build

About

Library to create CNI plugins in Rust, and a set of plugins

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 98.8%
  • Shell 1.2%