#[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
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 ==.