oxide-update-engine
An engine for declaring and executing sequential update steps with serializable event streams.
The oxide-update-engine crate provides the execution engine for
running update steps.
- For types-only consumers (e.g. API clients), see
oxide-update-engine-types. - For code to display update engine events as a human-readable
stream, see
oxide-update-engine-display.
Examples
A minimal engine that runs a single update step:
use ;
use EngineSpec;
// A EngineSpec defines the domain-specific types that flow
// through the engine. Use () for metadata you don't need.
let log =
root;
let = ;
let engine = new;
// Steps run sequentially in registration order.
engine
.new_step
.register;
engine.execute.await?;
For more complex engines, including engines that have nested local and remote steps, see the full example.
License
This project is available under the terms of the Mozilla Public License 2.0.