pub struct ExecSectionConfig {
pub root: Option<String>,
pub read_roots: Vec<String>,
pub env: Vec<String>,
pub never: Vec<String>,
pub max_output_bytes: Option<u64>,
pub timeout_default_s: Option<f64>,
pub timeout_max_s: Option<f64>,
pub keep: bool,
pub limits: ExecLimitsConfig,
}Expand description
[exec] section (ADR-181): where runs materialize, what they may read,
which caller environment keys pass through, which executable paths the
never list matches, and the output caps, wall-clock defaults and resource
limits. never matches paths, not a program’s capabilities (ADR-181 A9).
[exec]
root = "/var/lib/khive/exec"
read_roots = ["/opt/toolchains/python3.11"]
env = ["SOURCE_DATE_EPOCH"]
# The never list matches resolved executable paths, not renamed copies.
never = ["/usr/bin/curl"]
max_output_bytes = 1048576
timeout_default_s = 30
timeout_max_s = 600
keep = false
[exec.limits]
cpu_seconds = 60
file_size = 104857600Fields§
§root: Option<String>§read_roots: Vec<String>§env: Vec<String>§never: Vec<String>§max_output_bytes: Option<u64>§timeout_default_s: Option<f64>§timeout_max_s: Option<f64>§keep: bool§limits: ExecLimitsConfigTrait Implementations§
Source§impl Clone for ExecSectionConfig
impl Clone for ExecSectionConfig
Source§impl Debug for ExecSectionConfig
impl Debug for ExecSectionConfig
Source§impl Default for ExecSectionConfig
impl Default for ExecSectionConfig
Source§impl<'de> Deserialize<'de> for ExecSectionConfig
impl<'de> Deserialize<'de> for ExecSectionConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ExecSectionConfig
impl RefUnwindSafe for ExecSectionConfig
impl Send for ExecSectionConfig
impl Sync for ExecSectionConfig
impl Unpin for ExecSectionConfig
impl UnsafeUnpin for ExecSectionConfig
impl UnwindSafe for ExecSectionConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more