feat(swarm-controller): new crate, a unix-socket listener and nothing else
First half of the swarm-controller slice: the crate, its workspace entry and its daemonBins entry, so the systemd unit that follows has a binary to point at. It serves one health endpoint and owns no state. That is the whole intent -- this makes the unit real (service user, runtime and state directories, socket, nginx reachability) so the swarm-level surfaces that follow have somewhere to land. Inventing those surfaces now would bake in a shape nobody has agreed to. The socket gets its own runtime directory rather than sharing hive-c0re's. nginx reaches a unix upstream by having the socket's directory bind-mounted into the gateway container, so co-locating this socket with the host admin socket would hand the gateway that socket too.
This commit is contained in:
parent
5235166bb3
commit
898dde7402
5 changed files with 107 additions and 0 deletions
18
swarm-controller/Cargo.toml
Normal file
18
swarm-controller/Cargo.toml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
[package]
|
||||
name = "swarm-controller"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
||||
[[bin]]
|
||||
name = "swarm-controller"
|
||||
path = "src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
anyhow.workspace = true
|
||||
axum.workspace = true
|
||||
tokio.workspace = true
|
||||
tracing.workspace = true
|
||||
tracing-subscriber.workspace = true
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
Loading…
Reference in a new issue