-
-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathCargo.toml
More file actions
143 lines (135 loc) · 5.53 KB
/
Copy pathCargo.toml
File metadata and controls
143 lines (135 loc) · 5.53 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
[workspace]
members = ["crates/*"]
resolver = "3"
[workspace.package]
authors = ["Stackable GmbH <info@stackable.de>"]
license = "Apache-2.0"
edition = "2024"
repository = "https://github.com/stackabletech/operator-rs"
[workspace.dependencies]
arc-swap = "1.7.0"
async-trait = "0.1.89"
axum = { version = "0.8.1", features = ["http2"] }
base64 = "0.22"
built = "0.8.1"
clap = { version = "4.5.17", features = ["derive", "cargo", "env"] }
const_format = "0.2.33"
# Pinned to the old RustCrypto generation: const-oid 0.10 requires x509-cert 0.3,
# which is not released yet. Tracking: https://github.com/RustCrypto/formats/issues/1289
# See also the rand/rand_core and sha2/signature pins below.
const-oid = { version = "0.9.6", features = ["db"] }
convert_case = "0.11.0"
convert_case_extras = "0.2.0"
darling = "0.23.0"
delegate = "0.13.0"
dockerfile-parser = "0.9.0"
ecdsa = { version = "0.16.9", features = ["digest", "pem"] }
educe = { version = "0.6.0", default-features = false, features = ["Clone", "Debug", "Default", "PartialEq", "Eq"] }
either = "1.13.0"
futures = "0.3.30"
futures-util = "0.3.30"
hickory-resolver = "0.26.1"
http = "1.3.1"
humantime = "2.1.0"
indexmap = "2.5.0"
indoc = "2.0.6"
jiff = "0.2.18"
insta = { version = "1.48.0", features = ["glob"] }
hyper = { version = "1.4.1", features = ["full"] }
hyper-util = "0.1.8"
itertools = "0.15.0"
java-properties = "2.0"
json-patch = "4.0.0"
k8s-openapi = { version = "0.28.0", default-features = false, features = ["schemars", "v1_36"] }
# We use rustls instead of openssl for easier portability, e.g. so that we can build stackablectl without the need to vendor (build from source) openssl
# We use ring instead of aws-lc-rs, as this currently fails to build in "make run-dev"
kube = { version = "4.0.0", default-features = false, features = ["client", "jsonpatch", "runtime", "derive", "admission", "rustls-tls", "ring"] }
local-ip-address = "0.6.13"
opentelemetry = "0.32.0"
opentelemetry_sdk = { version = "0.32.0", features = ["rt-tokio"] }
opentelemetry-appender-tracing = "0.32.0"
opentelemetry-otlp = "0.32.0"
opentelemetry-semantic-conventions = "0.32.0"
p256 = { version = "0.13.2", features = ["ecdsa"] }
paste = "1.0.15"
pin-project = "1.1.5"
prettyplease = "0.2.22"
proc-macro2 = "1.0.86"
quote = "1.0.37"
# Pinned to the old RustCrypto generation: rand_core 0.9+ (and the matching rand) pulls
# in the new digest/signature ecosystem that rsa 0.9 and x509-cert 0.2 do not support yet.
# Bumping splits the graph into duplicate, incompatible crate versions.
# Unblocked once rsa 0.10 (currently in RC) lands: https://github.com/RustCrypto/RSA
rand = "0.9.0"
rand_core = "0.6.4"
regex = "1.12.4"
rsa = { version = "0.9.6", features = ["sha2"] }
rstest = "0.26.1"
rstest_reuse = "0.7.0"
schemars = { version = "1.0.0", features = ["url2"] }
semver = "1.0.23"
serde = { version = "1.0.210", features = ["derive"] }
serde_json = "1.0.128"
serde_yaml = "0.9.34" # This is the last available version, see https://github.com/dtolnay/serde-yaml/releases/tag/0.9.34 for details
# Pinned to the old RustCrypto generation (digest 0.10 / signature 2.x): sha2 0.11 uses
# digest 0.11 and signature 3.0, which rsa 0.9 and x509-cert 0.2 do not support yet.
# Unblocked once rsa 0.10 (currently in RC) lands: https://github.com/RustCrypto/RSA
sha2 = { version = "0.10.8", features = ["oid"] }
signature = "2.2.0"
snafu = "0.9.1"
stackable-operator-derive = { path = "stackable-operator-derive" }
strum = { version = "0.28.0", features = ["derive"] }
syn = "2.0.118"
sysinfo = "0.39.5"
time = { version = "0.3.49" }
tokio = { version = "1.40.0", features = ["macros", "rt-multi-thread", "fs"] }
# We use ring instead of aws-lc-rs, as this currently fails to build in "make run-dev"
tokio-rustls = { version = "0.26.0", default-features = false, features = ["ring", "logging", "tls12"] }
tokio-test = "0.4.4"
tower = { version = "0.5.1", features = ["util"] }
tower-http = { version = "0.7.0", features = ["trace"] } # We don't actually use this crate, but we need to enable the `trace` feature
tracing = "0.1.40"
tracing-appender = "0.2.3"
tracing-opentelemetry = "0.33.0"
tracing-subscriber = { version = "0.3.18", features = ["env-filter", "json"] }
trybuild = "1.0.99"
url = { version = "2.5.2", features = ["serde"] }
uuid = "1.23.0"
winnow = "1.0.3"
x509-cert = { version = "0.2.5", features = ["builder"] }
xml = "1.3.0"
zeroize = "1.9.0"
[workspace.lints.clippy]
# Enable all pedantic lints (with lower priority so individual lints can override)
pedantic = { level = "deny", priority = -1 }
# Pedantic lints we don't enforce (yet)
doc_markdown = "allow"
missing_errors_doc = "allow"
must_use_candidate = "allow"
return_self_not_must_use = "allow"
missing_panics_doc = "allow"
cast_possible_truncation = "allow"
float_cmp = "allow"
cast_sign_loss = "allow"
cast_precision_loss = "allow"
unchecked_time_subtraction = "allow"
# We should be able to deny this, but it lint's on code generated by darling, raised https://github.com/TedDriggs/darling/pull/429
needless_continue = "allow"
# Additional nursery lints we enforce
use_self = "deny"
or_fun_call = "deny"
derive_partial_eq_without_eq = "deny"
unnecessary_struct_initialization = "deny"
# Additional restriction lints we enforce
unwrap_in_result = "deny"
unwrap_used = "deny"
panic = "deny"
# Use O3 in tests to improve the RSA key generation speed in the stackable-certs crate
[profile.test.package]
stackable-certs.opt-level = 3
rsa.opt-level = 3
# Run snapshot testing faster even as a dev dependency.
# See https://insta.rs/docs/quickstart/#optional-faster-runs
[profile.dev.package]
insta.opt-level = 3
similar.opt-level = 3