[package]
name = "subduction_cli"
version = "0.3.0"
description = "CLI server and client for Subduction sync over WebSockets"
categories = ["command-line-utilities", "web-programming"]
keywords = ["subduction"]
readme = "./README.md"
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
[dependencies]
ahash = { workspace = true }
anyhow = { workspace = true }
async-lock = { workspace = true }
async-tungstenite = { workspace = true }
axum = { workspace = true }
blake3 = { workspace = true }
clap = { workspace = true }
console-subscriber = { workspace = true }
futures = { workspace = true }
future_form = { workspace = true }
futures-util = { workspace = true }
hex = { workspace = true }
metrics = { workspace = true }
metrics-exporter-prometheus = { workspace = true }
minicbor = { workspace = true }
rand = { workspace = true, features = ["std", "std_rng"] }
sedimentree_core = { workspace = true, features = ["std"] }
sedimentree_fs_storage = { workspace = true }
subduction_core = { workspace = true, features = ["std", "metrics"] }
subduction_websocket = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["full", "tracing"] }
tokio-util = { workspace = true }
tracing = { workspace = true, default-features = true }
tracing-loki = { workspace = true, optional = true }
tracing-subscriber = { workspace = true, default-features = true }
tungstenite = { workspace = true }
url = { workspace = true, features = ["std"] }
[features]
default = ["native-tls"]
native-tls = [
"async-tungstenite/tokio-native-tls",
"subduction_websocket/tokio_client",
"subduction_websocket/tokio_server",
"dep:tracing-loki",
]
rustls = [
"async-tungstenite/tokio-rustls-native-certs",
"subduction_websocket/tokio_client_rustls",
"subduction_websocket/tokio_server_rustls",
]
[lints]
workspace = true