[package]
edition = "2024"
name = "knot-server"
version = "0.3.4"
authors = ["Raul Tovar <raultov@protonmail.com>"]
build = "build.rs"
exclude = [
"docs/demo-graph.webp",
"docs/demo-swagger.webp",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Distributed REST API server for knot codebase indexing. Manages Git repositories across a cluster with shared workspace coordination."
readme = "README.md"
license = "MIT"
repository = "https://github.com/raultov/knot-server"
[[bin]]
name = "knot-server"
path = "src/main.rs"
[dependencies.anyhow]
version = "1"
[dependencies.axum]
version = "0.8.9"
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
[dependencies.fs2]
version = "0.4"
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.13"
[dependencies.ignore]
version = "0.4"
[dependencies.knot]
version = "1.6.2"
[dependencies.metrics]
version = "0.24"
[dependencies.metrics-exporter-prometheus]
version = "0.16"
default-features = false
[dependencies.neo4rs]
version = "0.9.0-rc.10"
[dependencies.opentelemetry]
version = "0.32"
[dependencies.opentelemetry-otlp]
version = "0.32"
features = ["grpc-tonic"]
[dependencies.opentelemetry_sdk]
version = "0.32"
features = ["rt-tokio"]
[dependencies.rayon]
version = "1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.11"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-opentelemetry]
version = "0.33"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
]
[dependencies.utoipa]
version = "5"
features = ["axum_extras"]
[dependencies.utoipa-axum]
version = "0.2"
[dependencies.utoipa-swagger-ui]
version = "9"
features = [
"axum",
"vendored",
]
[dev-dependencies.metrics-util]
version = "0.19"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tower]
version = "0.5"
features = ["util"]
[lints.clippy]
allow_attributes = "warn"
allow_attributes_without_reason = "warn"
cognitive_complexity = "warn"
too_many_lines = "warn"
[lints.rust]
unsafe_code = "deny"
[profile.dist]
lto = "thin"
inherits = "release"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1