-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathCargo.toml
More file actions
97 lines (82 loc) · 2.58 KB
/
Cargo.toml
File metadata and controls
97 lines (82 loc) · 2.58 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
[package]
name = "hotdog"
version = "1.2.4"
authors = ["R. Tyler Croy <rtyler@buoyantdata.com>"]
edition = "2024"
[features]
default = ["simd"]
simd = ["simd-json"]
[dependencies]
async-channel = "1"
# Needed for running tokio reactors on smol, primarily for object_store
async-compat = "0.2.4"
async-trait = "0"
# Needed for listening for TLS connections
async-tls = "0.13.0"
smol = "2"
rustls = "0.21"
rustls-pemfile = "1.0"
# Handling command line options
clap = { version = "2", features = ["yaml"] }
# Needed for time management
chrono = "0"
# Handling configuration overlays
config = { version = "=0.11.0", features = ["yaml"] }
# Needed to report metrics of hotdog's performance
dipstick = "0.9"
# Used for string replacements and other template based transformations
handlebars = "6"
# used for rule matching on JSON
# The "sync" feature is undocumented but required in order to swap Rc for Arc
# in the crate, allowing it to be used with futures and threads properly
jmespath = { version = "0.3.0", features = ["sync"] }
# Faster locking primitives
parking_lot = "0"
pretty_env_logger = "0"
# Needed for forwarding messages along to Kafka
# including the SSL and SASL features to ensure that this can authenticate
# against secure Kafka clusters, e.g. AWS MSK
rdkafka = { version = "0", features = ["ssl", "sasl"]}
# S3 sink
object_store = { version = "0.12", features = ["aws", "cloud"] }
arrow-array = "55"
arrow-json = "55"
arrow-schema = "55"
parquet = { version = "55", features = ["arrow", "async", "object_store"]}
# Used for rule matching
regex = "1"
# Needed for deserializing JSON messages _and_ managing our configuration
# effectively
serde = { version = "1", features = ["rc"] }
serde_derive = "1"
serde_json = "1"
# Helpful to deserialize our regular expressions directly from the
# configuration file
serde_regex = "0"
simd-json = { version = "0", optional = true}
# Needed to do clever enum/derive tricks for strings
strum = "0"
strum_macros = "0"
# For parsing the syslog formatted messages
syslog_rfc5424 = "0"
syslog_loose = "0"
# Needed for the http-based health checks
tide = "0"
# Needed to tag rules and actions with their own unique identifiers
uuid = { version = "0", features = ["v4"] }
anyhow = "1.0.97"
tracing = { version = "0.1.41", features = ["log"] }
tracing-subscriber = "0.3.19"
url = { version = "2.5.4", features = ["serde"] }
ctrlc = "3.4.6"
affinity = "0.1.2"
jemallocator = "0.5.4"
[dev-dependencies]
serde_yaml = "0.9.34"
# Optimize the heck out of the release build, I have no idea what these flags
# do
[profile.release]
panic = "abort"
lto = true
codegen-units=1
opt-level="s"