pub enum CellosError {
InvalidSpec(String),
ArgvTooLarge {
encoded_bytes: usize,
limit_bytes: usize,
},
Host(String),
EventSink(String),
SecretBroker(String),
ExportSink(String),
Lifecycle(String),
InferenceBroker(String),
}Expand description
Typed errors for library boundaries (thiserror).
Variants§
InvalidSpec(String)
ArgvTooLarge
FC-66 — typed admission rejection for an over-sized spec.run.argv.
Surfaced by the FC-17 admission helper
check_argv_size_within_kernel_cmdline_limit. The Firecracker host
encodes spec.run.argv as cellos.argv=<base64(json_array)> on the
kernel boot cmdline; the kernel cmdline has a 4 KiB hard limit and is
silently truncated past that. We budget a 3 KiB cap on the encoded
payload (≈1 KiB of headroom for the rest of the cmdline) and reject
over-sized argv at admission so callers see a structured error rather
than an opaque in-VM boot failure later.
encoded_bytes is the length of the base64-encoded JSON-array form of
argv (i.e. exactly what the host would write into the cmdline).
limit_bytes is the static cap (3072) so callers/operators do not have
to dig into core to see the budget.
Host(String)
EventSink(String)
SecretBroker(String)
ExportSink(String)
Lifecycle(String)
InferenceBroker(String)
Trait Implementations§
Source§impl Debug for CellosError
impl Debug for CellosError
Source§impl Display for CellosError
impl Display for CellosError
Source§impl Error for CellosError
impl Error for CellosError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()