-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCargo.toml
More file actions
175 lines (158 loc) · 4.16 KB
/
Cargo.toml
File metadata and controls
175 lines (158 loc) · 4.16 KB
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
[package]
name = "magicentry"
version = "0.8.6"
edition = "2024"
[workspace]
resolver = "3"
members = ["crates/*"]
default-members = ["."]
[workspace.dependencies]
maud = { version = "0.27", features = ["axum"] }
serde_qs = { version = "0.15", features = ["axum"] }
chrono = { version = "0.4", features = ["serde"] }
derive_more = { version = "2.1", features = ["display", "error"] }
duration-str = "0.21"
formatx = "0.2"
futures = "0.3"
hex = "0.4.3"
lettre = { version = "0.11", default-features = false, features = [
"builder",
"pool",
"rustls-tls",
"smtp-transport",
"tokio1-rustls-tls",
] }
md5 = "0.8"
notify = "8"
rand = "0.10"
reqwest = { version = "0.12", default-features = false, features = [
"rustls-tls",
] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
sha2 = "0.10"
sqlx = { version = "0.8", features = [
"all-databases",
"chrono",
"json",
"migrate",
"runtime-tokio-rustls",
"uuid"
] }
tokio = { version = "1", features = ["full"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "json"] }
url = { version = "2", features = ["serde"] }
urlencoding = "2.1"
uuid = { version = "1.22", features = ["serde", "v4"] }
webauthn-rs = { version = "0.5", features = ["danger-allow-state-serialisation"] }
# Dependency of webauthn-rs that needs to be vendored
openssl = { version = "0.10", features = ["vendored"] }
anyhow = "1.0"
async-trait = "0.1"
base64 = "0.22"
flate2 = "1.1"
jsonwebtoken = { version = "10", default-features = false, features = [
"rust_crypto"
] }
quick-xml = { version = "0.39", features = ["async-tokio", "serialize"] }
rsa = { version = "0.9", features = ["sha2"] }
thiserror = "2.0"
arc-swap = "1.8"
axum = { version = "0.8", features = ["http2", "macros", "tokio"] }
axum-extra = { version = "0.12", features = [
"cookie",
"form",
"query",
"typed-header",
"typed-routing"
] }
headers = "0.4"
k8s-openapi = { version = "0.24", features = ["v1_28"] }
kube = { version = "0.99", features = ["derive", "runtime"] }
tower-http = { version = "0.6", features = ["fs", "tokio", "trace"] }
# dev deps
actix-http = "3.12"
axum-test = { version = "18", features = ["reqwest", "typed-routing"] }
criterion = { version = "0.8", features = ["async_tokio"] }
glob = "0.3"
# Use Hurl as a library to run E2E HTTP specs
# We intentionally put this under dev-dependencies so it's only pulled for tests
hurl = "*"
hurl_core = "*"
scraper = "0.24"
tempfile = "3.26"
tiny_http = "0.12"
[[bench]]
harness = false
name = "authurl_status"
[dependencies]
anyhow.workspace = true
arc-swap.workspace = true
async-trait.workspace = true
axum.workspace = true
axum-extra.workspace = true
base64.workspace = true
chrono.workspace = true
derive_more.workspace = true
duration-str.workspace = true
flate2.workspace = true
formatx.workspace = true
futures.workspace = true
headers.workspace = true
hex.workspace = true
jsonwebtoken.workspace = true
lettre.workspace = true
maud.workspace = true
md5.workspace = true
notify.workspace = true
openssl.workspace = true
quick-xml.workspace = true
rand.workspace = true
reqwest.workspace = true
rsa.workspace = true
serde.workspace = true
serde_json.workspace = true
serde_qs.workspace = true
serde_yaml.workspace = true
sha2.workspace = true
sqlx.workspace = true
thiserror.workspace = true
tokio.workspace = true
tower-http.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
url.workspace = true
urlencoding.workspace = true
uuid.workspace = true
webauthn-rs.workspace = true
k8s-openapi = { workspace = true, optional = true }
kube = { workspace = true, optional = true }
[dev-dependencies]
actix-http.workspace = true
axum-test.workspace = true
criterion.workspace = true
glob.workspace = true
hurl.workspace = true
hurl_core.workspace = true
scraper.workspace = true
tempfile.workspace = true
tiny_http.workspace = true
[features]
default = []
kube = ["dep:k8s-openapi", "dep:kube"]
[lints.clippy]
enum_glob_use = "deny"
option_if_let_else = "allow"
# pedantic = "deny"
# nursery = "deny"
# unwrap_used = "deny"
[lints.rust]
unsafe_code = "forbid"
[profile.release]
opt-level = 3
strip = "symbols"
lto = true
panic = "abort"
codegen-units = 1