blob: 6fa8179481217364eabb37239965ecb20013f2b5 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
[package]
name = "server"
version = "0.6.0"
edition = "2024"
license = "Apache-2.0"
[package.metadata.cargo-udeps.ignore]
normal = ["tracing-appender"]
[package.metadata.cargo-machete]
ignored = ["vergen-git2"]
[[bin]]
name = "iggy-server"
path = "src/main.rs"
[features]
default = ["mimalloc"]
disable-mimalloc = []
mimalloc = ["dep:mimalloc"]
[dependencies]
ahash = { workspace = true }
anyhow = { workspace = true }
arcshift = "0.4.2"
argon2 = { workspace = true }
async-channel = { workspace = true }
async_zip = { workspace = true }
axum = { workspace = true }
axum-server = { workspace = true }
bincode = { workspace = true }
blake3 = { workspace = true }
bytes = { workspace = true }
chrono = { workspace = true }
clap = { workspace = true }
compio = { workspace = true }
compio-net = { workspace = true }
compio-quic = { workspace = true }
compio-tls = { workspace = true }
compio-ws = { workspace = true }
crossbeam = { workspace = true }
ctrlc = { version = "3.5", features = ["termination"] }
cyper = { workspace = true }
cyper-axum = { workspace = true }
dashmap = { workspace = true }
derive_more = { workspace = true }
dotenvy = { workspace = true }
enum_dispatch = { workspace = true }
err_trail = { version = "0.10.2" }
error_set = { version = "0.9.0" }
figlet-rs = { workspace = true }
figment = { workspace = true }
flume = { workspace = true }
futures = { workspace = true }
hash32 = "1.0.0"
human-repr = { workspace = true }
iggy_common = { workspace = true }
jsonwebtoken = { version = "10.2.0", features = ["rust_crypto"] }
lending-iterator = "0.1.7"
mimalloc = { workspace = true, optional = true }
moka = { version = "0.12.11", features = ["future"] }
nix = { version = "0.30", features = ["fs", "resource"] }
once_cell = "1.21.3"
opentelemetry = { version = "0.31.0", features = ["trace", "logs"] }
opentelemetry-appender-tracing = { version = "0.31.1", features = ["log"] }
opentelemetry-otlp = { version = "0.31.0", features = [
"logs",
"trace",
"grpc-tonic",
"http",
"http-proto",
"reqwest-client",
] }
opentelemetry-semantic-conventions = "0.31.0"
opentelemetry_sdk = { version = "0.31.0", features = [
"logs",
"trace",
"experimental_async_runtime",
"experimental_logs_batch_log_processor_with_async_runtime",
"experimental_trace_batch_span_processor_with_async_runtime",
] }
papaya = "0.2.3"
prometheus-client = "0.24.0"
rand = { workspace = true }
reqwest = { workspace = true, features = ["rustls-tls-no-provider"] }
ring = "0.17.14"
ringbuffer = "0.16.0"
rustls = { workspace = true }
rustls-pemfile = "2.2.0"
send_wrapper = "0.6.0"
serde = { workspace = true }
serde_with = { workspace = true }
slab = "0.4.11"
socket2 = "0.6.1"
static-toml = "1.3.0"
strum = { workspace = true }
sysinfo = { workspace = true }
tempfile = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["sync"] }
toml = { workspace = true }
tower-http = { workspace = true }
tracing = { workspace = true }
tracing-appender = { workspace = true }
tracing-opentelemetry = "0.32.0"
tracing-subscriber = { workspace = true }
tungstenite = { workspace = true }
twox-hash = { workspace = true }
ulid = "1.2.1"
uuid = { workspace = true }
[build-dependencies]
figment = { version = "0.10.19", features = ["json", "toml", "env"] }
vergen-git2 = { version = "1.0.7", features = [
"build",
"cargo",
"rustc",
"si",
] }
[dev-dependencies]
serial_test = { workspace = true }