diff options
| author | Hermes Agent <hermes@localhost> | 2026-08-12 00:02:26 +0000 |
|---|---|---|
| committer | Hermes Agent <hermes@localhost> | 2026-08-12 00:02:26 +0000 |
| commit | 25f39c857da591c665865b77483b79495caf5e00 (patch) | |
| tree | 1e7dd7118fcd1978b13c8bd1aa6cb202bb72a32a /src/plan.rs | |
| parent | 1860cc5beb8df6e85d0f9690e5852709a534ebd7 (diff) | |
Replace legacy profile parser with typed image spec
Diffstat (limited to 'src/plan.rs')
| -rw-r--r-- | src/plan.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/plan.rs b/src/plan.rs new file mode 100644 index 0000000..16158e5 --- /dev/null +++ b/src/plan.rs @@ -0,0 +1,19 @@ +use anyhow::Result; + +use crate::ImageSpec; + +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct BuildPlan { + spec: ImageSpec, +} + +impl BuildPlan { + pub fn compile(spec: ImageSpec) -> Result<Self> { + spec.validate()?; + Ok(Self { spec }) + } + + pub fn spec(&self) -> &ImageSpec { + &self.spec + } +} |