aboutsummaryrefslogtreecommitdiffstats
blob: 475ca1f303e7c14a4f817c76d99667028bf9ad60 (plain) (blame)
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
# SPDX-FileCopyrightText: 2026 Nikolay Govorov
# SPDX-License-Identifier: AGPL-3.0-or-later

[workspace]
members = ["crates/*", "tests/smoke", "xtask"]
resolver = "3"

[workspace.package]
publish = false
edition = "2024"
version = "0.1.0"
license = "AGPL-3.0-or-later"
authors = ["Nikolay Govorov <me@govorov.online>"]
homepage = "https://pkg.earth"
repository = "https://github.com/dimidiumlabs/recluse"

[workspace.dependencies]
# local dependencies
base = { path = "crates/base" }
repos = { path = "crates/repos" }

# external
async-trait = "0.1"
axum = { version = "0.8", features = ["http2", "macros"] }
axum-server = { version = "0.8", features = ["tls-rustls-no-provider"] }
bytes = "1.11"
bytesize = { version = "2.3", features = ["serde"] }
chrono = { version = "0.4", features = ["serde"] }
crc32fast = "1.5"
hex = "0.4"
http-body-util = "0.1"
hyper = "1.8"
hyper-tls = "0.6"
hyper-util = { version = "0.1", features = ["client-legacy", "http1", "http2", "tokio"] }
maud = { version = "0.27", features = ["axum"] }
rustls = { version = "0.23", default-features = false, features = [
  "ring",
  "std",
  "tls12",
] }
semver = "1.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
sqlx = { version = "0.8", features = [
  "sqlite",
  "runtime-tokio",
  "macros",
  "derive",
  "chrono",
  "json",
] }
strum = { version = "0.27", features = ["derive"] }
thiserror = "2.0"
tokio = { version = "1.49", features = [
  "rt-multi-thread",
  "macros",
  "time",
  "signal",
  "fs",
  "io-util",
] }
tokio-util = "0.7"
toml = "0.9"
tonic = "0.14"
tower = { version = "0.5", features = ["util"] }
tower-http = { version = "0.6", features = [
  "trace",
  "compression-full",
  "limit",
  "timeout",
  "request-id",
  "set-header",
  "follow-redirect",
  "util",
] }
tower_governor = { version = "0.8", features = ["axum", "tracing"] }
url = { version = "2.5", features = ["serde"] }
uuid = { version = "1.19", features = ["v4", "v5"] }

# telemetry
opentelemetry = "0.31"
opentelemetry-appender-tracing = "0.31"
opentelemetry-otlp = { version = "0.31", features = [
  "grpc-tonic",
  "http-proto",
  "logs",
  "metrics",
  "trace",
  "tls",
  "tls-roots",
] }
opentelemetry-semantic-conventions = "0.31"
opentelemetry_sdk = { version = "0.31", features = [
  "rt-tokio",
  "logs",
  "metrics",
  "trace",
] }
tracing = "0.1"
tracing-opentelemetry = "0.32"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }

# platform-specific
sd-notify = "0.4"

# dev
proptest = "1.6"
tempfile = "3.24"