[package] name = "provisioning-orchestrator" version.workspace = true edition.workspace = true authors.workspace = true description = "Cloud-native infrastructure orchestrator with Nushell integration" [dependencies] # ============================================================================ # WORKSPACE DEPENDENCIES - Core async runtime and traits # ============================================================================ tokio = { workspace = true, features = ["rt", "rt-multi-thread", "process", "io-util", "time", "fs"] } futures = { workspace = true } async-trait = { workspace = true } # Serialization and data handling serde = { workspace = true } serde_json = { workspace = true } toml = { workspace = true } chrono = { workspace = true } uuid = { workspace = true } # Error handling anyhow = { workspace = true } thiserror = { workspace = true } # Graph algorithms (for dependency resolution) petgraph = { workspace = true } # Logging framework (used throughout) tracing = { workspace = true } # Web server and API axum = { workspace = true } tower = { workspace = true, features = ["util"] } tower-http = { workspace = true, features = ["cors", "trace"] } hyper = { workspace = true } # CLI interface clap = { workspace = true } # Logging configuration and output (binary-only) tracing-subscriber = { workspace = true } tracing-appender = { workspace = true } # Docker/Container management bollard = "0.17" # HTTP client for DNS/OCI/services reqwest = { workspace = true } # LRU cache for OCI manifests lru = "0.12" # ============================================================================ # FEATURE-GATED OPTIONAL DEPENDENCIES # ============================================================================ # SurrealDB storage backend (optional) surrealdb = { workspace = true, optional = true } [features] default = [] surrealdb = ["dep:surrealdb"] [dev-dependencies] tokio-test = { workspace = true } tempfile = { workspace = true } assert_matches = { workspace = true } criterion = { workspace = true, features = ["html_reports", "async_tokio"] } # Library target for tests and external use [lib] name = "provisioning_orchestrator" path = "src/lib.rs" # Binary target [[bin]] name = "provisioning-orchestrator" path = "src/main.rs" [[bench]] name = "storage_benchmarks" harness = false [[bench]] name = "migration_benchmarks" harness = false