pharos-server 0.1.0

Listeners, Plugin Chain contract and metrics for the Pharos DNS server
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "pharos-server"
version = "0.1.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Listeners, Plugin Chain contract and metrics for the Pharos DNS server"
readme = false
license = "Apache-2.0"
repository = "https://github.com/itsmeyaw/pharos-dns"

[lib]
name = "pharos_server"
path = "src/lib.rs"

[[test]]
name = "admission"
path = "tests/admission.rs"

[[test]]
name = "cache_metrics"
path = "tests/cache_metrics.rs"

[[test]]
name = "chain"
path = "tests/chain.rs"

[[test]]
name = "cname_self_lookup"
path = "tests/cname_self_lookup.rs"

[[test]]
name = "context"
path = "tests/context.rs"

[[test]]
name = "error_logging"
path = "tests/error_logging.rs"

[[test]]
name = "health_probe"
path = "tests/health_probe.rs"

[[test]]
name = "kubernetes_metrics_allocations"
path = "tests/kubernetes_metrics_allocations.rs"

[[test]]
name = "lifecycle"
path = "tests/lifecycle.rs"

[[test]]
name = "logging"
path = "tests/logging.rs"

[[test]]
name = "logging_allocations"
path = "tests/logging_allocations.rs"

[[test]]
name = "metrics"
path = "tests/metrics.rs"

[[test]]
name = "metrics_allocations"
path = "tests/metrics_allocations.rs"

[[test]]
name = "metrics_panic"
path = "tests/metrics_panic.rs"

[[test]]
name = "outcome"
path = "tests/outcome.rs"

[[test]]
name = "panic"
path = "tests/panic.rs"

[[test]]
name = "panic_stacktrace"
path = "tests/panic_stacktrace.rs"

[[test]]
name = "proxy_metrics_allocations"
path = "tests/proxy_metrics_allocations.rs"

[[test]]
name = "reload_allocations"
path = "tests/reload_allocations.rs"

[[test]]
name = "reload_listeners"
path = "tests/reload_listeners.rs"

[[test]]
name = "router"
path = "tests/router.rs"

[[test]]
name = "self_lookup"
path = "tests/self_lookup.rs"

[[test]]
name = "server"
path = "tests/server.rs"

[[test]]
name = "server_metrics"
path = "tests/server_metrics.rs"

[[test]]
name = "server_metrics_allocations"
path = "tests/server_metrics_allocations.rs"

[[test]]
name = "startup"
path = "tests/startup.rs"

[[test]]
name = "tcp"
path = "tests/tcp.rs"

[[test]]
name = "udp"
path = "tests/udp.rs"

[[test]]
name = "udp_allocations"
path = "tests/udp_allocations.rs"

[[bench]]
name = "outcome"
path = "benches/outcome.rs"
harness = false

[dependencies.arc-swap]
version = "1"

[dependencies.bytes]
version = "1"

[dependencies.http-body-util]
version = "0.1"

[dependencies.hyper]
version = "1"
features = [
    "client",
    "server",
    "http1",
]

[dependencies.hyper-util]
version = "0.1"
features = ["tokio"]

[dependencies.libc]
version = "0.2"

[dependencies.pharos-proto]
version = "0.1.0"

[dependencies.socket2]
version = "0.6"
features = ["all"]

[dependencies.tokio]
version = "1"
features = [
    "rt-multi-thread",
    "macros",
    "net",
    "io-util",
    "sync",
    "time",
]

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.stats_alloc]
version = "0.1.10"

[target.'cfg(target_os = "linux")'.dependencies.nix]
version = "0.31"
features = [
    "socket",
    "uio",
    "net",
]

[lints.rust]
unsafe_code = "forbid"