1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
#![warn(missing_docs)] //! Library to write CNI plugins. //! //! - CNI information: on the [cni.dev](https://cni.dev) website. //! - [Tooling overview][tools] //! - [Tutorial][tuto] //! //! [tools]: https://github.com/passcod/cni-plugins/blob/main/docs/Standard-Tooling.md //! [tuto]: https://github.com/passcod/cni-plugins/blob/main/docs/Plugin-Hello-World.md //! //! # Quick start //! //! ```no_run //! use cni_plugin::{Cni, logger}; //! logger::install(env!("CARGO_PKG_NAME")); //! match Cni::load() { //! Cni::Add { container_id, ifname, netns, path, config } => {} //! Cni::Del { container_id, ifname, netns, path, config } => {} //! Cni::Check { container_id, ifname, netns, path, config } => {} //! Cni::Version(_) => unreachable!() //! } //! ``` //! //! or: //! //! ```no_run //! use cni_plugin::{Cni, Inputs, logger}; //! logger::install(env!("CARGO_PKG_NAME")); //! //! let Inputs { //! command, container_id, ifname, netns, path, config //! } = Cni::load().into_inputs().unwrap(); //! ``` pub use cni::Cni; pub use command::Command; pub use inputs::Inputs; pub mod config; #[cfg(any(feature = "with-smol", feature = "with-tokio"))] pub mod delegation; pub mod error; pub mod ip_range; pub mod logger; pub mod macaddr; pub mod reply; mod cni; mod command; mod dns; mod inputs; mod path; mod version;