Skip to main content

Crate lightshuttle_export

Crate lightshuttle_export 

Source
Expand description

Manifest to deployment artifact transpilation for LightShuttle.

The export pipeline follows a compiler shape: lower turns a parsed lightshuttle-manifest into a neutral ExportModel by resolving every resource through lightshuttle-spec, then a target Emitter renders that model into ExportArtifacts. Per-target defaults and overrides are resolved by the pure helpers in resolve, shared by every emitter.

This crate carries no container daemon dependency: it only reads the manifest and the resolved specification, so it transpiles the same way on a developer machine or in CI without Docker.

Modules§

resolve
Pure resolution of per-target defaults and overrides.

Structs§

ComposeEmitter
Emits a docker-compose.yml from the export model.
ExportArtifacts
A set of named files produced by an emitter, written to disk by the CLI.
ExportFile
A single emitted file: a relative path and its textual contents.
ExportModel
Target-agnostic model of a stack ready to be emitted.
ExportProject
Project metadata relevant to an export.
ExportService
One service in the export model: a resolved container specification plus the resources it depends on.
HelmEmitter
Emits a Helm chart from the export model.
KubernetesEmitter
Emits plain Kubernetes manifests from the export model.

Enums§

ExportError
Errors raised while lowering a manifest or emitting artifacts.
Target
Supported export targets.

Traits§

Emitter
Transpiles an ExportModel into the files of a single target.

Functions§

lower
Lower manifest into an ExportModel.

Type Aliases§

Result
Shorthand alias for std::result::Result<T, ExportError>.