Files
kata-containers/tools/packaging/kata-deploy/binary/Cargo.toml
Manuel Huber 5b8d089e52 kata-deploy: validate erofs prerequisites
Extend the kata-deploy host-check stage with EROFS-specific
prerequisite validation.

Check that containerd supports the EROFS snapshotter, required
kernel features are available either as loaded modules or built-in
kernel configuration, and the host erofs-utils version satisfies the
minimum required by kata-deploy's configured mkfs options. Also warn
when kubelet runtimeRequestTimeout appears too low for EROFS layer
conversion, which can run during CreateContainer.

Read kubelet runtimeRequestTimeout from kubelet /configz through the
apiserver node proxy, and add the corresponding RBAC permission. Keep
fs-verity validation warning-only because user drop-ins may override
kata-deploy's default enable_fsverity setting and kata-deploy does
not yet validate the backing filesystem's fs-verity feature.

Signed-off-by: Manuel Huber <manuelh@nvidia.com>
Assisted-by: OpenAI <support@openai.com>
2026-07-16 17:53:36 +00:00

57 lines
1.4 KiB
TOML

[package]
name = "kata-deploy"
version = "0.1.0"
authors.workspace = true
edition = "2021"
license.workspace = true
rust-version.workspace = true
[[bin]]
name = "kata-deploy"
path = "src/main.rs"
[dependencies]
anyhow.workspace = true
clap.workspace = true
env_logger = "0.10"
humantime = "2.1.0"
k8s-openapi = { version = "0.26", default-features = false, features = [
"v1_33",
] }
# kata-deploy doesn't use kube::runtime (controllers/watchers/reflectors) or
# kube::derive (the CustomResource macro). Skipping those features keeps the
# binary smaller and trims the static data segment that gets mapped into RSS.
#
# `ring` matches kube's own default crypto provider for rustls 0.23+ and
# must stay enabled — without it, rustls panics at runtime with
# "Could not automatically determine the process-level CryptoProvider".
kube = { version = "2.0", default-features = false, features = [
"client",
"rustls-tls",
"ring",
] }
libc.workspace = true
log.workspace = true
regex.workspace = true
semver.workspace = true
serde_json.workspace = true
serde_yaml = "0.9"
tar = "0.4.46"
tokio = { workspace = true, features = [
"rt-multi-thread",
"macros",
"signal",
"sync",
"time",
"net",
"io-util",
] }
toml_edit = "0.22"
walkdir = "2"
zstd = "0.13.3"
[dev-dependencies]
rstest.workspace = true
serial_test.workspace = true
tempfile.workspace = true