reddwarf/crates/reddwarf-apiserver/Cargo.toml
Till Wegmueller cb6ca8cd3c
Add optional TLS support and SMF service integration
Enable the API server to optionally serve HTTPS (disabled by default).
When --tls is passed without explicit cert/key paths, a self-signed CA
and server certificate are auto-generated via rcgen and persisted to
disk for reuse across restarts. The internal ApiClient learns to trust
the self-signed CA so controller/agent components work seamlessly over
TLS.

Also adds SIGTERM signal handling (alongside SIGINT) and graceful
shutdown via CancellationToken for both `serve` and `agent` modes,
plus an SMF manifest and method script so reddwarf can run as
svc:/system/reddwarf:default on illumos.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 18:45:20 +01:00

36 lines
1,018 B
TOML

[package]
name = "reddwarf-apiserver"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
[dependencies]
reddwarf-core = { workspace = true }
reddwarf-storage = { workspace = true }
reddwarf-versioning = { workspace = true }
axum = { workspace = true }
tower = { workspace = true }
tower-http = { workspace = true }
hyper = { workspace = true }
tokio = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
miette = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
uuid = { workspace = true }
tokio-stream = { workspace = true }
futures-util = { workspace = true }
json-patch = "3.0"
rcgen = { workspace = true }
rustls = { workspace = true }
rustls-pemfile = { workspace = true }
axum-server = { workspace = true }
tokio-util = { workspace = true }
[dev-dependencies]
tempfile = { workspace = true }