[package]
name = "cellos-server"
version = "0.5.3"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
description = "HTTP control plane for CellOS — admission, projection over JetStream, WebSocket fan-out of CloudEvents. Pure event-sourced architecture."
readme = "README.md"
repository.workspace = true
homepage.workspace = true
documentation = "https://docs.rs/cellos-server"
keywords = ["cellos", "http-server", "jetstream", "websocket", "axum"]
categories = ["web-programming::http-server", "web-programming::websocket", "asynchronous"]
[[bin]]
name = "cellos-server"
path = "src/main.rs"
[lib]
path = "src/lib.rs"
[dependencies]
anyhow.workspace = true
async-nats.workspace = true
chrono = { workspace = true }
cellos-core = { version = "0.7.0", path = "../cellos-core", features = ["tracing-layer"] }
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "sync", "signal", "time"] }
tracing.workspace = true
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "json"] }
uuid.workspace = true
futures-util = "0.3"
axum = { version = "0.7", features = ["ws", "macros"] }
tower = "0.4"
tower-http = { version = "0.5", features = ["cors", "trace"] }
[dev-dependencies]
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "sync", "time"] }
tower = { version = "0.4", features = ["util"] }
http-body-util = "0.1"
[lints]
workspace = true