pub struct StagedArtifact {
pub release: ReleaseId,
pub staged_path: PathBuf,
pub bundle: StagedBundle,
pub signed_bytes: Vec<u8>,
pub signature: Vec<u8>,
pub signer_public_key: Vec<u8>,
}Expand description
An update downloaded to a side location, before verification.
Holds everything the stager needs to verify and apply the release without
re-reading the source: the release identity, the side path it landed at
(never the live path), the StagedBundle it delivers, and the detached
ed25519 signature over signed_bytes under signer_public_key.
Fields§
§release: ReleaseIdWhich release this artifact is.
staged_path: PathBufThe side location the update was downloaded to — never the live path.
bundle: StagedBundleThe config-as-data bundle this artifact delivers, already classified
against the running runtime by crate::compat.
signed_bytes: Vec<u8>The canonical bytes the signature commits to.
signature: Vec<u8>The detached ed25519 signature over Self::signed_bytes.
signer_public_key: Vec<u8>The encoded public key the signature is expected to verify against.
Trait Implementations§
Source§impl Clone for StagedArtifact
impl Clone for StagedArtifact
Source§fn clone(&self) -> StagedArtifact
fn clone(&self) -> StagedArtifact
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for StagedArtifact
impl RefUnwindSafe for StagedArtifact
impl Send for StagedArtifact
impl Sync for StagedArtifact
impl Unpin for StagedArtifact
impl UnsafeUnpin for StagedArtifact
impl UnwindSafe for StagedArtifact
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,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request