diff --git a/src/runtime-rs/Cargo.toml b/src/runtime-rs/Cargo.toml index bbc401f645..396abb45f0 100644 --- a/src/runtime-rs/Cargo.toml +++ b/src/runtime-rs/Cargo.toml @@ -1,6 +1,42 @@ [workspace] members = [ + "crates/agent", + "crates/hypervisor", + "crates/persist", + "crates/resource", + "crates/runtimes", + "crates/service", "crates/shim", "crates/shim-ctl", + + "tests/utils", ] +[workspace.dependencies] +agent = { path = "crates/agent" } +hypervisor = { path = "crates/hypervisor" } +persist = { path = "crates/persist"} +resource = { path = "crates/resource" } +runtimes = { path = "crates/runtimes" } +service = { path = "crates/service" } +tests_utils = { path = "tests/utils" } + +ch-config = { path = "crates/hypervisor/ch-config" } +common = { path = "crates/runtimes/common" } +linux_container = { path = "crates/runtimes/linux_container" } +virt_container = { path = "crates/runtimes/virt_container" } +wasm_container = { path = "crates/runtimes/wasm_container" } + +# Local dependencies from `src/libs` +kata-sys-util = { path = "../libs/kata-sys-util"} +kata-types = { path = "../libs/kata-types"} +logging = { path = "../libs/logging"} +protocols = { path = "../libs/protocols", features=["async"] } +runtime-spec = { path = "../libs/runtime-spec" } +safe-path = { path = "../libs/safe-path"} +shim-interface = { path = "../libs/shim-interface" } +test-utils = { path = "../libs/test-utils" } + +# Local dependencies from `src/dragonball` +dragonball = { path = "../dragonball" } +dbs-utils = { path = "../dragonball/dbs_utils" } diff --git a/src/runtime-rs/crates/agent/Cargo.toml b/src/runtime-rs/crates/agent/Cargo.toml index 0213a65a26..8076358d00 100644 --- a/src/runtime-rs/crates/agent/Cargo.toml +++ b/src/runtime-rs/crates/agent/Cargo.toml @@ -22,11 +22,12 @@ tokio = { version = "1.38.0", features = ["fs", "rt"] } tracing = "0.1.36" url = "2.2.2" nix = "0.24.2" - -kata-types = { path = "../../../libs/kata-types"} -logging = { path = "../../../libs/logging"} oci-spec = { version = "0.6.8", features = ["runtime"] } -protocols = { path = "../../../libs/protocols", features=["async"] } + +# Local dependencies +kata-types = { workspace = true } +logging = { workspace = true } +protocols = { workspace = true, features=["async"] } [features] default = [] diff --git a/src/runtime-rs/crates/hypervisor/Cargo.toml b/src/runtime-rs/crates/hypervisor/Cargo.toml index d655d01629..6310beab7c 100644 --- a/src/runtime-rs/crates/hypervisor/Cargo.toml +++ b/src/runtime-rs/crates/hypervisor/Cargo.toml @@ -14,7 +14,6 @@ async-trait = "0.1.48" go-flag = "0.1.0" libc = ">=0.2.39" nix = "0.24.2" -persist = { path = "../persist" } rust-ini = "0.18.0" seccompiler = "0.2.0" serde = { version = "1.0.138", features = ["derive"] } @@ -30,27 +29,29 @@ lazy_static = "1.4" tracing = "0.1.36" ttrpc = { version = "0.8.4", features = ["async"] } protobuf = "=3.7.1" - -kata-sys-util = { path = "../../../libs/kata-sys-util" } -kata-types = { path = "../../../libs/kata-types" } -logging = { path = "../../../libs/logging" } -protocols = { path = "../../../libs/protocols", features = ["async"] } -shim-interface = { path = "../../../libs/shim-interface" } oci-spec = { version = "0.6.8", features = ["runtime"] } - -ch-config = { path = "ch-config", optional = true } -tests_utils = { path = "../../tests/utils" } - futures = "0.3.25" safe-path = "0.1.0" crossbeam-channel = "0.5.6" tempdir = "0.3.7" - qapi = { version = "0.14", features = ["qmp", "async-tokio-all"] } qapi-spec = "0.3.1" qapi-qmp = "0.14.0" +hyperlocal = "0.8.0" +hyper = { version = "0.14.18", features = ["client"] } -dragonball = { path = "../../../dragonball", features = [ +# Local dependencies +kata-sys-util = { workspace = true } +kata-types = { workspace = true } +logging = { workspace = true } +protocols = { workspace = true, features = ["async"] } +shim-interface = { workspace = true } +persist = { workspace = true } +ch-config = { workspace = true, optional = true } +tests_utils = { workspace = true } + +# Local dependencies: Dragonball +dragonball = { workspace = true, features = [ "atomic-guest-memory", "virtio-vsock", "hotplug", @@ -64,9 +65,7 @@ dragonball = { path = "../../../dragonball", features = [ "vhost-user-net", "host-device", ], optional = true } -dbs-utils = { path = "../../../dragonball/dbs_utils" } -hyperlocal = "0.8.0" -hyper = { version = "0.14.18", features = ["client"] } +dbs-utils = { workspace = true } [features] default = [] @@ -77,14 +76,13 @@ dragonball = ["dep:dragonball"] cloud-hypervisor = ["ch-config"] [dev-dependencies] -# Force the CH tests to run, even when the feature is not enabled for -# a normal build. -hypervisor = { path = ".", features = ["cloud-hypervisor"] } - -test-utils = { path = "../../../libs/test-utils" } - serial_test = "2.0.0" +# Local dev-dependencies +# Force the CH tests to run, even when the feature is not enabled for +# a normal build. +hypervisor = { workspace = true, features = ["cloud-hypervisor"] } +test-utils = { workspace = true } [build-dependencies] ttrpc-codegen = "0.4.2" diff --git a/src/runtime-rs/crates/hypervisor/ch-config/Cargo.toml b/src/runtime-rs/crates/hypervisor/ch-config/Cargo.toml index 7761faadff..78bd0c3fc7 100644 --- a/src/runtime-rs/crates/hypervisor/ch-config/Cargo.toml +++ b/src/runtime-rs/crates/hypervisor/ch-config/Cargo.toml @@ -14,6 +14,8 @@ anyhow = "1.0.68" serde = { version = "1.0.145", features = ["rc", "derive"] } serde_json = "1.0.91" tokio = { version = "1.38.0", features = ["sync", "rt"] } +nix = "0.26.2" +thiserror = "1.0.38" # Cloud Hypervisor public HTTP API functions # Note that the version specified is not necessarily the version of CH @@ -21,7 +23,6 @@ tokio = { version = "1.38.0", features = ["sync", "rt"] } # which is relatively static. api_client = { git = "https://github.com/cloud-hypervisor/cloud-hypervisor", crate = "api_client", tag = "v27.0" } -kata-types = { path = "../../../../libs/kata-types"} -kata-sys-util = { path = "../../../../libs/kata-sys-util"} -nix = "0.26.2" -thiserror = "1.0.38" +# Local dependencies +kata-types = { workspace = true } +kata-sys-util = { workspace = true } diff --git a/src/runtime-rs/crates/persist/Cargo.toml b/src/runtime-rs/crates/persist/Cargo.toml index 2454802473..896bbac9a3 100644 --- a/src/runtime-rs/crates/persist/Cargo.toml +++ b/src/runtime-rs/crates/persist/Cargo.toml @@ -8,10 +8,12 @@ license = "Apache-2.0" [dependencies] async-trait = "0.1.48" anyhow = "^1.0" -kata-sys-util = { path = "../../../libs/kata-sys-util"} -kata-types = { path = "../../../libs/kata-types" } -shim-interface = { path = "../../../libs/shim-interface" } libc = "0.2" serde = { version = "1.0.138", features = ["derive"] } serde_json = "1.0.82" -safe-path = { path = "../../../libs/safe-path"} + +# Local dependencies +kata-sys-util = { workspace = true } +kata-types = { workspace = true } +shim-interface = { workspace = true } +safe-path = { workspace = true } diff --git a/src/runtime-rs/crates/resource/Cargo.toml b/src/runtime-rs/crates/resource/Cargo.toml index a8d750dcf1..3af45f9f38 100644 --- a/src/runtime-rs/crates/resource/Cargo.toml +++ b/src/runtime-rs/crates/resource/Cargo.toml @@ -6,9 +6,11 @@ edition = "2018" license = "Apache-2.0" [dev-dependencies] -test-utils = { path = "../../../libs/test-utils" } tempfile = "3.2.0" +# Local dev-dependencies +test-utils = { workspace = true } + [dependencies] anyhow = "^1.0" actix-rt = "2.7.0" @@ -33,14 +35,15 @@ slog-scope = "4.4.0" tokio = { version = "1.38.0", features = ["process"] } tracing = "0.1.36" uuid = { version = "0.4", features = ["v4"] } - -agent = { path = "../agent" } -hypervisor = { path = "../hypervisor" } -kata-types = { path = "../../../libs/kata-types" } -kata-sys-util = { path = "../../../libs/kata-sys-util" } -logging = { path = "../../../libs/logging" } oci-spec = { version = "0.6.8", features = ["runtime"] } -persist = { path = "../persist"} -tests_utils = { path = "../../tests/utils" } + +# Local dependencies +agent = { workspace = true } +hypervisor = { workspace = true } +kata-types = { workspace = true } +kata-sys-util = { workspace = true } +logging = { workspace = true } +persist = { workspace = true } +tests_utils = { workspace = true } [features] diff --git a/src/runtime-rs/crates/runtimes/Cargo.toml b/src/runtime-rs/crates/runtimes/Cargo.toml index 1f1bd04176..689a431b30 100644 --- a/src/runtime-rs/crates/runtimes/Cargo.toml +++ b/src/runtime-rs/crates/runtimes/Cargo.toml @@ -24,23 +24,24 @@ nix = "0.25.0" url = "2.3.1" procfs = "0.12.0" prometheus = { version = "0.13.0", features = ["process"] } - -agent = { path = "../agent" } -common = { path = "./common" } -kata-types = { path = "../../../libs/kata-types" } -kata-sys-util = { path = "../../../libs/kata-sys-util" } -logging = { path = "../../../libs/logging"} -runtime-spec = { path = "../../../libs/runtime-spec" } oci-spec = { version = "0.6.8", features = ["runtime"] } -shim-interface = { path = "../../../libs/shim-interface" } -persist = { path = "../persist" } -hypervisor = { path = "../hypervisor" } -resource = { path = "../resource" } -# runtime handler -linux_container = { path = "./linux_container", optional = true } -virt_container = { path = "./virt_container", optional = true } -wasm_container = { path = "./wasm_container", optional = true } +# Local dependencies +agent = { workspace = true } +common = { workspace = true } +kata-types = { workspace = true } +kata-sys-util = { workspace = true } +logging = { workspace = true } +runtime-spec = { workspace = true } +shim-interface = { workspace = true } +persist = { workspace = true } +hypervisor = { workspace = true } +resource = { workspace = true } + +# Local dependencies: runtime handler +linux_container = { workspace = true, optional = true } +virt_container = { workspace = true, optional = true } +wasm_container = { workspace = true, optional = true } [features] default = ["virt"] diff --git a/src/runtime-rs/crates/runtimes/common/Cargo.toml b/src/runtime-rs/crates/runtimes/common/Cargo.toml index 55414c9950..5ca6117694 100644 --- a/src/runtime-rs/crates/runtimes/common/Cargo.toml +++ b/src/runtime-rs/crates/runtimes/common/Cargo.toml @@ -21,11 +21,13 @@ strum = { version = "0.24.0", features = ["derive"] } thiserror = "^1.0" tokio = { version = "1.38.0", features = ["rt-multi-thread", "process", "fs"] } ttrpc = "0.8.4" -persist = { path = "../../persist" } -agent = { path = "../../agent" } -kata-sys-util = { path = "../../../../libs/kata-sys-util" } -kata-types = { path = "../../../../libs/kata-types" } -runtime-spec = { path = "../../../../libs/runtime-spec" } oci-spec = { version = "0.6.8", features = ["runtime"] } -resource = { path = "../../resource" } -protocols = { path = "../../../../libs/protocols"} + +# Local dependencies +persist = { workspace = true } +agent = { workspace = true } +kata-sys-util = { workspace = true } +kata-types = { workspace = true } +runtime-spec = { workspace = true } +resource = { workspace = true } +protocols = { workspace = true } diff --git a/src/runtime-rs/crates/runtimes/linux_container/Cargo.toml b/src/runtime-rs/crates/runtimes/linux_container/Cargo.toml index 235087a712..24464f5299 100644 --- a/src/runtime-rs/crates/runtimes/linux_container/Cargo.toml +++ b/src/runtime-rs/crates/runtimes/linux_container/Cargo.toml @@ -9,6 +9,7 @@ anyhow = "^1.0" async-trait = "0.1.48" tokio = { version = "1.38.0" } -common = { path = "../common" } -kata-types = { path = "../../../../libs/kata-types" } -resource = { path = "../../resource" } +# Local dependencies +common = { workspace = true } +kata-types = { workspace = true } +resource = { workspace = true } diff --git a/src/runtime-rs/crates/runtimes/virt_container/Cargo.toml b/src/runtime-rs/crates/runtimes/virt_container/Cargo.toml index a2e47e16f7..53bc70c5e6 100644 --- a/src/runtime-rs/crates/runtimes/virt_container/Cargo.toml +++ b/src/runtime-rs/crates/runtimes/virt_container/Cargo.toml @@ -26,19 +26,20 @@ toml = "0.4.2" url = "2.1.1" async-std = "1.12.0" tracing = "0.1.36" - -agent = { path = "../../agent" } -common = { path = "../common" } -hypervisor = { path = "../../hypervisor", features = ["cloud-hypervisor"] } -kata-sys-util = { path = "../../../../libs/kata-sys-util" } -kata-types = { path = "../../../../libs/kata-types" } -logging = { path = "../../../../libs/logging"} -runtime-spec = { path = "../../../../libs/runtime-spec" } oci-spec = { version = "0.6.8", features = ["runtime"] } -persist = { path = "../../persist"} -resource = { path = "../../resource" } strum = { version = "0.24.0", features = ["derive"] } +# Local dependencies +agent = { workspace = true } +common = { workspace = true } +hypervisor = { workspace = true, features = ["cloud-hypervisor"] } +kata-sys-util = { workspace = true } +kata-types = { workspace = true } +logging = { workspace = true } +runtime-spec = { workspace = true } +persist = { workspace = true } +resource = { workspace = true } + [features] default = ["cloud-hypervisor"] diff --git a/src/runtime-rs/crates/runtimes/wasm_container/Cargo.toml b/src/runtime-rs/crates/runtimes/wasm_container/Cargo.toml index 4775b5a727..c221fa4044 100644 --- a/src/runtime-rs/crates/runtimes/wasm_container/Cargo.toml +++ b/src/runtime-rs/crates/runtimes/wasm_container/Cargo.toml @@ -9,6 +9,7 @@ anyhow = "^1.0" async-trait = "0.1.48" tokio = { version = "1.38.0" } -common = { path = "../common" } -kata-types = { path = "../../../../libs/kata-types" } -resource = { path = "../../resource" } +# Local dependencies +common = { workspace = true } +kata-types = { workspace = true } +resource = { workspace = true } diff --git a/src/runtime-rs/crates/service/Cargo.toml b/src/runtime-rs/crates/service/Cargo.toml index 03caee1740..18ef74e4b5 100644 --- a/src/runtime-rs/crates/service/Cargo.toml +++ b/src/runtime-rs/crates/service/Cargo.toml @@ -13,11 +13,12 @@ slog-scope = "4.4.0" tokio = { version = "1.38.0", features = ["rt-multi-thread"] } tracing = "0.1.36" ttrpc = "0.8.4" - -common = { path = "../runtimes/common" } containerd-shim-protos = { version = "0.6.0", features = ["async", "sandbox"] } containerd-shim = { version = "0.6.0", features = ["async"] } -logging = { path = "../../../libs/logging" } -kata-types = { path = "../../../libs/kata-types" } -runtimes = { path = "../runtimes" } -persist = { path = "../persist" } + +# Local dependencies +common = { workspace = true } +logging = { workspace = true } +kata-types = { workspace = true } +runtimes = { workspace = true } +persist = { workspace = true } diff --git a/src/runtime-rs/crates/shim-ctl/Cargo.toml b/src/runtime-rs/crates/shim-ctl/Cargo.toml index c1d05f4dc9..3417ee7fe2 100644 --- a/src/runtime-rs/crates/shim-ctl/Cargo.toml +++ b/src/runtime-rs/crates/shim-ctl/Cargo.toml @@ -7,8 +7,9 @@ edition = "2021" [dependencies] anyhow = "^1.0" -common = { path = "../runtimes/common" } -logging = { path = "../../../libs/logging"} -runtimes = { path = "../runtimes" } tokio = { version = "1.38.0", features = [ "rt", "rt-multi-thread" ] } +# Local dependencies +common = { workspace = true } +logging = { workspace = true } +runtimes = { workspace = true } diff --git a/src/runtime-rs/crates/shim/Cargo.toml b/src/runtime-rs/crates/shim/Cargo.toml index e5adf3f151..7d444b3668 100644 --- a/src/runtime-rs/crates/shim/Cargo.toml +++ b/src/runtime-rs/crates/shim/Cargo.toml @@ -31,17 +31,20 @@ tokio = { version = "1.38.0", features = [ "rt", "rt-multi-thread" ] } unix_socket2 = "0.5.4" tracing = "0.1.36" tracing-opentelemetry = "0.18.0" - -kata-types = { path = "../../../libs/kata-types"} -kata-sys-util = { path = "../../../libs/kata-sys-util"} -logging = { path = "../../../libs/logging"} -runtime-spec = { path = "../../../libs/runtime-spec" } oci-spec = { version = "0.6.8", features = ["runtime"] } -service = { path = "../service" } -runtimes = { path = "../runtimes" } + +# Local dependencies +kata-types = { workspace = true } +kata-sys-util = { workspace = true } +logging = { workspace = true } +runtime-spec = { workspace = true } +service = { workspace = true } +runtimes = { workspace = true } [dev-dependencies] tempfile = "3.2.0" rand = "0.8.4" serial_test = "0.5.1" -tests_utils = { path = "../../tests/utils"} + +# Local dev-dependencies +tests_utils = { workspace = true } diff --git a/src/runtime-rs/tests/utils/Cargo.toml b/src/runtime-rs/tests/utils/Cargo.toml index d35892da5d..6b11267102 100644 --- a/src/runtime-rs/tests/utils/Cargo.toml +++ b/src/runtime-rs/tests/utils/Cargo.toml @@ -10,4 +10,6 @@ license = "Apache-2.0" [dependencies] anyhow = "^1.0" rand = "0.8.4" -kata-types = { path = "../../../libs/kata-types" } + +# Local dependencies +kata-types = { workspace = true }