-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Cargo.toml
101 lines (89 loc) · 3.26 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
[package]
name = "bgpkit-broker"
version = "0.7.6"
edition = "2021"
authors = ["Mingwei Zhang <[email protected]>"]
readme = "README.md"
license = "MIT"
repository = "https://github.com/bgpkit/bgpkit-broker"
documentation = "https://docs.rs/bgpkit-broker"
description = """
A library and command-line to provide indexing and searching functionalities for public BGP data archive files over time.
"""
keywords = ["bgp", "bgpkit", "api"]
[[bin]]
path = "src/cli/main.rs"
name = "bgpkit-broker"
required-features = ["cli"]
[dependencies]
#############################################
# Core Broker Rust SDK dependencies
#############################################
chrono = { version = "0.4", features = ["serde"] }
log = "0.4"
reqwest = { version = "0.12.7", default-features = false, features = ["blocking", "json", "stream", "rustls-tls-native-roots"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "1.0"
tracing = "0.1"
lazy_static = "1"
dotenvy = "0.15"
#############################################
# Optional dependencies
#############################################
# command-line interface dependencies
clap = { version = "4.3", features = ["derive"], optional = true }
dirs = { version = "5", optional = true }
humantime = { version = "2.1", optional = true }
num_cpus = { version = "1.15", optional = true }
tabled = { version = "0.13", optional = true }
tracing-subscriber = { version = "0.3", optional = true }
indicatif = { version = "0.17.7", optional = true }
futures-util = { version = "0.3.28", optional = true }
itertools = { version = "0.12.0", optional = true }
tempfile = { version = "3.8", optional = true }
which = { version = "5.0", optional = true }
bgpkit-commons = { version = "0.5", optional = true }
# crawler dependencies
futures = { version = "0.3", optional = true }
oneio = { version = "0.17.0", features = ["s3"], optional = true }
regex = { version = "1", optional = true }
scraper = { version = "0.17", optional = true }
tokio = { version = "1", optional = true, features = ["full"] }
# api dependencies
axum = { version = "0.7", optional = true }
tower-http = { version = "0.5", optional = true, features = ["cors"] }
http = { version = "1.0", optional = true }
utoipa = { version = "4", optional = true, features = ["axum_extras", "chrono"] }
utoipa-swagger-ui = { version = "5", optional = true, features = ["axum"] }
axum-prometheus = { version = "0.5.0", optional = true }
# database dependencies
sqlx = { version = "0.7", features = ["runtime-tokio", "sqlite"], optional = true }
async-nats = { version = "0.34.0", optional = true }
[features]
default = []
cli = [
# command-line interface
"clap", "dirs", "humantime", "num_cpus", "tracing-subscriber", "tabled", "itertools", "tempfile", "which",
"bgpkit-commons",
# crawler
"futures", "oneio", "regex", "scraper", "tokio",
# notification
"nats",
# database
"backend",
# bootstrap
"indicatif", "futures-util",
# API
"axum", "axum-prometheus", "utoipa", "utoipa-swagger-ui", "http", "tower-http",
]
backend = [
"tokio", "sqlx",
]
# notification features
nats = ["async-nats"]
[dev-dependencies]
tracing-subscriber = "0.3.17"
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }.tar.gz"
pkg-fmt = "tgz"