[package]
edition = "2021"
rust-version = "1.94"
name = "osproxy-server"
version = "1.0.1"
authors = ["Huy Nguyen"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The osproxy binary: process lifecycle and wiring. No business logic."
readme = false
license = "Apache-2.0"
repository = "https://github.com/huyz0/opensearch-proxy"
[features]
capture = [
"dep:osproxy-kafka",
"dep:osproxy-kafka-krafka",
"dep:osproxy-kafka-wal",
]
default = ["non-fips"]
etcd = ["dep:osproxy-etcd"]
fanout = [
"dep:osproxy-kafka",
"dep:osproxy-kafka-krafka",
]
fips = [
"osproxy-transport/fips",
"dep:aws-lc-rs",
"osproxy-kafka-krafka?/fips",
]
kafka = [
"capture",
"fanout",
]
non-fips = [
"osproxy-transport/non-fips",
"dep:ring",
"osproxy-kafka-krafka?/non-fips",
]
[lib]
name = "osproxy_server"
path = "src/lib.rs"
[[bin]]
name = "osproxy"
path = "src/main.rs"
[[test]]
name = "breakglass_endpoint"
path = "tests/breakglass_endpoint.rs"
[[test]]
name = "connection_load"
path = "tests/connection_load.rs"
[[test]]
name = "directive_admin"
path = "tests/directive_admin.rs"
[[test]]
name = "end_to_end"
path = "tests/end_to_end.rs"
[[test]]
name = "isolation_scaling"
path = "tests/isolation_scaling.rs"
[[test]]
name = "load_matrix"
path = "tests/load_matrix.rs"
[[test]]
name = "mode_overhead"
path = "tests/mode_overhead.rs"
[[test]]
name = "perf_harness"
path = "tests/perf_harness.rs"
[[test]]
name = "profile_64k"
path = "tests/profile_64k.rs"
[[test]]
name = "proxy_overhead"
path = "tests/proxy_overhead.rs"
[[test]]
name = "soak"
path = "tests/soak.rs"
[[test]]
name = "streaming_memory"
path = "tests/streaming_memory.rs"
[[test]]
name = "testcontainer"
path = "tests/testcontainer.rs"
[dependencies.aws-lc-rs]
version = "=1.17.0"
features = ["fips"]
optional = true
[dependencies.ciborium]
version = "0.2"
[dependencies.mimalloc]
version = "0.1"
default-features = false
[dependencies.osproxy-capture]
version = "1.0.1"
[dependencies.osproxy-config]
version = "1.0.1"
[dependencies.osproxy-core]
version = "1.0.1"
[dependencies.osproxy-engine]
version = "1.0.1"
[dependencies.osproxy-etcd]
version = "1.0.1"
optional = true
[dependencies.osproxy-kafka]
version = "1.0.1"
optional = true
[dependencies.osproxy-kafka-krafka]
version = "1.0.1"
optional = true
default-features = false
[dependencies.osproxy-kafka-wal]
version = "1.0.1"
optional = true
[dependencies.osproxy-observe]
version = "1.0.1"
[dependencies.osproxy-otlp]
version = "1.0.1"
[dependencies.osproxy-sink]
version = "1.0.1"
[dependencies.osproxy-spi]
version = "1.0.1"
[dependencies.osproxy-tenancy]
version = "1.0.1"
[dependencies.osproxy-transport]
version = "1.0.1"
default-features = false
[dependencies.prost]
version = "0.14"
[dependencies.ring]
version = "0.17"
optional = true
[dependencies.serde_json]
version = "1"
features = ["raw_value"]
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"net",
"signal",
"time",
]
default-features = false
[dev-dependencies.bytes]
version = "1"
[dev-dependencies.http-body-util]
version = "0.1"
[dev-dependencies.hyper]
version = "1"
features = [
"server",
"client",
"http1",
]
default-features = false
[dev-dependencies.hyper-util]
version = "0.1"
features = [
"server",
"service",
"client",
"client-legacy",
"http1",
"tokio",
]
default-features = false
[dev-dependencies.krafka]
version = "0.12"
features = ["ring"]
default-features = false
[dev-dependencies.serde_json]
version = "1"
features = ["raw_value"]
[dev-dependencies.testcontainers]
version = "0.26"
[dev-dependencies.testcontainers-modules]
version = "0.14"
features = ["kafka"]
[build-dependencies.tonic-prost-build]
version = "0.14"
[lints.clippy]
cognitive_complexity = "warn"
expect_used = "deny"
module_name_repetitions = "allow"
panic = "deny"
todo = "deny"
too_many_arguments = "warn"
too_many_lines = "warn"
unimplemented = "deny"
unwrap_used = "deny"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
unreachable_pub = "warn"
unsafe_code = "forbid"