solstice-ci/crates/orchestrator/Cargo.toml
Till Wegmueller 888aa26388
Add libvirt/KVM integration and Forgejo webhook support to Podman stack
- Extend `.env.sample` with libvirt configuration, Forgejo secrets, and image mapping defaults.
- Update `compose.yml` to enable libvirt integration, including required mounts, devices, and environment variables.
- Add Forgejo webhook configuration and commit status reporting with optional HMAC validation.
- Enhance the orchestrator container with libvirt dependencies and optional features for VM management.
- Document host preparation for libvirt/KVM and image directories in the README.
- Set default fallback values for Traefik ACME CA server.

Signed-off-by: Till Wegmueller <toasterson@gmail.com>
2025-11-09 17:58:36 +01:00

40 lines
1.5 KiB
TOML

[package]
name = "orchestrator"
version = "0.1.0"
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"] }
tracing = "0.1"
tokio = { version = "1", features = ["rt-multi-thread", "macros", "signal", "fs", "io-util"] }
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
axum = { version = "0.8", features = ["macros"] }
# gRPC server
tonic = { version = "0.14", features = ["transport"] }
# 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"] }
futures-util = "0.3.31"
[target.'cfg(target_os = "linux")'.dependencies]
virt = { version = "0.4.3" }