olai-stack-runtime
Runs trestle environments on Docker
Compose. olai-stack-topology plans and renders an environment; this crate starts,
stops and watches it. The trestle CLI and the desktop app share it.
-
ComposeEngine: up, down, ls, ps, logs, events and network removal, as an async trait.DockerCliruns thedockerCLI and tells "Docker is not available" apart from "nothing is running".FakeEngine(featuretesting) is an in-memory stand-in for tests.
-
Typed status:
ProjectStatus,ServiceStatuswithStateandHealth,EngineEventandLogLine, parsed from the CLI's JSON output. The test fixtures are captured from real engines. -
probe_host_ports: whether a plan's host ports are free before starting it. -
managed_projects,remove_mesh_if_idle: match what Docker runs against what the caller manages. -
Instances: runs the revisions in anolai-stack-statestore, each in its own compose project, slot and host label, so two revisions of one environment run side by side.- It starts, stops and removes instances, reports their health and events, and reconciles with Docker after a restart.
- The rendered tree is a cache under the state directory and holds no credential.
-
EffectiveEnv: an instance's variables from every layer (catalog defaults, revision, placement, client env, workspace/environment/revision vars, source overlays, instance overrides), with provenance and a masked view. -
SecretProvider:EnvProvider, plusKeychainProviderbehind featurekeychain. A reference to a provider that isn't configured is an error, never a fallback. -
Source: overlays of variables, endpoints and expiring credentials from outside the store.UserVarsis built in.
Credentials go to Compose as process environment (UpOptions::env), never through a
file.
use ;
# async
See docs/runtime.md
for the captured engine behaviour and how credentials are handled.