[package] name = "anwesen" description = "Read-only HTTP daemon over a markdown vault, querying YAML frontmatter." version = "0.2.0" edition = "2024" rust-version = "1.95" license = "BSD-3-Clause" repository = "ssh://gw.aristov.cc/srv/repos/anwesen.git" [[bin]] name = "anwesen" path = "src/main.rs" [dependencies] anyhow = "1" axum = "0.8" blake3 = "1" chrono = { version = "0.4", default-features = false, features = ["std", "serde", "clock"] } clap = { version = "4", features = ["derive", "env"] } http-body = "1" hydra = "0.1" notify = "8" opentelemetry = "0.32" # `reqwest-rustls` is required alongside `reqwest-blocking-client`: the # default otlp features wire reqwest with no TLS backend at all, so HTTPS to # the collector would fail. rustls (aws-lc-rs + OS trust store) keeps the # release binary free of a system OpenSSL dependency. opentelemetry-otlp = { version = "0.32", default-features = false, features = ["trace", "metrics", "http-proto", "reqwest-blocking-client", "reqwest-rustls"] } opentelemetry-semantic-conventions = "0.32" opentelemetry_sdk = { version = "0.32", features = ["metrics", "trace"] } regex = "1" serde = { version = "1", features = ["derive"] } serde_json = "1" serde_yaml = "0.9" thiserror = "2" tokio = { version = "1", features = ["full"] } tower = { version = "0.5", features = ["util"] } tower-http = { version = "0.6", features = ["trace"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } walkdir = "2" [dev-dependencies] tempfile = "3" # Strip symbols from release binaries: smaller artifacts for the release # pipeline (assets are also gzipped there) and for local release builds. [profile.release] strip = true [lints.rust] unsafe_code = "forbid" [lints.clippy] pedantic = { level = "warn", priority = -1 } module_name_repetitions = "allow"