pub struct ProviderPin {
pub blake3: String,
pub version: String,
pub closure_blake3: Option<String>,
}Expand description
The rules-pinned expectations for one provider role: what the jailed worker re-asserts about the executable a deployment supplies for it, immediately before every execution.
Fields§
§blake3: StringExpected lowercase hex BLAKE3 of the executable’s bytes.
version: StringExact version string the executable must report. Compared for equality against a token of its own version output; the raw output never leaves the worker.
closure_blake3: Option<String>Aggregate closure digest over the role’s enumerated closure: for each entry, the sorted relative path and BLAKE3 of every regular file under it with the pinned launcher excluded, a symlink by the target it names, then the sorted per-entry digests combined. Every regular file counts, not only the executables, because a policy file or a resource decides behavior as much as code does. Asserted before every execution beside the launcher hash, so a dependency that drifts while the launcher stands still is refused. Required for any role whose configuration enumerates a closure.
Trait Implementations§
Source§impl Clone for ProviderPin
impl Clone for ProviderPin
Source§impl Debug for ProviderPin
impl Debug for ProviderPin
Source§impl<'de> Deserialize<'de> for ProviderPin
impl<'de> Deserialize<'de> for ProviderPin
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>,
impl Eq for ProviderPin
Source§impl PartialEq for ProviderPin
impl PartialEq for ProviderPin
Source§impl Serialize for ProviderPin
impl Serialize for ProviderPin
impl StructuralPartialEq for ProviderPin
Auto Trait Implementations§
impl Freeze for ProviderPin
impl RefUnwindSafe for ProviderPin
impl Send for ProviderPin
impl Sync for ProviderPin
impl Unpin for ProviderPin
impl UnsafeUnpin for ProviderPin
impl UnwindSafe for ProviderPin
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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