pub struct HelmEmitter;Expand description
Emits a Helm chart from the export model.
The produced artifact set contains:
Chart.yaml: chart name and version derived from the project metadata orexport.helmoverrides viacrate::resolve::chart_name_forandcrate::resolve::chart_version_for.values.yaml: namespace, per-service replica count, image coordinates, and environment variables split intoenv(plain) andsecrets(placeholders only, never real values).templates/<name>.yaml: one multi-document Go-template file per enabled resource, containing aDeployment, optionally aService, aConfigMap, aSecret, andPersistentVolumeClaimentries.
§Example
use lightshuttle_export::{lower, HelmEmitter, Emitter};
use lightshuttle_manifest::Manifest;
let manifest: Manifest = todo!("parse from YAML");
let model = lower(&manifest)?;
let artifacts = HelmEmitter.emit(&model)?;
for file in &artifacts.files {
println!("{}", file.path.display());
}
// Prints: Chart.yaml, values.yaml, templates/<name>.yaml ...Trait Implementations§
Auto Trait Implementations§
impl Freeze for HelmEmitter
impl RefUnwindSafe for HelmEmitter
impl Send for HelmEmitter
impl Sync for HelmEmitter
impl Unpin for HelmEmitter
impl UnsafeUnpin for HelmEmitter
impl UnwindSafe for HelmEmitter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more