pub struct SovereignDistribution {
pub name: String,
pub version: String,
pub platforms: Vec<String>,
pub artifacts: Vec<SovereignArtifact>,
pub signatures: Vec<ArtifactSignature>,
pub offline_registry: Option<OfflineRegistryConfig>,
pub nix_flake_hash: Option<String>,
}Expand description
Sovereign distribution manifest for air-gapped deployments
Fields§
§name: StringDistribution name
version: StringVersion
platforms: Vec<String>Target platforms
artifacts: Vec<SovereignArtifact>Required artifacts
signatures: Vec<ArtifactSignature>Cryptographic signatures
offline_registry: Option<OfflineRegistryConfig>Offline registry configuration
nix_flake_hash: Option<String>Nix flake hash for reproducibility
Implementations§
Source§impl SovereignDistribution
impl SovereignDistribution
Sourcepub fn new(name: impl Into<String>, version: impl Into<String>) -> Self
pub fn new(name: impl Into<String>, version: impl Into<String>) -> Self
Create a new sovereign distribution
Sourcepub fn add_platform(&mut self, platform: impl Into<String>)
pub fn add_platform(&mut self, platform: impl Into<String>)
Add a platform target
Sourcepub fn add_artifact(&mut self, artifact: SovereignArtifact)
pub fn add_artifact(&mut self, artifact: SovereignArtifact)
Add an artifact
Sourcepub fn validate_signatures(&self) -> Result<(), ExperimentError>
pub fn validate_signatures(&self) -> Result<(), ExperimentError>
Validate all artifacts have signatures
Sourcepub fn total_size_bytes(&self) -> u64
pub fn total_size_bytes(&self) -> u64
Calculate total distribution size
Trait Implementations§
Source§impl Clone for SovereignDistribution
impl Clone for SovereignDistribution
Source§fn clone(&self) -> SovereignDistribution
fn clone(&self) -> SovereignDistribution
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SovereignDistribution
impl Debug for SovereignDistribution
Source§impl<'de> Deserialize<'de> for SovereignDistribution
impl<'de> Deserialize<'de> for SovereignDistribution
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 SovereignDistribution
impl RefUnwindSafe for SovereignDistribution
impl Send for SovereignDistribution
impl Sync for SovereignDistribution
impl Unpin for SovereignDistribution
impl UnwindSafe for SovereignDistribution
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)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