[package]
edition = "2024"
name = "iconoclast"
version = "0.3.1"
authors = ["Elmar Athmer"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Reusable code for Rust-based business μServices"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/elmarx/iconoclast"
resolver = "2"
[features]
default = [
"listenfd",
"config",
"mgmt-axum",
]
gcloud = [
"dep:tracing-stackdriver",
"dep:tracing-opentelemetry",
"dep:hyper",
"dep:hyper-util",
"dep:http-body-util",
]
kafka = [
"dep:rdkafka",
"dep:tokio-stream",
"dep:futures",
]
listenfd = ["dep:listenfd"]
livereload = ["dep:tower-livereload"]
mgmt-axum = []
mgmt-hyper = [
"dep:hyper",
"dep:hyper-util",
"dep:http-body-util",
"dep:tower",
]
[lib]
name = "iconoclast"
path = "src/lib.rs"
[dependencies.axum]
version = "0.8.3"
features = [
"json",
"tokio",
"http1",
]
default-features = false
[dependencies.config]
version = "0.15.11"
features = ["toml"]
optional = true
[dependencies.futures]
version = "0.3.31"
optional = true
[dependencies.http-body-util]
version = "0.1.3"
optional = true
[dependencies.hyper]
version = "1.6.0"
optional = true
[dependencies.hyper-util]
version = "0.1.11"
features = ["client-legacy"]
optional = true
[dependencies.listenfd]
version = "1.0.2"
optional = true
[dependencies.rdkafka]
version = "0.37.0"
features = [
"sasl",
"ssl",
"zstd",
]
optional = true
[dependencies.serde]
version = "1.0.219"
features = ["derive"]
[dependencies.serde_with]
version = "3.12.0"
[dependencies.thiserror]
version = "2.0.12"
[dependencies.tokio]
version = "1.44.2"
features = [
"io-std",
"net",
]
[dependencies.tokio-stream]
version = "0.1.17"
optional = true
[dependencies.tower]
version = "0.5.2"
optional = true
[dependencies.tower-livereload]
version = "0.9.6"
optional = true
[dependencies.tracing]
version = "0.1.41"
[dependencies.tracing-opentelemetry]
version = "0.31.0"
optional = true
[dependencies.tracing-stackdriver]
version = "0.10.0"
features = [
"http",
"opentelemetry",
]
optional = true
[dependencies.tracing-subscriber]
version = "0.3.19"
features = [
"env-filter",
"json",
]
[dev-dependencies.faux]
version = "0.1.12"