pub struct ServiceScaffoldSpec {Show 14 fields
pub name: String,
pub transport: ServiceTransport,
pub store: StoreTarget,
pub bus: Option<BusTarget>,
pub models: Vec<String>,
pub read_models: bool,
pub commands: Vec<String>,
pub events: Vec<String>,
pub distributed_dependency_path: String,
pub gitops: bool,
pub gitops_promote: Option<GitopsPromoteTarget>,
pub github: Option<GithubRepo>,
pub github_preview: Option<GithubRepo>,
pub github_promote: Option<GithubRepo>,
}Expand description
What to scaffold. The pure input to generate_service_scaffold.
name and the raw models/commands/events strings are normalized by the
generator (kebab/pascal/ident casing, validation, dedup) — that normalization
is part of the rules this crate owns.
Fields§
§name: StringService / package name (free-form; normalized to a kebab package name).
transport: ServiceTransportRuntime transport to scaffold.
store: StoreTargetRead-model / schema storage target.
bus: Option<BusTarget>Optional message bus backend.
models: Vec<String>Aggregate model names to scaffold (raw; may be empty).
read_models: boolGenerate placeholder read-model modules and register them in the manifest.
commands: Vec<String>Command handler message names (raw; empty → a default command is derived).
events: Vec<String>Event handler message names (raw; may be empty).
distributed_dependency_path: StringRelative path (from the generated project dir) to the local distributed
crate, used in the generated Cargo.toml dependency.
gitops: boolGenerate a Helm deploy chart under .gitops/deploy.
gitops_promote: Option<GitopsPromoteTarget>Generate a GitOps promotion chart for Argo CD or Flux.
github: Option<GithubRepo>The service’s own GitHub repository: emits the version/release workflows
and an EnsureGithubRepository post-create action.
github_preview: Option<GithubRepo>Preview-environment GitOps repository: emits the preview workflow and the
.gitops/preview/helm promotion chart. Independent of github.
github_promote: Option<GithubRepo>Permanent-environment GitOps repository: emits the promote workflow and the
.gitops/promote/helm promotion chart. Independent of github.
Trait Implementations§
Source§impl Clone for ServiceScaffoldSpec
impl Clone for ServiceScaffoldSpec
Source§fn clone(&self) -> ServiceScaffoldSpec
fn clone(&self) -> ServiceScaffoldSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more