Skip to main content

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}