master
toml 210 lines 5.16 KB
Raw
1 [workspace]
2 resolver = "2"
3 exclude = ["jf"]
4 members = [
5 # Individual crates
6 "journal-common",
7 "journal-core",
8 "journal-index",
9 "journal-log-writer",
10 "journal-engine",
11 "journal-registry",
12 "rdp",
13
14 # Netdata plugin workspace members
15 "netdata-plugin/error",
16 "netdata-plugin/protocol",
17 "netdata-plugin/rt",
18 "netdata-plugin/schema",
19 "netdata-plugin/types",
20 "netdata-plugin/bridge",
21 "netdata-plugin/charts-derive",
22
23 # Netdata log viewer workspace members
24 "netdata-log-viewer/journal-function",
25 "netdata-log-viewer/otel-signal-viewer-plugin",
26
27 # Netdata OTEL workspace members
28 "netdata-otel/otel-plugin",
29 "netdata-otel/flatten_otel",
30
31 # Netdata NetFlow workspace members
32 "netflow-plugin",
33
34 # Plugin IPC library
35 "netipc",
36 ]
37
38 [workspace.package]
39 version = "0.1.3"
40 edition = "2024"
41 rust-version = "1.85"
42
43 [workspace.lints.clippy]
44 collapsible_if = "allow"
45
46 [workspace.dependencies]
47 static_assertions = "1.1"
48 thiserror = "2"
49 zerocopy = { version = "0.9.0-alpha.0" }
50 libc = "0.2"
51 memmap2 = "0.9"
52 memchr = "2.7"
53 uuid = { version = "1.0"}
54 nix = { version = "0.30" }
55
56 ruzstd = "0.8"
57 siphasher = "1.0"
58 hashers = "1.0"
59 twox-hash = { version = "2.1", default-features = false }
60 rand = "0.9"
61 lz4_flex = { version = "0.12", default-features = false, features = ["std", "safe-decode", "checked-decode"] }
62 lzma-rust2 = { version = "0.15", default-features = false, features = ["std", "xz"] }
63 md5 = "0.7"
64
65 roaring = { git = "https://github.com/netdata/roaring-rs.git", branch="allocative" }
66 hashbrown = "0.17.0"
67 serde = { version = "1.0" }
68 rustc-hash = "2.1"
69 rmp-serde = "1.3.1"
70 notify = "8.2"
71
72 walkdir = "2.4"
73
74 async-stream = "0.3"
75 crossbeam-channel = "0.5"
76 regex = "1.10"
77 bitvec = "1.0.1"
78 serde_json = "1.0"
79 anyhow = "1.0"
80 arbitrary = "1.3"
81 chrono = { version = "0.4" }
82
83
84 async-trait = "0.1.89"
85 serde_yaml = "0.9.34"
86 serde_regex = "1.1.0"
87 tokio = { version = "1.45", features = ["full"] }
88 ipnet = "2.11.0"
89 ipnet-trie = "0.3.0"
90
91 # Tracing
92 tracing = { version = "0.1" }
93 tracing-journald = "0.3"
94 tracing-futures = { version = "0.2.5" }
95 tracing-opentelemetry = "0.32.0"
96 tracing-subscriber = "0.3"
97 opentelemetry = "0.31.0"
98 opentelemetry_sdk = { version = "0.31.0", features = ["rt-tokio", "logs"] }
99 opentelemetry-otlp = { version = "0.31.0", features = ["grpc-tonic", "logs"] }
100 opentelemetry-proto = "0.31"
101
102 # Netdata plugin
103 schemars = "1.0"
104
105 # Journal histogram dependencies
106 atoi = "2.0"
107 bitflags = "2.9"
108 bytes = "1"
109 futures = "0.3"
110 phf = { version = "0.12", default-features = false }
111 phf_codegen = "0.12"
112 tokio-stream = "0.1"
113 tokio-util = { version = "0.7", features = ["codec"] }
114 foyer = { version = "0.20.0", features = ["serde"] }
115 lru = "0.16"
116 parking_lot = "0.12"
117 allocative = { version = "0.3.4" }
118
119 hdrhistogram = { version = "7.5" }
120 rayon = "1.11.0"
121 itoa = "1.0"
122
123 base64 = "0.22"
124
125 # NetFlow-specific dependencies
126 jaq-core = "3.0.0"
127 jaq-json = "2.0.0"
128 jaq-std = "3.0.0"
129 maxminddb = "0.27.3"
130 netflow_parser = "0.9.0"
131 netgauze-bgp-pkt = "0.11.0"
132 netgauze-bmp-pkt = "0.11.0"
133 sflow-parser = "0.6.0"
134 reqwest = { version = "0.13.2", default-features = false }
135 socket2 = "0.6.3"
136 tonic-prost = "0.14"
137 prost = "0.14"
138 fst = "0.4.7"
139 tonic-prost-build = "0.14"
140 protoc-bin-vendored = "3"
141 etherparse = "0.20.1"
142 pcap-file = "2.0.0"
143
144 # OTEL-specific dependencies
145 atty = "0.2"
146 bytesize = { version = "2.3.1", features = ["serde"] }
147 clap = { version = "4", features = ["derive"] }
148 duct = "0.13"
149 humantime = "2.2"
150 humantime-serde = "1.1"
151 hyper-util = "0.1"
152 indexmap = "2.9"
153 tonic = "0.14"
154 tower = "0.5"
155
156 flatten-serde-json = { git = "https://github.com/meilisearch/meilisearch", tag = "v1.22.1" }
157
158 # Internal workspace crates
159 journal-common = { path = "journal-common" }
160 journal-core = { path = "journal-core" }
161 journal-index = { path = "journal-index" }
162 journal-log-writer = { path = "journal-log-writer" }
163 journal-engine = { path = "journal-engine" }
164 journal-registry = { path = "journal-registry" }
165 rdp = { path = "rdp" }
166
167 # Netdata plugin crates
168 netdata-plugin-error = { path = "netdata-plugin/error" }
169 netdata-plugin-protocol = { path = "netdata-plugin/protocol" }
170 netdata-plugin-rt = { path = "netdata-plugin/rt" }
171 netdata-plugin-schema = { path = "netdata-plugin/schema" }
172 netdata-plugin-types = { path = "netdata-plugin/types" }
173 netdata-plugin-bridge = { path = "netdata-plugin/bridge" }
174 netdata-plugin-charts-derive = { path = "netdata-plugin/charts-derive" }
175 rt = { path = "netdata-plugin/rt" }
176
177 # Netdata log viewer crates
178 journal-function = { path = "netdata-log-viewer/journal-function" }
179 otel-signal-viewer-plugin = { path = "netdata-log-viewer/otel-signal-viewer-plugin" }
180
181 # Netdata OTEL crates
182 otel-plugin = { path = "netdata-otel/otel-plugin" }
183 flatten_otel = { path = "netdata-otel/flatten_otel" }
184
185 tempfile = { version = "3" }
186
187 proptest = "1.9"
188
189 [profile.dev]
190 opt-level = 1
191 debug = true
192 debug-assertions = true
193
194 [profile.release]
195 # Keep debuginfo in packaged release builds so production crashes remain symbolizable.
196 debug = true
197 opt-level = 3
198 lto = "fat"
199 codegen-units = 1
200
201 [profile.release-min]
202 inherits = "release"
203 opt-level = "z"
204 lto = "fat"
205 codegen-units = 1
206 strip = true
207 panic = "abort"
208
209 [patch.crates-io]
210 fastant = { git = "https://github.com/netdata/fastant.git", branch = "fastant-x86-fix" }