refraction-forger/Cargo.toml
Till Wegmueller 48f8db1236
Initial implementation of refraction-forger
Standalone workspace with 4 crates for building optimized OS images
and publishing to OCI registries:

- spec-parser: KDL image spec parsing with include resolution and
  profile-based conditional filtering
- forge-oci: OCI image creation (tar layers, manifests, Image Layout)
  and registry push via oci-client
- forge-engine: Build pipeline with Phase 1 (rootfs assembly via native
  package managers with -R) and Phase 2 (QCOW2/OCI/artifact targets),
  plus dyn-compatible ToolRunner trait for external tool execution
- forger: CLI binary with build, validate, inspect, push, and targets
  commands

Ported KDL specs and overlay files from the vm-manager prototype.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 15:30:22 +01:00

58 lines
1 KiB
TOML

[workspace]
resolver = "3"
members = [
"crates/spec-parser",
"crates/forge-oci",
"crates/forge-engine",
"crates/forger",
]
[workspace.package]
edition = "2024"
rust-version = "1.85"
[workspace.dependencies]
# Parsing
knuffel = "3.2"
# Error handling & diagnostics
miette = { version = "7", features = ["fancy"] }
thiserror = "2"
# CLI
clap = { version = "4.5", features = ["derive", "env"] }
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# Async runtime
tokio = { version = "1", features = ["rt-multi-thread", "macros", "fs", "process", "time"] }
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# OCI
oci-spec = "0.8"
oci-client = "0.15"
# Crypto & encoding
sha2 = "0.10"
hex = "0.4"
# IO
bytes = "1"
tar = "0.4"
flate2 = "1"
walkdir = "2"
tempfile = "3"
# Misc
bytesize = "2"
indicatif = "0.17"
# Internal crates
spec-parser = { path = "crates/spec-parser" }
forge-oci = { path = "crates/forge-oci" }
forge-engine = { path = "crates/forge-engine" }