mirror of
https://github.com/kata-containers/kata-containers.git
synced 2026-07-26 15:55:24 +00:00
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>
57 lines
1.4 KiB
TOML
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
|