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
#![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, install_logger};
//! install_logger("hello-world.log");
//! 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!()
//! }
//! ```

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;