[package]
name = "komodo_client"
description = "Client for the Komodo build and deployment system"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
blocking = ["reqwest/blocking"]
mongo = ["dep:mongo_indexed"]
utoipa = ["dep:utoipa", "mogh_auth_client/utoipa", "mogh_error/utoipa"]
logger = ["dep:mogh_logger"]
cli = ["logger", "dep:mogh_pki",]
core = ["mongo", "utoipa", "logger", "dep:mogh_server"]
periphery = ["cli", "dep:ipnetwork", "dep:mogh_server"]

[dependencies]
# mogh
mogh_pki = { workspace = true, optional = true, features = ["cli"] }
mongo_indexed = { workspace = true, optional = true }
mogh_logger = { workspace = true, optional = true }
mogh_server = { workspace = true, optional = true }
mogh_error = { workspace = true, features = ["axum"] }
derive_default_builder.workspace = true
async_timing_util.workspace = true
mogh_auth_client.workspace = true
partial_derive2.workspace = true
mogh_resolver.workspace = true
# external
ipnetwork = { workspace = true, optional = true }
utoipa = { workspace = true, optional = true }
tokio-tungstenite.workspace = true
derive_builder.workspace = true
futures-util.workspace = true
urlencoding.workspace = true
serde_json.workspace = true
tokio-util.workspace = true
thiserror.workspace = true
typeshare.workspace = true
indexmap.workspace = true
serde_qs.workspace = true
reqwest.workspace = true
tracing.workspace = true
anyhow.workspace = true
bytes.workspace = true
serde.workspace = true
tokio.workspace = true
strum.workspace = true
bson.workspace = true
clap.workspace = true
envy.workspace = true
rand.workspace = true