rust-extensions/crates/runc
Maksym Pavlenko b8107d6101
Bump runc crate version
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2025-06-30 09:54:17 -07:00
..
src fix ut test 2025-06-11 00:13:30 +00:00
Cargo.toml Bump runc crate version 2025-06-30 09:54:17 -07:00
README.md chore: Fix whitespace 2024-07-30 16:54:34 +00:00

README.md

Rust bindings for runc CLI

Crates.io docs.rs Crates.io CI

A crate for consuming the runc binary in your Rust applications, similar to go-runc for Go. This crate is based on archived rust-runc.

Usage

Both sync/async version is available. You can build runc client with RuncConfig in method chaining style. Call build() or build_async() to get client. Note that async client depends on tokio, then please use it on tokio runtime.

#[tokio::main]
async fn main() {
    let config = runc::GlobalOpts::new()
        .root("./new_root")
        .debug(false)
        .log("/path/to/logfile.json")
        .log_format(runc::LogFormat::Json)
        .rootless(true);

    let client = config.build_async().unwrap();

    let opts = runc::options::CreateOpts::new()
        .pid_file("/path/to/pid/file")
        .no_pivot(true);

    client.create("container-id", "path/to/bundle", Some(&opts)).unwrap();
}

Limitations

  • Supported commands are only:
    • create
    • start
    • state
    • kill
    • delete
  • Exec is not available in RuncAsyncClient now.
  • Console utilites are not available