[package] name = "tavolo-app" version.workspace = true edition.workspace = true license.workspace = true description = "The deployable tavolo application: composition root and HTTP/WebSocket server" [[bin]] name = "tavolo" path = "src/main.rs" [dependencies] async-trait.workspace = true axum.workspace = true base64.workspace = true chrono.workspace = true clap.workspace = true futures-util.workspace = true hex.workspace = true jsonwebtoken.workspace = true opentelemetry = { version = "0.33", optional = true, default-features = false, features = ["trace", "metrics", "logs"] } opentelemetry-appender-tracing = { version = "0.33", optional = true, default-features = false } opentelemetry-otlp = { version = "0.33", optional = true, default-features = false, features = ["http-proto", "reqwest-client", "trace", "metrics", "logs"] } opentelemetry_sdk = { version = "0.33", optional = true, default-features = false, features = ["trace", "metrics", "logs", "rt-tokio"] } percent-encoding.workspace = true rand.workspace = true redis.workspace = true regex.workspace = true reqwest.workspace = true serde.workspace = true serde_json.workspace = true sha2.workspace = true sqlx.workspace = true sysinfo = { version = "0.39", optional = true } tavolo-platform = { path = "../tavolo-platform" } tavolo-scopone = { path = "../tavolo-scopone" } thiserror.workspace = true tokio.workspace = true tower.workspace = true tower-http.workspace = true tracing.workspace = true tracing-opentelemetry = { version = "0.34", optional = true, default-features = false } tracing-subscriber.workspace = true url.workspace = true uuid.workspace = true [dev-dependencies] axum = { workspace = true, features = ["ws", "macros"] } futures-util.workspace = true http-body-util = "0.1" tokio-tungstenite = "0.24" tower = { workspace = true, features = ["util"] } [features] default = ["otel"] otel = [ "dep:opentelemetry", "dep:opentelemetry_sdk", "dep:opentelemetry-otlp", "dep:opentelemetry-appender-tracing", "dep:tracing-opentelemetry", "dep:sysinfo", ]