Add a systemd.sockets.hive-c0re unit that holds /run/hyperhive/host.sock before hive-c0re starts. hive-c0re serve() detects LISTEN_FDS via the listenfd crate and accepts the systemd-handed fd instead of calling bind(). Falls back to the existing bind path when LISTEN_FDS is absent so direct invocation and CI are unaffected. Benefits: hivectl can connect the moment the socket unit activates (no racy window), and a hive-c0re restart never drops the socket inode.
27 lines
547 B
TOML
27 lines
547 B
TOML
[package]
|
|
name = "hive-c0re"
|
|
edition.workspace = true
|
|
version.workspace = true
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
axum.workspace = true
|
|
base64.workspace = true
|
|
reqwest.workspace = true
|
|
clap.workspace = true
|
|
hive-sh4re.workspace = true
|
|
libc = "0.2"
|
|
listenfd = "1"
|
|
rusqlite.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
tokio.workspace = true
|
|
tokio-stream.workspace = true
|
|
tower-http.workspace = true
|
|
tracing.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|