pub struct TaskAuthorityConfigV1 {
pub schema_version: u32,
pub peers: Vec<TaskPeerTrustV1>,
pub grants: Vec<TaskCapabilityGrantV1>,
}Fields§
§schema_version: u32§peers: Vec<TaskPeerTrustV1>§grants: Vec<TaskCapabilityGrantV1>Implementations§
Source§impl TaskAuthorityConfigV1
impl TaskAuthorityConfigV1
Sourcepub fn from_file(path: &Path) -> Result<Self, String>
pub fn from_file(path: &Path) -> Result<Self, String>
Load and fully validate the same bounded policy used by the receiver.
Sourcepub fn from_json(raw: &str) -> Result<Self, String>
pub fn from_json(raw: &str) -> Result<Self, String>
Parse a configured trust policy from JSON, rejecting anything that is not fully valid. Trust configuration is authority, so a partially understood policy is never loaded.
Sourcepub fn validate(&self) -> Result<(), TaskAuthorityError>
pub fn validate(&self) -> Result<(), TaskAuthorityError>
Validate every trust entry, its bounds, and cross-references.
Fails closed on duplicate key or grant identifiers: a duplicate makes the effective authority depend on lookup order rather than on the operator’s intent, and a revoked duplicate could be shadowed by an active one.
Reject a policy whose Ed25519 authority material reuses a bearer token or the HMAC channel secret. Channel integrity and task authority are separate trust domains; sharing one secret across both would let any holder of the channel secret mint task authority.
Trait Implementations§
Source§impl Clone for TaskAuthorityConfigV1
impl Clone for TaskAuthorityConfigV1
Source§impl Debug for TaskAuthorityConfigV1
impl Debug for TaskAuthorityConfigV1
Source§impl Default for TaskAuthorityConfigV1
impl Default for TaskAuthorityConfigV1
Source§impl<'de> Deserialize<'de> for TaskAuthorityConfigV1
impl<'de> Deserialize<'de> for TaskAuthorityConfigV1
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 TaskAuthorityConfigV1
Source§impl PartialEq for TaskAuthorityConfigV1
impl PartialEq for TaskAuthorityConfigV1
Source§impl Serialize for TaskAuthorityConfigV1
impl Serialize for TaskAuthorityConfigV1
impl StructuralPartialEq for TaskAuthorityConfigV1
Auto Trait Implementations§
impl Forget for TaskAuthorityConfigV1
impl Freeze for TaskAuthorityConfigV1
impl Move for TaskAuthorityConfigV1
impl RefUnwindSafe for TaskAuthorityConfigV1
impl Send for TaskAuthorityConfigV1
impl Sync for TaskAuthorityConfigV1
impl Unpin for TaskAuthorityConfigV1
impl UnsafeUnpin for TaskAuthorityConfigV1
impl UnwindSafe for TaskAuthorityConfigV1
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
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<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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> ⓘ
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