[package]
name = "flusso-cli"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "flusso command-line interface: keep OpenSearch in sync with Postgres from declarative config."
authors.workspace = true
homepage.workspace = true
keywords.workspace = true
categories = ["command-line-utilities", "database"]
readme.workspace = true

[[bin]]
name = "flusso"
path = "src/main.rs"

[lints]
workspace = true

[dependencies]
schema.workspace = true
daemon.workspace = true
sources-core.workspace = true
sources-postgres.workspace = true
sinks-core.workspace = true
sinks-stdout.workspace = true
sinks-opensearch.workspace = true
anyhow.workspace = true
async-trait.workspace = true
clap.workspace = true
url.workspace = true
serde_json.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "net", "signal", "time"] }
# Telemetry export + the operational HTTP surface are the binary's concern (the
# daemon library just records to the global meter and exposes its Status).
opentelemetry = { workspace = true, features = ["metrics"] }
opentelemetry_sdk = { workspace = true, features = ["rt-tokio", "metrics", "spec_unstable_metrics_views"] }
opentelemetry-otlp = { workspace = true, features = ["metrics"] }
opentelemetry-prometheus.workspace = true
tracing-opentelemetry.workspace = true
prometheus.workspace = true
axum.workspace = true
base64.workspace = true
# HTTP client for the `indexes`/`reindex` subcommands talking to a running
# flusso's private control surface.
reqwest = { workspace = true, features = ["json", "rustls-tls"] }
