-
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathCargo.toml
116 lines (97 loc) · 3.06 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
112
113
114
115
116
[workspace]
members = [
"binary/spacegate",
"binary/admin-server",
"crates/extension/*",
"crates/kernel",
"crates/plugin",
"crates/model",
"crates/config",
"crates/shell",
"examples/sayhello",
"examples/socks5-proxy",
"examples/mitm-proxy",
]
resolver = "2"
[profile.release]
codegen-units = 1
debug = false
debug-assertions = false
lto = "fat"
opt-level = "z"
panic = "abort"
rpath = false
strip = true
[workspace.package]
version = "0.2.0-alpha.2"
authors = [
"gudaoxuri <[email protected]>",
"4t145 <[email protected]>",
"RWDai <[email protected]>",
]
description = "A library-first, lightweight, high-performance, cloud-native supported API gateway"
keywords = ["http", "gateway", "proxy", "websocket", "kubernates"]
categories = ["web-programming"]
homepage = "https://github.com/ideal-world/spacegate"
documentation = "https://docs.rs/spacegate/"
repository = "https://github.com/ideal-world/spacegate"
edition = "2021"
license = "MIT/Apache-2.0"
rust-version = "1.76"
[workspace.dependencies]
spacegate-kernel = { version = "0.2.0-alpha.2", path = "./crates/kernel" }
spacegate-plugin = { version = "0.2.0-alpha.2", path = "./crates/plugin" }
spacegate-config = { version = "0.2.0-alpha.2", path = "./crates/config" }
spacegate-model = { version = "0.2.0-alpha.2", path = "./crates/model" }
spacegate-shell = { version = "0.2.0-alpha.2", path = "./crates/shell" }
spacegate-ext-axum = { version = "0.2.0-alpha.2", path = "./crates/extension/axum" }
spacegate-ext-redis = { version = "0.2.0-alpha.2", path = "./crates/extension/redis" }
# runtime
tokio = { version = "1" }
# Basic
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1" }
toml = { version = "0.8", features = ["preserve_order"] }
lazy_static = { version = "1.4" }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tracing = { version = "0" }
# Encode
base64 = { version = "0.22" }
# Time
chrono = { version = "0.4" }
# Http
hyper = { version = "1", features = ["full"] }
http-body-util = { version = "0" }
hyper-util = { version = "0" }
# ws
tokio-tungstenite = { version = "0" }
tower-layer = { version = "0.3" }
tower-http = { version = "0.6" }
tower = { version = "0.5" }
# K8s
kube = { version = "0.85", features = ["runtime", "derive"] }
k8s-openapi = { version = "0.19", features = ["v1_21"] }
k8s-gateway-api = { version = "0.13" }
# validator = { version = "0.16.0", features = ["derive"] }
schemars = { version = "0.8.6" }
# Test
reqwest = { version = "0.11", features = ["json", "gzip", "brotli"] }
testcontainers-modules = { version = "0.3" }
bytes = { version = "1" }
# Tls
hyper-rustls = { version = "0.27", no-default-features = true, features = ["ring", "http2", "http1", "tls12", "native-tokio"] }
rustls-pemfile = "2"
tokio-rustls = { version = "0.26" }
# regex
regex = { version = "1" }
serde_regex = { version = "1.1.0" }
# futures
pin-project-lite = { version = "0.2" }
tokio-util = { version = "0.7", features = ["io"] }
futures-util = { version = "0" }
# utils
ipnet = { version = "2" }
# notify
notify = { version = "6.1.1" }
# web-server
axum = "0.7.6"