Skip to main content

Crate lightshuttle_manifest

Crate lightshuttle_manifest 

Source
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§

ManifestError
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>.