[package]
name = "datasynth-server"
version.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
repository.workspace = true
homepage.workspace = true
description = "gRPC and REST server for synthetic data generation"
keywords.workspace = true
categories.workspace = true
[features]
default = []
tls = ["dep:axum-server"]
jwt = ["dep:jsonwebtoken"]
redis = ["dep:redis"]
otel = [
"dep:opentelemetry",
"dep:opentelemetry_sdk",
"dep:opentelemetry-otlp",
"dep:opentelemetry-prometheus",
"dep:prometheus",
"dep:tracing-opentelemetry",
]
[dependencies]
datasynth-core = { workspace = true }
datasynth-config = { workspace = true }
datasynth-generators = { workspace = true }
datasynth-runtime = { workspace = true }
datasynth-output = { workspace = true }
tonic = { workspace = true }
prost = { workspace = true }
prost-types = { workspace = true }
axum = { workspace = true }
tower = { workspace = true }
tower-http = { workspace = true }
axum-server = { workspace = true, optional = true }
tokio = { workspace = true }
tokio-stream = "0.1"
futures = { workspace = true }
async-trait = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
thiserror = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
clap = { workspace = true }
chrono = { workspace = true }
uuid = { workspace = true }
rust_decimal = { workspace = true }
argon2 = { workspace = true }
subtle = { workspace = true }
jsonwebtoken = { workspace = true, optional = true }
redis = { workspace = true, optional = true }
opentelemetry = { workspace = true, optional = true }
opentelemetry_sdk = { workspace = true, optional = true }
opentelemetry-otlp = { workspace = true, optional = true }
opentelemetry-prometheus = { workspace = true, optional = true }
prometheus = { workspace = true, optional = true }
tracing-opentelemetry = { workspace = true, optional = true }
tonic-prost = "0.14"
[build-dependencies]
tonic-build = { workspace = true }
tonic-prost-build = "0.14"
[[bin]]
name = "datasynth-server"
path = "src/main.rs"
[dev-dependencies]
tempfile = { workspace = true }
tokio-test = "0.4"
tower = { workspace = true, features = ["util"] }
hyper = { version = "1.0", features = ["full"] }
http-body-util = "0.1"