microvms-domain 0.12.0

The MicroVMs client's rules and values: sizing, cost, regions, names, errors, with no I/O
Documentation

microvms-domain

The rules every MicroVMs surface has to agree on: size classes, the cost engine and its rate table, region parsing, VM name validation, the service constraints, the error kinds, and the tunnel identity's derivation and pin.

This crate performs no I/O. It doesn't read the network, the filesystem, the environment, the clock, or the OS random pool, and it doesn't start a subprocess. A rule that needs one of those takes it as a parameter: Region::from_env takes a lookup function, CalendarDate::from_unix_secs takes the time, and LaunchIdentity::from_seeds takes the seeds. So a rule gives the same answer on every machine, and a test passes its inputs in rather than faking global state.

Most callers want microvms-core instead. It re-exports every item here at its microvms_core:: path and supplies the I/O this crate leaves out, through microvms_core::prelude.

Reading

The constraints and their measurements are recorded in docs/PLATFORM.md.

License

Apache-2.0