#[non_exhaustive]pub enum LifecycleReason {
Oom,
TtlExceeded,
VmmCrashed,
BootFailed,
SignalKilled,
InitCrashed,
KernelCannotMountRoot,
Other(String),
}Expand description
FC-50 typed reason for dev.cellos.events.cell.lifecycle.v1.failed /
.destroyed payloads.
Replaces the free-form Option<&str> reason used by gap-markers in FC-23,
FC-52, FC-59, FC-60, FC-61, FC-63, FC-72 with a constrained set of audit-
stable codes. Each variant serializes to its snake_case form so the JSON
wire format is stable for downstream auditors. Other(String) is the
escape hatch for operator-supplied free-form reasons that have not yet
earned a dedicated variant; it serializes verbatim as the inner string.
The typed surface is non-exhaustive — adding a new variant is a
public-API change that requires schema updates on the
cell.lifecycle.v1.failed / .destroyed contracts. Downstream
matches outside this crate must include a wildcard arm; #[non_exhaustive]
is enforced by the compiler so silent breaks at variant-add time aren’t
possible.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Oom
Workload exceeded its memory limit (cgroup OOM kill or VMM-level OOM).
TtlExceeded
TTL watchdog fired before the workload completed.
VmmCrashed
VMM process exited unexpectedly (e.g. Firecracker crashed).
BootFailed
Kernel/init failed before reaching /sbin/init.
SignalKilled
Supervisor SIGKILLed the workload after the graceful-shutdown timeout elapsed.
InitCrashed
cellos-init segfaulted or aborted inside the guest.
KernelCannotMountRoot
Kernel panicked because it could not mount the rootfs (rootfs corruption / wrong fs / missing block device).
Other(String)
Operator-supplied free-form reason. Serialized verbatim — prefer a typed variant when one applies.
Implementations§
Source§impl LifecycleReason
impl LifecycleReason
Sourcepub fn as_wire_str(&self) -> &str
pub fn as_wire_str(&self) -> &str
Wire-form string for this reason. Typed variants serialize to
snake_case; Other(s) returns the inner string verbatim.
Trait Implementations§
Source§impl Clone for LifecycleReason
impl Clone for LifecycleReason
Source§fn clone(&self) -> LifecycleReason
fn clone(&self) -> LifecycleReason
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LifecycleReason
impl Debug for LifecycleReason
Source§impl Display for LifecycleReason
impl Display for LifecycleReason
impl Eq for LifecycleReason
Source§impl PartialEq for LifecycleReason
impl PartialEq for LifecycleReason
Source§fn eq(&self, other: &LifecycleReason) -> bool
fn eq(&self, other: &LifecycleReason) -> bool
self and other values to be equal, and is used by ==.