Expand description
Manifest types, parser, interpolation and JSON Schema generation for LightShuttle.
The crate is a structural layer above serde_yml. It exposes a
strongly-typed model of the lightshuttle.yml manifest, an
interpolation engine that resolves ${...} expressions against an
environment plus the runtime properties of dependent resources, and a
validation pass that catches naming, dependency and reference issues
before any runtime work is attempted.
See docs/spec/manifest-v0.md in the main repository for the
specification this crate implements.
Re-exports§
pub use crate::interpolate::InterpolationContext;pub use crate::interpolate::Interpolator;pub use crate::interpolate::Reference;pub use crate::model::Command;pub use crate::model::ComposeExport;pub use crate::model::ComposeResourceExport;pub use crate::model::ContainerConfig;pub use crate::model::DashboardConfig;pub use crate::model::DockerfileConfig;pub use crate::model::ExportConfig;pub use crate::model::Healthcheck;pub use crate::model::HelmExport;pub use crate::model::HelmResourceExport;pub use crate::model::ImagePullPolicy;pub use crate::model::KubernetesExport;pub use crate::model::KubernetesResourceExport;pub use crate::model::Manifest;pub use crate::model::ObservabilityConfig;pub use crate::model::OtelConfig;pub use crate::model::PortMapping;pub use crate::model::PostgresConfig;pub use crate::model::Project;pub use crate::model::RedisConfig;pub use crate::model::ResourceKind;pub use crate::model::Version;pub use crate::model::Volume;
Modules§
- interpolate
- Substitution engine for
${...}interpolations in manifest string values. - model
- Strongly-typed model of a LightShuttle manifest.
Enums§
- Manifest
Error - Errors raised while parsing, validating or interpolating a manifest.
Functions§
- schema
- Build the JSON Schema describing a valid
lightshuttle.yml.
Type Aliases§
- Result
- Shorthand alias for
std::result::Result<T, ManifestError>.