pub struct ReleaseRecord {
pub schema_version: u32,
pub gateway: String,
pub project: String,
pub release: String,
pub artifact_sha256: String,
pub run_id: String,
pub deployed_at: String,
}Expand description
What the last ign deploy of one project on one gateway left on the host
(ign-deploy/<gateway>/projects/<project>/release.json, V5). Later runners
read it for the downgrade gate (D-03), the first-deploy gate (D-12) and the
live-drift warning (K13), so it is parsed as strictly as the ledger: a
record that cannot be trusted refuses, it is never read as absent.
Fields§
§schema_version: u32Always 1.
gateway: StringThe gateway directory name the record belongs to (the target’s
gateway).
project: StringThe gateway project name.
release: StringThe release tag that was deployed, as given.
artifact_sha256: StringCanonical sha256 of the artifact that was deployed: 64 lowercase hex.
run_id: StringThe run that wrote the record: [A-Za-z0-9._-]{1,128}.
deployed_at: StringWhen the record was written, UTC (informational; never compared).
Implementations§
Source§impl ReleaseRecord
impl ReleaseRecord
Sourcepub fn parse(
bytes: &[u8],
location: &str,
gateway: &str,
project: &str,
) -> Result<ReleaseRecord, CoreError>
pub fn parse( bytes: &[u8], location: &str, gateway: &str, project: &str, ) -> Result<ReleaseRecord, CoreError>
Parse and validate bytes read from location, for gateway and
project. Every refusal is CoreError::DeployRunInvalid naming
location; the problem text names fields and never echoes a value the
file holds.
Trait Implementations§
Source§impl Clone for ReleaseRecord
impl Clone for ReleaseRecord
Source§impl Debug for ReleaseRecord
impl Debug for ReleaseRecord
Source§impl<'de> Deserialize<'de> for ReleaseRecord
impl<'de> Deserialize<'de> for ReleaseRecord
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 ReleaseRecord
Source§impl PartialEq for ReleaseRecord
impl PartialEq for ReleaseRecord
Source§impl Serialize for ReleaseRecord
impl Serialize for ReleaseRecord
impl StructuralPartialEq for ReleaseRecord
Auto Trait Implementations§
impl Forget for ReleaseRecord
impl Freeze for ReleaseRecord
impl Move for ReleaseRecord
impl RefUnwindSafe for ReleaseRecord
impl Send for ReleaseRecord
impl Sync for ReleaseRecord
impl Unpin for ReleaseRecord
impl UnsafeUnpin for ReleaseRecord
impl UnwindSafe for ReleaseRecord
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§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.