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
//! # intermodal
//!
//! intermodal is an implementation of container handling in Rust.
//!
//! ## About
//!
//! The main idea is to provide programmable APIs for the following actions broadly related to
//! hadling containers
//!
//! - Manipulating Container Images (inspect, fetch)
//! - An OCI Compliant Runtime in Rust (spawn containers)
//! - Implementation of a CRI Server, so this whole thing can run behind a 'kubelet'
//!
//! Also, implementation of utilities for handling containers, images etc. (A reference
//! implementation using the above library functionality.)
//!
//! Goal is to have a full featured implementation supporting Cgroups, Namespaces, seccomp etc.
//!
//! Initial target is for Linux systems mainly.
pub mod cmd;
pub mod image;
pub mod storage;
pub mod utils;
#[macro_export]
macro_rules! log_err_return {
($obj:path, $($arg:tt)*) => {
{
let errstr = format!($($arg)*);
log::error!("{}", errstr);
Err($obj(errstr))
}
};
}