1
0
mirror of https://github.com/containers/youki synced 2024-11-23 17:32:15 +01:00
youki/crates/libcontainer
Eric Fang 5f3f4ce82f
move the validation logic into executor (#2258)
* move the validation logic into executor

To allow more flexibility for the executor, we move the validate logic into the executor.
The validate runs in the `create` step before workloads are executed.
Instead of implementing the validation in the `exec`, to maintain
backward competiability, we have to introduce an extra step. The exec is
too late to fail if the spec is not validated.

Signed-off-by: yihuaf <yihuaf@unkies.org>

* Update the migration guide

Signed-off-by: yihuaf <yihuaf@unkies.org>

* Add a comment explaining when the validate step runs.

Signed-off-by: yihuaf <yihuaf@unkies.org>

* Implement different error types for validate

Signed-off-by: yihuaf <yihuaf@unkies.org>

---------

Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-08-22 21:59:15 +09:00
..
src move the validation logic into executor (#2258) 2023-08-22 21:59:15 +09:00
Cargo.toml chore(deps): bump thiserror from 1.0.46 to 1.0.47 2023-08-18 01:02:24 +00:00
README.md

libcontainer

Building with musl

In order to build with musl you must first remove the libseccomp dependency as it will reference shared libraries (libdbus and libseccomp) which cannot be built with musl.

Do this by using adding flags to Cargo. Use the --no-default-features flag followed by -F and whatever features you intend to build with such as v2 as defined in Cargo.toml under features section.

Next you will also need the +nightly flags when building with rustup and cargo.

# Add rustup +nightly musl to toolchain
rustup +nightly target add $(uname -m)-unknown-linux-musl

# Build rustup +nightly stdlib with musl
rustup +nightly toolchain install nightly-$(uname -m)-unknown-linux-musl

# Build musl standard library
cargo +nightly build -Zbuild-std --target $(uname -m)-unknown-linux-musl --no-default-features -F v2

cargo +nightly build --target $(uname -m)-unknown-linux-musl --no-default-features -F v2