pub struct StagedUpgradeJson {Show 15 fields
pub id: Uuid,
pub enclave_id: Uuid,
pub status: StagedUpgradeStatus,
pub docker_image: String,
pub image_digest: Option<String>,
pub pcrs: Option<PcrsHex>,
pub valid_from: Option<DateTime<Utc>>,
pub upgrade_link_id: Option<Uuid>,
pub revocation_link_id: Option<Uuid>,
pub error_message: Option<String>,
pub builder_rev: Option<String>,
pub crates_rev: Option<String>,
pub synchronizer_pcrs: Option<Vec<PcrsHex>>,
pub synchronizer_enabled: bool,
pub created_at: DateTime<Utc>,
}Expand description
API-facing representation of a staged upgrade. Returned by the backend on creation and on every subsequent status poll. Consumed by the CLI for display and by SDK consumers for programmatic workflows.
§Field notes
image_digest: not available whilestatus == Building; the backend fills it in once the EIF build completes.pcrs: not available whilestatus == Building.valid_from: chosen and signed into the upgrade-auth payload at confirm time;Noneuntilstatus == Confirmed.upgrade_link_id: the chain entry UUID of theUpgradelink the running enclave emitted. Set oncestatus == Confirmed.revocation_link_id: set only whenstatus == Revoked.error_message: non-empty only onstatus == Failed.
Fields§
§id: UuidBackend-assigned UUID for this upgrade record.
enclave_id: UuidUUID of the enclave this upgrade targets.
status: StagedUpgradeStatusCurrent lifecycle status.
docker_image: StringDocker image reference (as supplied at creation, e.g.
<registry>/<owner>/<repo>:<tag>).
image_digest: Option<String>Manifest digest of the built image. None while status == Building.
pcrs: Option<PcrsHex>PCR0/1/2 for the new EIF. None while status == Building.
valid_from: Option<DateTime<Utc>>Wall-clock time after which the new enclave version may launch.
None until the operator confirms (it is chosen at confirm time).
upgrade_link_id: Option<Uuid>Chain entry UUID of the Upgrade link emitted by the running enclave.
None until the enclave acknowledges the PrepareUpgrade dispatched
at confirm time.
revocation_link_id: Option<Uuid>Chain entry UUID of the Revocation link, set only when status == Revoked.
error_message: Option<String>Human-readable error details. Non-empty only on status == Failed.
builder_rev: Option<String>Git rev of the builder flake input the backend was running when
it built this upgrade’s EIF. Recorded alongside pcrs when the
build completes, mirroring the genesis enclaves.builder_rev
stamping. Lets enclavia reproduce --upgrade <id> pin the local
rebuild to the exact sources, so a superseded version stays
deterministically reproducible. None on rows staged before this
field existed, or whose build never completed.
crates_rev: Option<String>Git rev of the enclavia flake input. Same null semantics as
builder_rev.
synchronizer_pcrs: Option<Vec<PcrsHex>>Synchronizer trust anchors baked into this upgrade’s EIF (the
exact expected_pcrs list the backend passed to the builder via
--synchronizer-pcrs). Recorded alongside pcrs when the build
completes so enclavia reproduce --upgrade <id> can inject the
EXACT anchor set the original build used; old images stay
reproducible after a cluster rotation. None on rows staged
before this field existed or built without the synchronizer
wiring.
synchronizer_enabled: boolWhether --synchronizer-enabled was passed to the builder for
this EIF (synchronizer.enabled = true in the measured config:
the in-enclave anti-rollback wiring is on). false on rows
staged before this field existed or built without the wiring.
created_at: DateTime<Utc>Wall-clock time this upgrade record was created.
Trait Implementations§
Source§impl Clone for StagedUpgradeJson
impl Clone for StagedUpgradeJson
Source§fn clone(&self) -> StagedUpgradeJson
fn clone(&self) -> StagedUpgradeJson
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more