pub struct ProviderRole {
pub path: PathBuf,
pub closure_roots: Vec<PathBuf>,
pub jail_service_prefix: Option<String>,
pub jail_temp_env: Option<String>,
}Expand description
One configured role: the deployment’s path and the jail parameters its runtime needs. Everything the worker asserts about the file comes from the rules, never from here.
Fields§
§path: PathBufAbsolute path of the executable filling this role. Deployment data: it never enters the versioned rules, a manifest record, an error message, or the effective rules version.
closure_roots: Vec<PathBuf>The closure this role additionally needs to read and execute, enumerated: the helper and framework tree beside a launcher, or the specific library directories and files an encoder loads. Each entry is granted as its own subpath in the provider jail, so a directory grants its subtree and a file grants itself.
Enumerate the measured dependencies, never a package store or any other shared root: everything under an entry is readable and executable inside the jail, and a shared root would put every unrelated package, and every other version of this one, inside the boundary. The rules-pinned aggregate digest over these entries is the integrity control that stands in for finer granularity, and it is required whenever this list is non-empty.
jail_service_prefix: Option<String>The service namespace the provider jail scopes registration to,
when the role’s runtime registers any. Deployment data, because
the namespace names the installed product. Its shape is a closed
grammar, not a free expression: see is_service_namespace.
jail_temp_env: Option<String>Name of an additional environment variable the worker points at the jail’s temp directory, when the role’s runtime reads one. Deployment data for the same reason, and a bounded identifier.
Trait Implementations§
Source§impl Clone for ProviderRole
impl Clone for ProviderRole
Source§impl Debug for ProviderRole
impl Debug for ProviderRole
Source§impl<'de> Deserialize<'de> for ProviderRole
impl<'de> Deserialize<'de> for ProviderRole
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>,
Auto Trait Implementations§
impl Freeze for ProviderRole
impl RefUnwindSafe for ProviderRole
impl Send for ProviderRole
impl Sync for ProviderRole
impl Unpin for ProviderRole
impl UnsafeUnpin for ProviderRole
impl UnwindSafe for ProviderRole
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
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> 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> ⓘ
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> ⓘ
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