2025-10-25 20:00:32 +02:00
|
|
|
[package]
|
|
|
|
|
name = "orchestrator"
|
2025-11-18 14:48:20 +01:00
|
|
|
version = "0.1.15"
|
2025-10-25 20:00:32 +02:00
|
|
|
edition = "2024"
|
2025-11-09 17:58:36 +01:00
|
|
|
build = "build.rs"
|
2025-10-25 20:00:32 +02:00
|
|
|
|
|
|
|
|
[features]
|
|
|
|
|
|
|
|
|
|
[dependencies]
|
|
|
|
|
common = { path = "../common" }
|
2026-04-07 21:01:12 +02:00
|
|
|
vm-manager = { git = "https://github.com/CloudNebulaProject/vm-manager.git", branch = "main", features = ["pure-iso"] }
|
2025-10-25 20:00:32 +02:00
|
|
|
clap = { version = "4", features = ["derive", "env"] }
|
|
|
|
|
miette = { version = "7", features = ["fancy"] }
|
2025-11-15 21:46:54 +01:00
|
|
|
thiserror = "1"
|
|
|
|
|
anyhow = "1"
|
2025-10-25 20:00:32 +02:00
|
|
|
tracing = "0.1"
|
2025-11-15 18:37:30 +01:00
|
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "signal", "fs", "io-util", "process", "net"] }
|
2025-10-25 20:00:32 +02:00
|
|
|
serde = { version = "1", features = ["derive"] }
|
2025-10-26 18:17:02 +01:00
|
|
|
serde_json = "1"
|
2025-10-25 20:00:32 +02:00
|
|
|
serde_yaml = "0.9"
|
2025-11-01 14:44:16 +01:00
|
|
|
config = { version = "0.15", default-features = false, features = ["yaml"] }
|
2025-10-25 20:00:32 +02:00
|
|
|
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls-native-roots", "http2", "gzip", "brotli", "zstd"] }
|
2025-11-15 18:37:30 +01:00
|
|
|
# HTTP server for logs (runner serving removed)
|
2025-11-02 23:37:11 +01:00
|
|
|
axum = { version = "0.8", features = ["macros"] }
|
2026-04-07 15:56:10 +02:00
|
|
|
# SSH key generation (vm-manager handles SSH connections)
|
2025-11-15 18:37:30 +01:00
|
|
|
ssh-key = { version = "0.6", features = ["ed25519"] }
|
|
|
|
|
rand_core = "0.6"
|
2025-10-25 20:00:32 +02:00
|
|
|
# DB (optional basic persistence)
|
2025-11-01 14:44:16 +01:00
|
|
|
sea-orm = { version = "1.1.17", default-features = false, features = ["sqlx-postgres", "sqlx-sqlite", "runtime-tokio-rustls", "macros", "with-uuid", "with-chrono" ] }
|
2025-10-26 15:38:54 +01:00
|
|
|
migration = { path = "../migration" }
|
2025-11-01 14:44:16 +01:00
|
|
|
sea-orm-migration = { version = "1.1.17" }
|
2025-10-26 15:38:54 +01:00
|
|
|
chrono = { version = "0.4", default-features = false, features = ["clock", "std", "serde"] }
|
2025-10-25 20:00:32 +02:00
|
|
|
# Utilities
|
|
|
|
|
dashmap = "6"
|
|
|
|
|
async-trait = "0.1"
|
2025-10-26 15:38:54 +01:00
|
|
|
uuid = { version = "1", features = ["v4", "serde"] }
|
2025-10-26 16:08:36 +01:00
|
|
|
|
2025-11-17 19:57:19 +01:00
|
|
|
[package.metadata.deb]
|
|
|
|
|
name = "solstice-orchestrator"
|
|
|
|
|
maintainer = "Solstice CI <ops@solstice-ci.org>"
|
|
|
|
|
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 = [
|
2026-04-07 15:56:10 +02:00
|
|
|
"qemu-system-x86",
|
|
|
|
|
"qemu-utils",
|
2025-11-17 19:57:19 +01:00
|
|
|
"ca-certificates",
|
|
|
|
|
]
|
2026-04-07 15:56:10 +02:00
|
|
|
recommends = ["qemu-kvm"]
|
2025-11-17 19:57:19 +01:00
|
|
|
conf-files = ["/etc/solstice/orchestrator.yaml", "/etc/solstice/orchestrator.env"]
|
|
|
|
|
maintainer-scripts = "packaging/debian/"
|