kata-ctl: Move into root workspace

Add kata-ctl to be a workspace member to simplify the
dependency management.

Assisted-by: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
This commit is contained in:
stevenhorsman
2026-04-29 12:11:43 +01:00
parent 1e6c54cbcf
commit efe62c9280
6 changed files with 227 additions and 5680 deletions

198
Cargo.lock generated
View File

@@ -653,6 +653,9 @@ name = "bitflags"
version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
dependencies = [
"serde_core",
]
[[package]]
name = "bitmask-enum"
@@ -1329,6 +1332,27 @@ dependencies = [
"subtle",
]
[[package]]
name = "csv"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938"
dependencies = [
"csv-core",
"itoa",
"ryu",
"serde_core",
]
[[package]]
name = "csv-core"
version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782"
dependencies = [
"memchr",
]
[[package]]
name = "darling"
version = "0.20.11"
@@ -2840,6 +2864,7 @@ dependencies = [
"tokio",
"tokio-rustls",
"tower-service",
"webpki-roots",
]
[[package]]
@@ -3115,6 +3140,7 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
dependencies = [
"autocfg",
"hashbrown 0.12.3",
"serde",
]
[[package]]
@@ -3483,7 +3509,7 @@ dependencies = [
"protobuf",
"protocols",
"regex",
"rstest",
"rstest 0.18.2",
"rtnetlink 0.14.1",
"runtime-spec",
"rustjail",
@@ -3532,6 +3558,55 @@ dependencies = [
"tokio",
]
[[package]]
name = "kata-ctl"
version = "0.0.1"
dependencies = [
"agent",
"anyhow",
"base64 0.13.1",
"chrono",
"clap",
"csv",
"epoll",
"futures",
"hyper 0.14.32",
"kata-sys-util",
"kata-types",
"lazy_static",
"libc",
"logging",
"micro_http",
"nix 0.25.1",
"privdrop",
"procfs 0.12.0",
"prometheus",
"quick-xml",
"reqwest 0.12.28",
"ron",
"rstest 0.26.1",
"semver",
"serde",
"serde_json",
"serde_with",
"serde_yaml 0.9.34+deprecated",
"serial_test 0.10.0",
"shim-interface",
"slog",
"slog-scope",
"strum 0.24.1",
"strum_macros 0.24.3",
"sys-info",
"tempfile",
"test-utils",
"thiserror 1.0.69",
"tokio",
"toml",
"url",
"virt_container",
"vmm-sys-util 0.15.0",
]
[[package]]
name = "kata-deploy"
version = "0.1.0"
@@ -3544,7 +3619,7 @@ dependencies = [
"libc",
"log",
"regex",
"rstest",
"rstest 0.18.2",
"serde_json",
"serde_yaml 0.9.34+deprecated",
"serial_test 0.10.0",
@@ -3570,7 +3645,7 @@ dependencies = [
"oci-spec 0.8.4",
"pci-ids",
"rand 0.10.1",
"rstest",
"rstest 0.18.2",
"runtime-spec",
"serde",
"serde_json",
@@ -3616,7 +3691,7 @@ dependencies = [
"num_cpus",
"oci-spec 0.8.4",
"regex",
"rstest",
"rstest 0.18.2",
"safe-path 0.1.0",
"serde",
"serde-enum-str",
@@ -4034,6 +4109,15 @@ dependencies = [
"autocfg",
]
[[package]]
name = "micro_http"
version = "0.1.0"
source = "git+https://github.com/firecracker-microvm/micro-http?rev=5c2254d6cf4f32a668d0d8e57ba20bebad9d4fba#5c2254d6cf4f32a668d0d8e57ba20bebad9d4fba"
dependencies = [
"libc",
"vmm-sys-util 0.15.0",
]
[[package]]
name = "mime"
version = "0.3.17"
@@ -5718,6 +5802,16 @@ dependencies = [
"serde_json",
]
[[package]]
name = "quick-xml"
version = "0.28.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1"
dependencies = [
"memchr",
"serde",
]
[[package]]
name = "quinn"
version = "0.11.9"
@@ -6075,6 +6169,8 @@ dependencies = [
"native-tls",
"percent-encoding",
"pin-project-lite",
"quinn",
"rustls",
"rustls-pki-types",
"serde",
"serde_json",
@@ -6082,6 +6178,7 @@ dependencies = [
"sync_wrapper 1.0.2",
"tokio",
"tokio-native-tls",
"tokio-rustls",
"tower 0.5.3",
"tower-http",
"tower-service",
@@ -6089,6 +6186,7 @@ dependencies = [
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
"webpki-roots",
]
[[package]]
@@ -6158,7 +6256,7 @@ dependencies = [
"oci-spec 0.8.4",
"persist",
"rand 0.10.1",
"rstest",
"rstest 0.18.2",
"rtnetlink 0.19.0",
"scopeguard",
"serde",
@@ -6235,6 +6333,18 @@ dependencies = [
"libc",
]
[[package]]
name = "ron"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
dependencies = [
"base64 0.21.7",
"bitflags 2.11.0",
"serde",
"serde_derive",
]
[[package]]
name = "rstest"
version = "0.18.2"
@@ -6243,10 +6353,21 @@ checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199"
dependencies = [
"futures",
"futures-timer",
"rstest_macros",
"rstest_macros 0.18.2",
"rustc_version",
]
[[package]]
name = "rstest"
version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49"
dependencies = [
"futures-timer",
"futures-util",
"rstest_macros 0.26.1",
]
[[package]]
name = "rstest_macros"
version = "0.18.2"
@@ -6264,6 +6385,24 @@ dependencies = [
"unicode-ident",
]
[[package]]
name = "rstest_macros"
version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0"
dependencies = [
"cfg-if 1.0.4",
"glob",
"proc-macro-crate 3.5.0",
"proc-macro2",
"quote",
"regex",
"relative-path",
"rustc_version",
"syn 2.0.117",
"unicode-ident",
]
[[package]]
name = "rtnetlink"
version = "0.14.1"
@@ -6860,6 +6999,34 @@ dependencies = [
"serde",
]
[[package]]
name = "serde_with"
version = "2.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe"
dependencies = [
"base64 0.13.1",
"chrono",
"hex",
"indexmap 1.9.3",
"serde",
"serde_json",
"serde_with_macros",
"time",
]
[[package]]
name = "serde_with_macros"
version = "2.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f"
dependencies = [
"darling 0.20.11",
"proc-macro2",
"quote",
"syn 2.0.117",
]
[[package]]
name = "serde_yaml"
version = "0.8.26"
@@ -7382,6 +7549,16 @@ dependencies = [
"syn 2.0.117",
]
[[package]]
name = "sys-info"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b3a0d0aba8bf96a0e1ddfdc352fc53b3df7f39318c71854910c3c4b024ae52c"
dependencies = [
"cc",
"libc",
]
[[package]]
name = "sysctl"
version = "0.7.1"
@@ -8677,6 +8854,15 @@ dependencies = [
"rustls-pki-types",
]
[[package]]
name = "webpki-roots"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d"
dependencies = [
"rustls-pki-types",
]
[[package]]
name = "which"
version = "4.4.2"

View File

@@ -42,6 +42,9 @@ members = [
# genpolicy
"src/tools/genpolicy",
# kata-ctl
"src/tools/kata-ctl",
# trace-forwarder
"src/tools/trace-forwarder",

View File

@@ -25,6 +25,7 @@ allow = [
"BSD-2-Clause",
"BSD-3-Clause",
"CC0-1.0",
"CDLA-Permissive-2.0",
"ISC",
"MIT",
"MIT-0",

File diff suppressed because it is too large Load Diff

View File

@@ -3,52 +3,50 @@
# SPDX-License-Identifier: Apache-2.0
#
[workspace]
resolver = "2"
[package]
name = "kata-ctl"
version = "0.0.1"
authors = ["The Kata Containers community <kata-dev@lists.katacontainers.io>"]
edition = "2018"
authors.workspace = true
edition.workspace = true
license.workspace = true
[dependencies]
anyhow = "1.0.31"
clap = { version = "4.5.13", features = ["derive", "cargo"] }
serde_json = "1.0.85"
thiserror = "1.0.35"
anyhow.workspace = true
clap = { workspace = true, features = ["derive", "cargo"] }
serde_json.workspace = true
thiserror.workspace = true
privdrop = "0.5.2"
nix = "0.25.0"
strum = "0.24.1"
strum_macros = "0.24.3"
serde = { version = "1.0.149", features = ["derive"] }
url = "2.5.4"
futures = "0.3.24"
serde.workspace = true
url.workspace = true
futures.workspace = true
base64 = "0.13.0"
toml = "0.5.8"
toml.workspace = true
sys-info = "0.9.1"
shim-interface = { path = "../../libs/shim-interface" }
kata-types = { path = "../../libs/kata-types", features = ["safe-path"] }
kata-sys-util = { path = "../../../src/libs/kata-sys-util/" }
agent = { path = "../../runtime-rs/crates/agent" }
virt_container = { path = "../../runtime-rs/crates/runtimes/virt_container" }
serial_test = "0.10.0"
vmm-sys-util = "0.15.0"
shim-interface.workspace = true
kata-types.workspace = true
kata-sys-util.workspace = true
agent.workspace = true
virt_container.workspace = true
serial_test.workspace = true
vmm-sys-util.workspace = true
epoll = "4.0.1"
libc = "0.2.138"
libc.workspace = true
# Note: this crate sets the slog 'max_*' features which allows the log level
# to be modified at runtime.
logging = { path = "../../libs/logging" }
slog = "2.7.0"
slog-scope = "4.4.0"
hyper = "0.14.20"
tokio = { version = "1.44.2", features = ["signal"] }
logging.workspace = true
slog.workspace = true
slog-scope.workspace = true
hyper.workspace = true
tokio = { workspace = true, features = ["signal"] }
prometheus = { version = "0.14.0", features = ["process"] }
procfs = "0.12.0"
lazy_static = "1.2"
prometheus.workspace = true
procfs.workspace = true
lazy_static.workspace = true
# for log-parser
serde_yaml = "0.9"
@@ -75,9 +73,9 @@ reqwest = { version = "0.12", default-features = false, features = [
[dev-dependencies]
semver = "1.0.12"
tempfile = "3.19.1"
tempfile.workspace = true
nix = "0.25.0"
test-utils = { path = "../../libs/test-utils" }
test-utils.workspace = true
micro_http = { git = "https://github.com/firecracker-microvm/micro-http", rev = "5c2254d6cf4f32a668d0d8e57ba20bebad9d4fba" }
[package.metadata.cargo-machete]

View File

@@ -43,7 +43,7 @@ default: $(TARGET) build
$(TARGET): $(GENERATED_CODE)
build:
@RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo build --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES)
@RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo build -p kata-ctl --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES)
static-checks-build: $(GENERATED_CODE)
@@ -59,7 +59,7 @@ vendor:
cargo vendor
test: $(GENERATED_CODE)
@RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo test --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES) -- --nocapture
@RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo test -p kata-ctl --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES) -- --nocapture
install:
@RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo install --locked --target $(TRIPLE) --path . --root $(INSTALL_PATH)