[package] name = "drogue-bazaar" version = "0.3.0" authors = ["Jens Reimann "] license = "Apache-2.0" description = "A place to find tools for building your Rust application" repository = "https://github.com/drogue-iot/drogue-bazaar" homepage = "https://drogue.io" categories = ["rust-patterns"] keywords = ["Service", "Runtime", "Plumbing"] readme = "README.md" edition = "2021" [dependencies] anyhow = "1" async-trait = "0.1" chrono = "0.4" config = "0.13" dotenvy = "0.15" drogue-client = "0.11" env_logger = "0.9" futures-core = "0.3" futures-util = "0.3" http = "0.2" humantime = "2" humantime-serde = "1" log = "0.4" openid = "0.10" pem = "1" prometheus = "0.13" reqwest = "0.11" serde = { version = "1", features = ["derive"] } serde_json = "1" thiserror = "1" tracing = "0.1" url = "2" native-tls = { version = "0.2", optional = true } openssl = { version = "0.10", optional = true } # actix dependencies actix-cors = { version = "0.6", optional = true } actix-http = { version = "3", optional = true } actix-service = { version = "2", optional = true } actix-web = { version = "4.2", optional = true } actix-web-extras = { version = "0.1", optional = true } actix-web-httpauth = { version = "0.8", optional = true } actix-web-prom = { version = "0.6", optional = true } tracing-actix-web = { version = "0.6", features = ["opentelemetry_0_18"], optional = true } # app dependencies opentelemetry = { version = "0.18", features = ["rt-tokio"], optional = true } opentelemetry-jaeger = { version = "0.17", features = ["rt-tokio"], optional = true } tokio = { version = "1", features = ["time"], optional = true } tracing-log = { version = "0.1", optional = true } tracing-opentelemetry = { version = "0.18", optional = true } tracing-subscriber = { version = "0.3", features = ["env-filter", "json"], optional = true } # postgres dependencies deadpool = { version = "0.9", optional = true } deadpool-postgres = { version = "0.10", features = ["serde", "rt_tokio_1"], optional = true } postgres-native-tls = { version = "0.5", optional = true } tokio-postgres = { version = "0.7", features = ["runtime", "with-serde_json-1", "with-uuid-1", "with-chrono-0_4"], optional = true } [patch.crates-io] #actix-web = { git = "https://github.com/ctron/actix-web", rev = "f3f41a0cc70e43564f8243b3ff425195566b5f16" } # FIXME: awaiting release 4.2.0 #actix-http = { git = "https://github.com/ctron/actix-web", rev = "f3f41a0cc70e43564f8243b3ff425195566b5f16" } # FIXME: awaiting release 4.2.0 #drogue-client = { git = "https://github.com/drogue-iot/drogue-client", rev = "78aaf1b0ab7524f428efec5a9de75a1242701951" } # FIXME: awaiting release 0.11.0 #drogue-client = { path = "../drogue-client" } [features] default = ["default-tls", "actix", "openssl", "app", "postgres"] app = [ "opentelemetry", "opentelemetry-jaeger", "dep:tokio", "tracing-opentelemetry", "tracing-subscriber", "tracing-log", ] actix = [ "app", "actix-cors", "actix-http", "actix-service", "actix-web", "actix-web-extras", "actix-web-httpauth", "actix-web-prom", "tracing-actix-web" ] default-tls = ["reqwest/default-tls", "native-tls"] native-tls = ["dep:native-tls", "reqwest/native-tls"] rustls = ["reqwest/rustls-tls", "actix-web?/rustls"] openssl = ["dep:openssl", "actix-web?/openssl"] postgres = [ "native-tls", "deadpool", "deadpool-postgres", "postgres-native-tls", "tokio-postgres", ] [package.metadata.cargo-all-features] skip_optional_dependencies = true