Expand description
Manifest to container specification resolution for LightShuttle.
This crate is the single source of truth that turns a typed
lightshuttle-manifest resource declaration into a self-contained
ContainerSpec, applying the v0 defaults (image expansion,
database name derivation, random password generation, healthcheck
materialisation) and computing the ResourceOutputs a resource
exposes to its dependents.
The resolution is intentionally free of any container daemon dependency, so both the runtime and the export pipeline can consume it without drift.
Structs§
- Container
Spec - Self-contained description of a container to start, derived from a manifest resource.
- Healthcheck
Spec - Healthcheck resolved from the manifest, with manifest-side durations already parsed.
- Port
Binding - Port mapping resolved from the manifest.
- Resolved
Resource - A
ContainerSpectogether with the outputs the resource exposes to its dependents at runtime. - Volume
Binding - Volume mapping resolved from the manifest.
Enums§
- Image
Source - How the container image is obtained.
- Spec
Error - Errors raised while building a
crate::ContainerSpecfrom a manifest resource declaration. - Volume
Source - Where the volume content lives.
Functions§
- from_
resource - Build a
ContainerSpecfrom a manifest resource declaration.
Type Aliases§
- Resource
Outputs - Properties a managed resource exposes to its dependents.
- Result
- Shorthand alias for
std::result::Result<T, SpecError>.