| # 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.9.0-edge.6" |
| edition = "2024" |
| license = "Apache-2.0" |
| publish = false |
| |
| [package.metadata.cargo-udeps.ignore] |
| normal = ["tracing-appender"] |
| |
| [package.metadata.cargo-machete] |
| ignored = [ |
| "ahash", |
| "anyhow", |
| "argon2", |
| "async-channel", |
| "async_zip", |
| "axum", |
| "axum-server", |
| "bytes", |
| "chrono", |
| "ctrlc", |
| "cyper", |
| "cyper-axum", |
| "dashmap", |
| "err_trail", |
| "error_set", |
| "figlet-rs", |
| "hash32", |
| "human-repr", |
| "jsonwebtoken", |
| "left-right", |
| "mimalloc", |
| "mime_guess", |
| "opentelemetry", |
| "opentelemetry-appender-tracing", |
| "opentelemetry-otlp", |
| "opentelemetry-semantic-conventions", |
| "opentelemetry_sdk", |
| "papaya", |
| "rand", |
| "ringbuffer", |
| "rmp-serde", |
| "rolling-file", |
| "rust-embed", |
| "rustls", |
| "rustls-pemfile", |
| "send_wrapper", |
| "serde", |
| "socket2", |
| "strum", |
| "sysinfo", |
| "tempfile", |
| "tracing-appender", |
| "tracing-opentelemetry", |
| "ulid", |
| "uuid", |
| "vergen-git2", |
| ] |
| |
| [[bin]] |
| name = "iggy-server" |
| path = "src/main.rs" |
| |
| [features] |
| default = ["mimalloc", "iggy-web"] |
| disable-mimalloc = [] |
| mimalloc = ["dep:mimalloc"] |
| iggy-web = ["dep:rust-embed", "dep:mime_guess"] |
| systemd = ["dep:sd-notify"] |
| |
| [dependencies] |
| ahash = { workspace = true } |
| argon2 = { workspace = true } |
| async-channel = { workspace = true } |
| async_zip = { workspace = true } |
| axum = { workspace = true } |
| axum-server = { workspace = true } |
| blake3 = { workspace = true } |
| bytemuck = { workspace = true } |
| bytes = { workspace = true } |
| chrono = { workspace = true } |
| clap = { workspace = true } |
| compio = { workspace = true } |
| configs = { workspace = true } |
| consensus = { workspace = true } |
| cpu_allocation = { workspace = true } |
| crossfire = { workspace = true } |
| ctrlc = { workspace = true } |
| cyper = { workspace = true } |
| cyper-axum = { workspace = true } |
| cyper-core = { workspace = true } |
| dashmap = { workspace = true } |
| dotenvy = { workspace = true } |
| err_trail = { workspace = true } |
| error_set = { workspace = true } |
| figlet-rs = { workspace = true } |
| fs2 = { workspace = true } |
| futures = { workspace = true } |
| hash32 = { workspace = true } |
| human-repr = { workspace = true } |
| hyper = { workspace = true } |
| hyper-util = { workspace = true } |
| iggy_binary_protocol = { workspace = true } |
| iggy_common = { workspace = true } |
| journal = { workspace = true } |
| jsonwebtoken = { workspace = true } |
| left-right = { workspace = true } |
| message_bus = { workspace = true } |
| metadata = { workspace = true } |
| mimalloc = { workspace = true, optional = true } |
| mime_guess = { workspace = true, optional = true } |
| nix = { workspace = true } |
| opentelemetry = { workspace = true } |
| opentelemetry-appender-tracing = { workspace = true } |
| opentelemetry-otlp = { workspace = true } |
| opentelemetry-semantic-conventions = { workspace = true } |
| opentelemetry_sdk = { workspace = true } |
| papaya = { workspace = true } |
| partitions = { workspace = true } |
| prometheus-client = { workspace = true } |
| rand = { workspace = true } |
| ringbuffer = { workspace = true } |
| rmp-serde = { workspace = true } |
| rolling-file = { workspace = true } |
| rust-embed = { workspace = true, optional = true } |
| rustls = { workspace = true } |
| rustls-pemfile = { workspace = true } |
| sd-notify = { workspace = true, optional = true } |
| secrecy = { workspace = true } |
| send_wrapper = { workspace = true } |
| serde = { workspace = true } |
| serde_json = { workspace = true } |
| server_common = { workspace = true } |
| shard = { workspace = true } |
| socket2 = { workspace = true } |
| strum = { workspace = true } |
| sysinfo = { workspace = true } |
| system_stats = { workspace = true } |
| tempfile = { workspace = true } |
| thiserror = { workspace = true } |
| tokio = { workspace = true } |
| toml = { workspace = true } |
| tower-http = { workspace = true } |
| tracing = { workspace = true } |
| tracing-appender = { workspace = true } |
| tracing-opentelemetry = { workspace = true } |
| ulid = { workspace = true } |
| uuid = { workspace = true } |
| |
| [target.'cfg(not(target_env = "musl"))'.dependencies] |
| hwlocality = { workspace = true } |
| |
| [target.'cfg(target_env = "musl")'.dependencies] |
| hwlocality = { workspace = true, features = ["vendored"] } |
| |
| [build-dependencies] |
| vergen-git2 = { workspace = true } |
| |
| [dev-dependencies] |
| assert_cmd = { workspace = true } |
| bytemuck = { workspace = true } |
| proc-macro2 = { workspace = true } |
| quote = { workspace = true } |
| # Reconciler unit tests assert on `ShardMetrics` snapshots and |
| # `IggyShard::parked_frame_count`, gated to test/simulator so they cannot grow |
| # production callers. `shard`'s own `cfg(test)` is false when compiled as our |
| # dependency, so the feature is how those accessors become visible. The resolver |
| # keeps a dev-dependency's features out of non-test targets, so a production |
| # build still links `shard` without `simulator`. |
| shard = { workspace = true, features = ["simulator"] } |
| syn = { workspace = true } |
| tokio = { workspace = true, features = ["full", "test-util"] } |
| |
| [lints.clippy] |
| enum_glob_use = "deny" |
| pedantic = { level = "deny", priority = -1 } |
| nursery = "warn" |
| # Sync impls of async traits are deliberate (non-blocking bus, in-memory storage, test doubles). |
| unused_async_trait_impl = "allow" |
| |
| [lints.rust] |
| warnings = "deny" |