[package]
edition = "2021"
rust-version = "1.89"
name = "rust-zero-core"
version = "0.1.0-alpha.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Runtime primitives for rust-zero services"
homepage = "https://github.com/kevwan/rust-zero"
documentation = "https://docs.rs/rust-zero-core"
readme = "README.md"
keywords = [
"web",
"grpc",
"microservices",
"middleware",
"runtime",
]
categories = [
"web-programming",
"network-programming",
"asynchronous",
]
license = "MIT"
repository = "https://github.com/kevwan/rust-zero"
[package.metadata.docs.rs]
all-features = true
[features]
default = []
etcd = ["dep:etcd-client"]
kubernetes = [
"dep:futures",
"dep:k8s-openapi",
"dep:kube",
]
stores = [
"stores-mongo",
"stores-redis",
"stores-sql",
]
stores-mongo = ["dep:mongodb"]
stores-redis = [
"dep:futures",
"dep:redis",
]
stores-sql = ["dep:sqlx"]
telemetry = [
"dep:opentelemetry",
"dep:opentelemetry-otlp",
"dep:opentelemetry_sdk",
]
[lib]
name = "rust_zero_core"
path = "src/lib.rs"
[[example]]
name = "etcd_discovery"
path = "examples/etcd_discovery.rs"
required-features = ["etcd"]
[[example]]
name = "external_stores"
path = "examples/external_stores.rs"
required-features = ["stores"]
[[example]]
name = "kubernetes_discovery"
path = "examples/kubernetes_discovery.rs"
required-features = ["kubernetes"]
[[example]]
name = "telemetry"
path = "examples/telemetry.rs"
required-features = ["telemetry"]
[dependencies.base64]
version = "0.22"
[dependencies.etcd-client]
version = "0.19"
optional = true
[dependencies.flate2]
version = "1"
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.hmac]
version = "0.12"
[dependencies.json5]
version = "1.3"
[dependencies.k8s-openapi]
version = "0.28"
features = ["latest"]
optional = true
[dependencies.kube]
version = "4.2"
features = ["runtime"]
optional = true
[dependencies.libc]
version = "0.2"
[dependencies.mongodb]
version = "3.8"
optional = true
[dependencies.opentelemetry]
version = "0.32"
features = ["trace"]
optional = true
[dependencies.opentelemetry-otlp]
version = "0.32"
features = [
"grpc-tonic",
"http-proto",
"reqwest-blocking-client",
"trace",
]
optional = true
default-features = false
[dependencies.opentelemetry_sdk]
version = "0.32"
features = ["trace"]
optional = true
[dependencies.redis]
version = "0.32"
features = [
"cluster-async",
"tokio-comp",
]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio",
"sqlite",
"postgres",
"mysql",
]
optional = true
default-features = false
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt",
"signal",
"sync",
"time",
]
[dependencies.toml]
version = "0.8"