-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
111 lines (97 loc) · 3.46 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
[package]
name = "drogue-bazaar"
version = "0.3.0"
authors = ["Jens Reimann <[email protected]>"]
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.12"
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 = "798c968f0a63a0debcff9965c66b361e85946458" } # 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