[package] name = "orchestrator" version = "0.1.5" edition = "2024" build = "build.rs" [features] # Enable libvirt backend on Linux hosts (uses virt crate on Linux) libvirt = [] [dependencies] common = { path = "../common" } clap = { version = "4", features = ["derive", "env"] } miette = { version = "7", features = ["fancy"] } thiserror = "1" anyhow = "1" tracing = "0.1" tokio = { version = "1", features = ["rt-multi-thread", "macros", "signal", "fs", "io-util", "process", "net"] } serde = { version = "1", features = ["derive"] } serde_json = "1" serde_yaml = "0.9" config = { version = "0.15", default-features = false, features = ["yaml"] } reqwest = { version = "0.12", default-features = false, features = ["rustls-tls-native-roots", "http2", "gzip", "brotli", "zstd"] } # HTTP server for logs (runner serving removed) axum = { version = "0.8", features = ["macros"] } # SSH client for upload/exec/logs ssh2 = "0.9" ssh-key = { version = "0.6", features = ["ed25519"] } rand_core = "0.6" # Compression/decompression zstd = "0.13" # DB (optional basic persistence) sea-orm = { version = "1.1.17", default-features = false, features = ["sqlx-postgres", "sqlx-sqlite", "runtime-tokio-rustls", "macros", "with-uuid", "with-chrono" ] } migration = { path = "../migration" } sea-orm-migration = { version = "1.1.17" } chrono = { version = "0.4", default-features = false, features = ["clock", "std", "serde"] } # Utilities dashmap = "6" async-trait = "0.1" uuid = { version = "1", features = ["v4", "serde"] } [target.'cfg(target_os = "linux")'.dependencies] virt = { version = "0.4.3" } [package.metadata.deb] name = "solstice-orchestrator" maintainer = "Solstice CI " section = "utils" priority = "optional" assets = [ ["target/release/orchestrator", "/usr/bin/solstice-orchestrator", "755"], ["packaging/solstice-orchestrator.service", "/lib/systemd/system/solstice-orchestrator.service", "644"], ["../../examples/orchestrator-image-map.yaml", "/etc/solstice/orchestrator.yaml", "644"], ["../../examples/etc/solstice/orchestrator.env.sample", "/etc/solstice/orchestrator.env", "640"], ] depends = [ "libvirt-daemon-system", "libvirt-clients", "ca-certificates", "openssh-client", ] recommends = ["qemu-kvm", "virtinst"] conf-files = ["/etc/solstice/orchestrator.yaml", "/etc/solstice/orchestrator.env"] maintainer-scripts = "packaging/debian/"