[package]
edition = "2021"
rust-version = "1.80"
name = "dynamic-config-server"
version = "0.6.0"
authors = ["Cevat Batuhan Tolon <cevatbatuhan.tolon@gmail.com>"]
build = false
exclude = [
"tests/**",
"benches/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An HTTP configuration server for dynamic-config: one document per application and profile, served under per-caller authorisation."
homepage = "https://github.com/ctolon/dynamic-config"
documentation = "https://docs.rs/dynamic-config-server"
readme = "README.md"
keywords = [
"config",
"hot-reload",
"settings",
"watch",
"serde",
]
categories = [
"config",
"development-tools",
]
license = "MIT"
repository = "https://github.com/ctolon/dynamic-config"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
client = [
"dep:rustls",
"dep:tokio-rustls",
"dep:rustls-native-certs",
"dep:dynamic-config-store-core",
"dep:http-body-util",
"dep:bytes",
"dep:hyper",
"hyper/http1",
"hyper/client",
"dep:hyper-util",
"hyper-util/tokio",
"tokio/io-util",
]
default = []
tls = [
"dep:rustls",
"dep:tokio-rustls",
"dep:hyper",
"hyper/http1",
"hyper/server",
"dep:hyper-util",
"hyper-util/service",
"hyper-util/tokio",
"tokio/sync",
]
[lib]
name = "dynamic_config_server"
path = "src/lib.rs"
[[bin]]
name = "dynamic-config-server"
path = "src/main.rs"
[[example]]
name = "tls_mutual"
path = "examples/tls_mutual.rs"
required-features = ["tls"]
[dependencies.axum]
version = "0.8"
features = [
"http1",
"json",
"tokio",
]
default-features = false
[dependencies.bytes]
version = "1.11.1"
optional = true
[dependencies.dynamic-config]
version = "=0.6.0"
features = [
"json",
"toml",
"yaml",
"watch",
"async",
"tokio",
"telemetry",
]
default-features = false
[dependencies.dynamic-config-store-core]
version = "=0.6.0"
optional = true
[dependencies.futures-core]
version = "0.3.31"
features = ["std"]
default-features = false
[dependencies.http-body-util]
version = "0.1.2"
optional = true
[dependencies.hyper]
version = "1.7"
optional = true
default-features = false
[dependencies.hyper-util]
version = "0.1.16"
optional = true
default-features = false
[dependencies.rustls]
version = "0.23.31"
features = [
"ring",
"std",
"tls12",
]
optional = true
default-features = false
[dependencies.rustls-native-certs]
version = "0.8.1"
optional = true
[dependencies.serde]
version = "1.0.221"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.127"
[dependencies.tokio]
version = "1.47"
features = [
"rt-multi-thread",
"macros",
"net",
"signal",
"time",
]
default-features = false
[dependencies.tokio-rustls]
version = "0.26.2"
features = [
"ring",
"tls12",
]
optional = true
default-features = false
[dev-dependencies.http-body-util]
version = "0.1.2"
[dev-dependencies.rcgen]
version = "0.14"
features = [
"crypto",
"pem",
"ring",
]
default-features = false
[dev-dependencies.tempfile]
version = "3.26"
[dev-dependencies.tokio]
version = "1.47"
features = [
"rt-multi-thread",
"macros",
"time",
"io-util",
]
[dev-dependencies.tokio-rustls]
version = "0.26.2"
features = [
"ring",
"tls12",
]
default-features = false
[dev-dependencies.tower]
version = "0.5.2"
features = ["util"]