intermodal_rs/lib.rs
1//! # intermodal
2//!
3//! intermodal is an implementation of container handling in Rust.
4//!
5//! ## About
6//!
7//! The main idea is to provide programmable APIs for the following actions broadly related to
8//! hadling containers
9//!
10//! - Manipulating Container Images (inspect, fetch)
11//! - An OCI Compliant Runtime in Rust (spawn containers)
12//! - Implementation of a CRI Server, so this whole thing can run behind a 'kubelet'
13//!
14//! Also, implementation of utilities for handling containers, images etc. (A reference
15//! implementation using the above library functionality.)
16//!
17//! Goal is to have a full featured implementation supporting Cgroups, Namespaces, seccomp etc.
18//!
19//! Initial target is for Linux systems mainly.
20
21pub mod cmd;
22pub mod image;
23pub mod storage;
24pub mod utils;
25
26#[macro_export]
27macro_rules! log_err_return {
28 ($obj:path, $($arg:tt)*) => {
29 {
30 let errstr = format!($($arg)*);
31 log::error!("{}", errstr);
32 Err($obj(errstr))
33 }
34 };
35}