diff --git a/src/agent/Cargo.lock b/src/agent/Cargo.lock index f551445703..9e933a1808 100644 --- a/src/agent/Cargo.lock +++ b/src/agent/Cargo.lock @@ -2835,7 +2835,6 @@ version = "0.1.0" dependencies = [ "anyhow", "byteorder", - "cgroups-rs", "chrono", "common-path", "fail", @@ -4376,7 +4375,6 @@ name = "protocols" version = "0.1.0" dependencies = [ "async-trait", - "kata-sys-util", "oci-spec", "protobuf 3.5.1", "serde", diff --git a/src/libs/Cargo.lock b/src/libs/Cargo.lock index 8bf4e8e045..ed7184c48e 100644 --- a/src/libs/Cargo.lock +++ b/src/libs/Cargo.lock @@ -240,19 +240,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cgroups-rs" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b098e7c3a70d03c288fa0a96ccf13e770eb3d78c4cc0e1549b3c13215d5f965" -dependencies = [ - "libc", - "log", - "nix 0.25.1", - "regex", - "thiserror", -] - [[package]] name = "chrono" version = "0.4.20" @@ -814,7 +801,6 @@ version = "0.1.0" dependencies = [ "anyhow", "byteorder", - "cgroups-rs", "chrono", "common-path", "fail", @@ -975,18 +961,6 @@ dependencies = [ "memoffset 0.6.5", ] -[[package]] -name = "nix" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" -dependencies = [ - "autocfg", - "bitflags", - "cfg-if", - "libc", -] - [[package]] name = "nix" version = "0.26.4" @@ -1316,7 +1290,6 @@ name = "protocols" version = "0.1.0" dependencies = [ "async-trait", - "kata-sys-util", "oci-spec", "protobuf 3.2.0", "serde", diff --git a/src/libs/kata-sys-util/Cargo.toml b/src/libs/kata-sys-util/Cargo.toml index 13d860ee45..079339c9cf 100644 --- a/src/libs/kata-sys-util/Cargo.toml +++ b/src/libs/kata-sys-util/Cargo.toml @@ -13,7 +13,6 @@ edition = "2018" [dependencies] anyhow = "1.0.31" byteorder = "1.4.3" -cgroups = { package = "cgroups-rs", version = "0.3.2" } chrono = "0.4.0" common-path = "=1.0.0" fail = "0.5.0" diff --git a/src/libs/kata-sys-util/README.md b/src/libs/kata-sys-util/README.md index 0c3f887bcb..14bebfef88 100644 --- a/src/libs/kata-sys-util/README.md +++ b/src/libs/kata-sys-util/README.md @@ -1,10 +1,9 @@ -# kata-sys-util +# `kata-sys-util` This crate is a collection of utilities and helpers for [Kata Containers](https://github.com/kata-containers/kata-containers/) components to access system services. It provides safe wrappers over system services, such as: -- cgroups - file systems - mount - NUMA diff --git a/src/libs/kata-sys-util/src/spec.rs b/src/libs/kata-sys-util/src/spec.rs index c7a7ba405e..762af62b12 100644 --- a/src/libs/kata-sys-util/src/spec.rs +++ b/src/libs/kata-sys-util/src/spec.rs @@ -97,11 +97,3 @@ pub fn load_oci_spec() -> Result { oci::Spec::load(spec_file.to_str().unwrap_or_default()) } - -/// handle string parsing for input possibly be JSON string. -pub fn parse_json_string(input: &str) -> &str { - let json_str: &str = serde_json::from_str(input).unwrap_or(input); - let stripped_str = json_str.strip_prefix("CAP_").unwrap_or(json_str); - - stripped_str -} diff --git a/src/libs/protocols/Cargo.toml b/src/libs/protocols/Cargo.toml index 366e1bea23..2b945f42c7 100644 --- a/src/libs/protocols/Cargo.toml +++ b/src/libs/protocols/Cargo.toml @@ -7,19 +7,17 @@ license = "Apache-2.0" [features] default = [] -with-serde = [ "serde", "serde_json" ] +with-serde = [] async = ["ttrpc/async", "async-trait"] [dependencies] ttrpc = "0.8" async-trait = { version = "0.1.42", optional = true } protobuf = { version = "3.2.0" } -serde = { version = "1.0.130", features = ["derive"], optional = true } -serde_json = { version = "1.0.68", optional = true } +serde = { version = "1.0.130", features = ["derive"] } +serde_json = "1.0.68" oci-spec = { version = "0.6.8", features = ["runtime"] } -kata-sys-util = { path = "../kata-sys-util" } - [build-dependencies] ttrpc-codegen = "0.4.2" protobuf = { version = "3.2.0" } diff --git a/src/libs/protocols/src/trans.rs b/src/libs/protocols/src/trans.rs index 38428a8804..e559572448 100644 --- a/src/libs/protocols/src/trans.rs +++ b/src/libs/protocols/src/trans.rs @@ -10,7 +10,6 @@ use std::convert::TryFrom; use std::path::PathBuf; use crate::oci as grpc; -use kata_sys_util::spec::parse_json_string; use oci_spec::runtime as oci; // translate from interface to ttprc tools @@ -41,8 +40,9 @@ fn cap_hashset2vec(hash_set: &Option>) -> Vec { fn cap_vec2hashset(caps: Vec) -> HashSet { caps.iter() .map(|cap: &String| { - let cap_str = parse_json_string(cap); - cap_str + // cap might be JSON-encoded + let decoded: &str = serde_json::from_str(cap).unwrap_or(cap); + decoded.strip_prefix("CAP_").unwrap_or(decoded) .parse::() .unwrap_or_else(|_| panic!("Failed to parse {:?} to Enum Capability", cap)) }) @@ -97,6 +97,8 @@ impl From for grpc::LinuxCapabilities { } } +// TODO(burgerdev): remove condition here and below after upgrading to oci_spec > 0.7. +#[cfg(target_os = "linux")] impl From for grpc::POSIXRlimit { fn from(from: oci::PosixRlimit) -> Self { grpc::POSIXRlimit { @@ -118,6 +120,7 @@ impl From for grpc::Process { Env: option_vec_to_vec(from.env()), Cwd: from.cwd().display().to_string(), Capabilities: from_option(from.capabilities().clone()), + #[cfg(target_os = "linux")] Rlimits: from_option_vec(from.rlimits().clone()), NoNewPrivileges: from.no_new_privileges().unwrap_or_default(), ApparmorProfile: from @@ -993,6 +996,7 @@ impl From for oci::Linux { } } +#[cfg(target_os = "linux")] impl From for oci::PosixRlimit { fn from(proto: grpc::POSIXRlimit) -> Self { oci::PosixRlimitBuilder::default() @@ -1078,6 +1082,8 @@ impl From for oci::Process { } else { process.set_capabilities(None); } + + #[cfg(target_os = "linux")] if !from.Rlimits().is_empty() { process.set_rlimits(Some( from.Rlimits().iter().cloned().map(|r| r.into()).collect(), @@ -1238,6 +1244,11 @@ impl From for oci::LinuxIntelRdt { #[cfg(test)] mod tests { + use std::collections::HashSet; + + use super::cap_vec2hashset; + use super::oci; + fn from_vec>(from: Vec) -> Vec { let mut to: Vec = vec![]; for data in from { @@ -1289,4 +1300,26 @@ mod tests { assert_eq!(from.len(), to.len()); assert_eq!(from[0].from, to[0].to); } + + #[test] + fn test_cap_vec2hashset_good() { + let expected: HashSet = + vec![oci::Capability::NetAdmin, oci::Capability::Mknod] + .into_iter() + .collect(); + let actual = cap_vec2hashset(vec![ + "CAP_NET_ADMIN".to_string(), + "\"CAP_MKNOD\"".to_string(), + ]); + + assert_eq!(expected, actual); + } + + #[test] + #[should_panic] + fn test_cap_vec2hashset_bad() { + cap_vec2hashset(vec![ + "CAP_DOES_NOT_EXIST".to_string(), + ]); + } } diff --git a/src/runtime-rs/Cargo.lock b/src/runtime-rs/Cargo.lock index 10457637ae..b838ca9c1b 100644 --- a/src/runtime-rs/Cargo.lock +++ b/src/runtime-rs/Cargo.lock @@ -1844,7 +1844,6 @@ version = "0.1.0" dependencies = [ "anyhow", "byteorder", - "cgroups-rs", "chrono", "common-path", "fail", @@ -2999,9 +2998,10 @@ name = "protocols" version = "0.1.0" dependencies = [ "async-trait", - "kata-sys-util", "oci-spec", "protobuf 3.2.0", + "serde", + "serde_json", "ttrpc", "ttrpc-codegen", ] diff --git a/src/tools/agent-ctl/Cargo.lock b/src/tools/agent-ctl/Cargo.lock index 7ecbd1ac05..8dc37616cd 100644 --- a/src/tools/agent-ctl/Cargo.lock +++ b/src/tools/agent-ctl/Cargo.lock @@ -1186,7 +1186,6 @@ version = "0.1.0" dependencies = [ "anyhow", "byteorder", - "cgroups-rs", "chrono", "common-path", "fail", @@ -1682,7 +1681,6 @@ dependencies = [ name = "protocols" version = "0.1.0" dependencies = [ - "kata-sys-util", "oci-spec", "protobuf 3.2.0", "serde", diff --git a/src/tools/genpolicy/Cargo.lock b/src/tools/genpolicy/Cargo.lock index 7655b8d6e4..74df8a2bbd 100644 --- a/src/tools/genpolicy/Cargo.lock +++ b/src/tools/genpolicy/Cargo.lock @@ -17,17 +17,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - [[package]] name = "aho-corasick" version = "1.1.3" @@ -58,18 +47,6 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" -[[package]] -name = "arc-swap" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" - -[[package]] -name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - [[package]] name = "async-trait" version = "0.1.68" @@ -171,28 +148,6 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" -[[package]] -name = "bitmask-enum" -version = "2.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb15541e888071f64592c0b4364fdff21b7cb0a247f984296699351963a8721" -dependencies = [ - "quote", - "syn 2.0.58", -] - -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -202,69 +157,12 @@ dependencies = [ "generic-array", ] -[[package]] -name = "borsh" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" -dependencies = [ - "borsh-derive", - "cfg_aliases", -] - -[[package]] -name = "borsh-derive" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" -dependencies = [ - "once_cell", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.58", - "syn_derive", -] - [[package]] name = "bumpalo" version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" -[[package]] -name = "byte-unit" -version = "5.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ac19bdf0b2665407c39d82dbc937e951e7e2001609f0fb32edd0af45a2d63e" -dependencies = [ - "rust_decimal", - "serde", - "utf8-width", -] - -[[package]] -name = "bytecheck" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627" -dependencies = [ - "bytecheck_derive", - "ptr_meta", - "simdutf8", -] - -[[package]] -name = "bytecheck_derive" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "byteorder" version = "1.4.3" @@ -289,25 +187,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - -[[package]] -name = "cgroups-rs" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db7c2f5545da4c12c5701455d9471da5f07db52e49b9cccb4f5512226dd0836" -dependencies = [ - "libc", - "log", - "nix 0.25.1", - "regex", - "thiserror", -] - [[package]] name = "chrono" version = "0.4.31" @@ -369,12 +248,6 @@ dependencies = [ "cc", ] -[[package]] -name = "common-path" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" - [[package]] name = "containerd-client" version = "0.4.0" @@ -489,37 +362,14 @@ dependencies = [ "typenum", ] -[[package]] -name = "darling" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" -dependencies = [ - "darling_core 0.14.4", - "darling_macro 0.14.4", -] - [[package]] name = "darling" version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ - "darling_core 0.20.9", - "darling_macro 0.20.9", -] - -[[package]] -name = "darling_core" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "syn 1.0.109", + "darling_core", + "darling_macro", ] [[package]] @@ -536,24 +386,13 @@ dependencies = [ "syn 2.0.58", ] -[[package]] -name = "darling_macro" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" -dependencies = [ - "darling_core 0.14.4", - "quote", - "syn 1.0.109", -] - [[package]] name = "darling_macro" version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ - "darling_core 0.20.9", + "darling_core", "quote", "syn 2.0.58", ] @@ -584,7 +423,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d" dependencies = [ - "darling 0.20.9", + "darling", "proc-macro2", "quote", "syn 2.0.58", @@ -687,17 +526,6 @@ dependencies = [ "libc", ] -[[package]] -name = "fail" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe5e43d0f78a42ad591453aedb1d7ae631ce7ee445c7643691055a9ed8d3b01c" -dependencies = [ - "log", - "once_cell", - "rand", -] - [[package]] name = "fastrand" version = "1.9.0" @@ -783,12 +611,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - [[package]] name = "futures-channel" version = "0.3.28" @@ -927,12 +749,6 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - [[package]] name = "h2" version = "0.3.16" @@ -957,9 +773,6 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash", -] [[package]] name = "hashbrown" @@ -1003,12 +816,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - [[package]] name = "hmac" version = "0.12.1" @@ -1136,7 +943,7 @@ dependencies = [ "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core 0.50.0", + "windows-core", ] [[package]] @@ -1282,58 +1089,6 @@ dependencies = [ "tonic-build 0.8.4", ] -[[package]] -name = "kata-sys-util" -version = "0.1.0" -dependencies = [ - "anyhow", - "byteorder", - "cgroups-rs", - "chrono", - "common-path", - "fail", - "hex", - "kata-types", - "lazy_static", - "libc", - "nix 0.24.3", - "oci-spec", - "once_cell", - "rand", - "runtime-spec", - "safe-path", - "serde", - "serde_json", - "slog", - "slog-scope", - "subprocess", - "thiserror", -] - -[[package]] -name = "kata-types" -version = "0.1.0" -dependencies = [ - "anyhow", - "base64 0.13.1", - "bitmask-enum", - "byte-unit", - "glob", - "lazy_static", - "num_cpus", - "oci-spec", - "regex", - "safe-path", - "serde", - "serde-enum-str", - "serde_json", - "slog", - "slog-scope", - "sysinfo", - "thiserror", - "toml", -] - [[package]] name = "lazy_static" version = "1.4.0" @@ -1404,15 +1159,6 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.7.1" @@ -1472,30 +1218,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "nix" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.6.5", -] - -[[package]] -name = "nix" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" -dependencies = [ - "autocfg", - "bitflags 1.3.2", - "cfg-if", - "libc", -] - [[package]] name = "nix" version = "0.26.4" @@ -1505,19 +1227,10 @@ dependencies = [ "bitflags 1.3.2", "cfg-if", "libc", - "memoffset 0.7.1", + "memoffset", "pin-utils", ] -[[package]] -name = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi", -] - [[package]] name = "num" version = "0.4.3" @@ -1809,15 +1522,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "proc-macro-crate" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" -dependencies = [ - "toml_edit", -] - [[package]] name = "proc-macro-error" version = "1.0.4" @@ -2026,7 +1730,6 @@ dependencies = [ name = "protocols" version = "0.1.0" dependencies = [ - "kata-sys-util", "oci-spec", "protobuf 3.3.0", "serde", @@ -2035,26 +1738,6 @@ dependencies = [ "ttrpc-codegen", ] -[[package]] -name = "ptr_meta" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" -dependencies = [ - "ptr_meta_derive", -] - -[[package]] -name = "ptr_meta_derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "quote" version = "1.0.36" @@ -2064,12 +1747,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - [[package]] name = "rand" version = "0.8.5" @@ -2100,26 +1777,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - [[package]] name = "redox_syscall" version = "0.2.16" @@ -2184,15 +1841,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "rend" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" -dependencies = [ - "bytecheck", -] - [[package]] name = "reqwest" version = "0.11.14" @@ -2232,60 +1880,6 @@ dependencies = [ "winreg", ] -[[package]] -name = "rkyv" -version = "0.7.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58" -dependencies = [ - "bitvec", - "bytecheck", - "hashbrown 0.12.3", - "ptr_meta", - "rend", - "rkyv_derive", - "seahash", - "tinyvec", - "uuid", -] - -[[package]] -name = "rkyv_derive" -version = "0.7.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "runtime-spec" -version = "0.1.0" -dependencies = [ - "libc", - "serde", - "serde_derive", - "serde_json", -] - -[[package]] -name = "rust_decimal" -version = "1.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" -dependencies = [ - "arrayvec", - "borsh", - "bytes", - "num-traits", - "rand", - "rkyv", - "serde", - "serde_json", -] - [[package]] name = "rustc-demangle" version = "0.1.23" @@ -2345,13 +1939,6 @@ version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" -[[package]] -name = "safe-path" -version = "0.1.0" -dependencies = [ - "libc", -] - [[package]] name = "schannel" version = "0.1.21" @@ -2381,12 +1968,6 @@ dependencies = [ "syn 2.0.58", ] -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - [[package]] name = "security-framework" version = "2.8.2" @@ -2419,36 +2000,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-attributes" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eb8ec7724e4e524b2492b510e66957fe1a2c76c26a6975ec80823f2439da685" -dependencies = [ - "darling_core 0.14.4", - "serde-rename-rule", - "syn 1.0.109", -] - -[[package]] -name = "serde-enum-str" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26416dc95fcd46b0e4b12a3758043a229a6914050aaec2e8191949753ed4e9aa" -dependencies = [ - "darling 0.14.4", - "proc-macro2", - "quote", - "serde-attributes", - "syn 1.0.109", -] - -[[package]] -name = "serde-rename-rule" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794e44574226fc701e3be5c651feb7939038fc67fb73f6f4dd5c4ba90fd3be70" - [[package]] name = "serde-transcode" version = "1.1.1" @@ -2524,12 +2075,6 @@ dependencies = [ "digest", ] -[[package]] -name = "simdutf8" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" - [[package]] name = "slab" version = "0.4.8" @@ -2539,23 +2084,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "slog" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06" - -[[package]] -name = "slog-scope" -version = "4.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f95a4b4c3274cd2869549da82b57ccc930859bdbf5bcea0424bc5f140b3c786" -dependencies = [ - "arc-swap", - "lazy_static", - "slog", -] - [[package]] name = "socket2" version = "0.4.9" @@ -2607,16 +2135,6 @@ dependencies = [ "syn 2.0.58", ] -[[package]] -name = "subprocess" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2e86926081dda636c546d8c5e641661049d7562a68f5488be4a1f7f66f6086" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "subtle" version = "2.4.1" @@ -2645,45 +2163,12 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "syn_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.58", -] - [[package]] name = "sync_wrapper" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" -[[package]] -name = "sysinfo" -version = "0.30.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" -dependencies = [ - "cfg-if", - "core-foundation-sys", - "libc", - "ntapi", - "once_cell", - "rayon", - "windows", -] - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - [[package]] name = "tar" version = "0.4.41" @@ -2843,32 +2328,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_datetime" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" - -[[package]] -name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.2.3", - "toml_datetime", - "winnow", -] - [[package]] name = "tonic" version = "0.9.2" @@ -3004,7 +2463,7 @@ dependencies = [ "crossbeam", "libc", "log", - "nix 0.26.4", + "nix", "protobuf 3.3.0", "protobuf-codegen 3.3.0", "thiserror", @@ -3091,18 +2550,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "utf8-width" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" - -[[package]] -name = "uuid" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" - [[package]] name = "vcpkg" version = "0.2.15" @@ -3263,16 +2710,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" -dependencies = [ - "windows-core 0.52.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows-core" version = "0.50.0" @@ -3282,15 +2719,6 @@ dependencies = [ "windows-targets 0.48.0", ] -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-sys" version = "0.42.0" @@ -3511,15 +2939,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - [[package]] name = "winreg" version = "0.10.1" @@ -3529,15 +2948,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - [[package]] name = "xattr" version = "1.3.1" diff --git a/src/tools/kata-ctl/Cargo.lock b/src/tools/kata-ctl/Cargo.lock index 2746bf64ea..bd2de00388 100644 --- a/src/tools/kata-ctl/Cargo.lock +++ b/src/tools/kata-ctl/Cargo.lock @@ -27,7 +27,7 @@ dependencies = [ "log", "logging", "nix 0.24.3", - "oci", + "oci-spec", "protobuf 3.3.0", "protocols", "serde", @@ -329,19 +329,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" -[[package]] -name = "cgroups-rs" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db7c2f5545da4c12c5701455d9471da5f07db52e49b9cccb4f5512226dd0836" -dependencies = [ - "libc", - "log", - "nix 0.25.1", - "regex", - "thiserror", -] - [[package]] name = "chrono" version = "0.4.31" @@ -376,7 +363,7 @@ dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim", + "strsim 0.10.0", ] [[package]] @@ -523,12 +510,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core 0.20.3", - "darling_macro 0.20.3", + "darling_core 0.20.10", + "darling_macro 0.20.10", ] [[package]] @@ -546,15 +533,15 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim", + "strsim 0.11.1", "syn 2.0.39", ] @@ -571,11 +558,11 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core 0.20.3", + "darling_core 0.20.10", "quote", "syn 2.0.39", ] @@ -601,6 +588,37 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "derive_builder" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" +dependencies = [ + "darling 0.20.10", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "derive_builder_macro" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" +dependencies = [ + "derive_builder_core", + "syn 2.0.39", +] + [[package]] name = "dirs-next" version = "2.0.0" @@ -832,6 +850,18 @@ dependencies = [ "wasi", ] +[[package]] +name = "getset" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f636605b743120a8d32ed92fc27b6cde1a769f8f936c065151eb66f88ded513c" +dependencies = [ + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "gimli" version = "0.28.1" @@ -893,6 +923,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.1.19" @@ -1167,8 +1203,8 @@ dependencies = [ "shim-interface", "slog", "slog-scope", - "strum", - "strum_macros", + "strum 0.24.1", + "strum_macros 0.24.3", "sys-info", "tempfile", "test-utils", @@ -1186,7 +1222,6 @@ version = "0.1.0" dependencies = [ "anyhow", "byteorder", - "cgroups-rs", "chrono", "common-path", "fail", @@ -1195,9 +1230,10 @@ dependencies = [ "lazy_static", "libc", "nix 0.24.3", - "oci", + "oci-spec", "once_cell", "rand", + "runtime-spec", "safe-path", "serde", "serde_json", @@ -1218,7 +1254,7 @@ dependencies = [ "glob", "lazy_static", "num_cpus", - "oci", + "oci-spec", "regex", "safe-path", "serde", @@ -1478,20 +1514,27 @@ dependencies = [ ] [[package]] -name = "oci" -version = "0.1.0" +name = "oci-spec" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f5a3fe998d50101ae009351fec56d88a69f4ed182e11000e711068c2f5abf72" dependencies = [ - "libc", + "derive_builder", + "getset", + "once_cell", + "regex", "serde", - "serde_derive", "serde_json", + "strum 0.26.3", + "strum_macros 0.26.4", + "thiserror", ] [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "openssl" @@ -1694,10 +1737,32 @@ dependencies = [ ] [[package]] -name = "proc-macro2" -version = "1.0.70" +name = "proc-macro-error-attr2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "proc-macro2" +version = "1.0.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" dependencies = [ "unicode-ident", ] @@ -1879,8 +1944,10 @@ name = "protocols" version = "0.1.0" dependencies = [ "async-trait", - "oci", + "oci-spec", "protobuf 3.3.0", + "serde", + "serde_json", "ttrpc 0.8.1", "ttrpc-codegen", ] @@ -1917,9 +1984,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.33" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -2011,9 +2078,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -2023,9 +2090,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", @@ -2145,6 +2212,16 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "runtime-spec" +version = "0.1.0" +dependencies = [ + "libc", + "serde", + "serde_derive", + "serde_json", +] + [[package]] name = "rust_decimal" version = "1.35.0" @@ -2399,7 +2476,7 @@ version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" dependencies = [ - "darling 0.20.3", + "darling 0.20.10", "proc-macro2", "quote", "syn 2.0.39", @@ -2569,12 +2646,24 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "strum" version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" + [[package]] name = "strum_macros" version = "0.24.3" @@ -2588,6 +2677,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.39", +] + [[package]] name = "subprocess" version = "0.2.9" diff --git a/src/tools/runk/Cargo.lock b/src/tools/runk/Cargo.lock index e1afc6f91c..6f41aef6ec 100644 --- a/src/tools/runk/Cargo.lock +++ b/src/tools/runk/Cargo.lock @@ -1391,7 +1391,6 @@ version = "0.1.0" dependencies = [ "anyhow", "byteorder", - "cgroups-rs", "chrono", "common-path", "fail", @@ -2068,9 +2067,10 @@ dependencies = [ name = "protocols" version = "0.1.0" dependencies = [ - "kata-sys-util", "oci-spec", "protobuf 3.5.0", + "serde", + "serde_json", "ttrpc", "ttrpc-codegen", ]