reddwarf/Cargo.toml
Till Wegmueller a47784797b
Add event bus and reddwarf-runtime crate
Implement an in-process broadcast event bus for resource mutations
(ADDED/MODIFIED/DELETED) with SSE watch endpoints on all list handlers,
following the Kubernetes watch protocol. Add the reddwarf-runtime crate
with a trait-based zone runtime abstraction targeting illumos zones,
including LX and custom reddwarf brand support, etherstub/direct VNIC
networking, ZFS dataset management, and a MockRuntime for testing on
non-illumos platforms.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 21:29:17 +01:00

85 lines
2 KiB
TOML

[workspace]
resolver = "2"
members = [
"crates/reddwarf-core",
"crates/reddwarf-storage",
"crates/reddwarf-versioning",
"crates/reddwarf-apiserver",
"crates/reddwarf-scheduler",
"crates/reddwarf-runtime",
"crates/reddwarf",
]
[workspace.package]
version = "0.1.0"
edition = "2021"
authors = ["Reddwarf Contributors"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/yourusername/reddwarf"
rust-version = "1.84"
[workspace.dependencies]
# Core dependencies
reddwarf-core = { path = "crates/reddwarf-core" }
reddwarf-storage = { path = "crates/reddwarf-storage" }
reddwarf-versioning = { path = "crates/reddwarf-versioning" }
reddwarf-apiserver = { path = "crates/reddwarf-apiserver" }
reddwarf-scheduler = { path = "crates/reddwarf-scheduler" }
reddwarf-runtime = { path = "crates/reddwarf-runtime" }
# Kubernetes types
k8s-openapi = { version = "0.23", features = ["v1_31"] }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
# Error handling
thiserror = "2.0"
miette = { version = "7.0", features = ["fancy"] }
anyhow = "1.0"
# Async runtime
tokio = { version = "1.40", features = ["full"] }
tokio-stream = { version = "0.1", features = ["sync"] }
futures-util = "0.3"
async-trait = "0.1"
# Web framework
axum = { version = "0.8", features = ["ws", "macros"] }
tower = { version = "0.5", features = ["full"] }
tower-http = { version = "0.6", features = ["cors", "compression-gzip", "trace"] }
hyper = { version = "1.0", features = ["full"] }
# Storage
redb = "2.1"
# Versioning
jj-lib = "0.23"
# Utilities
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1.0", features = ["v4", "serde"] }
bytes = "1.0"
# Logging and tracing
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
# CLI
clap = { version = "4.5", features = ["derive", "env"] }
# TLS
rcgen = "0.13"
rustls = "0.23"
rustls-pemfile = "2.0"
# Testing
tempfile = "3.0"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true