vicarian 0.3.2

Vicarian is a TLS-first reverse-proxy server with ACME support
# 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 = "vicarian"
version = "0.3.2"
authors = ["Steve Smith <tarkasteve@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Vicarian is a TLS-first reverse-proxy server with ACME support"
homepage = "https://github.com/tarka/vicarian"
readme = "README.md"
keywords = [
    "proxy",
    "https",
    "reverse-proxy",
    "pingora",
]
categories = [
    "web-programming::http-server",
    "network-programming",
]
license = "Apache-2.0"
repository = "https://github.com/tarka/vicarian"

[package.metadata.deb]
extended-description = """
Vicarian is a TLS-first reverse proxy server with built-in
ACME/LetsEncrypt support (HTTP-01 and DNS-01). It also
supports native static file serving."""
section = "Network"
maintainer-scripts = "systemd"
assets = [
    [
    "target/release/vicarian",
    "usr/bin/",
    "755",
],
    [
    "examples/vicarian-static.corn",
    "etc/vicarian/vicarian.corn",
    "644",
],
    [
    "CHANGELOG.md",
    "usr/share/doc/vicarian/",
    "644",
],
    [
    "CONFIGURATION.md",
    "usr/share/doc/vicarian/",
    "644",
],
    [
    "METRICS.md",
    "usr/share/doc/vicarian/",
    "644",
],
    [
    "LICENSE",
    "usr/share/doc/vicarian/",
    "644",
],
    [
    "README.md",
    "usr/share/doc/vicarian/",
    "644",
],
    [
    "SECURITY.md",
    "usr/share/doc/vicarian/",
    "644",
],
    [
    "examples/*",
    "usr/share/doc/vicarian/examples/",
    "644",
],
    [
    "systemd/secrets",
    "etc/vicarian/",
    "640",
],
]

[package.metadata.deb.systemd-units]
unit-scripts = "systemd"
enable = true
start = true

[package.metadata.binstall]
bin-dir = "{ name }-v{ version }-{ target }/bin/{ bin }{ binary-ext }"

[package.metadata.bacon]
apply_gitignore = false
watch = ["vicarian.corn"]

[features]
default = ["integration_tests"]
integration_tests = []

[[bin]]
name = "vicarian"
path = "src/main.rs"

[[test]]
name = "integration"
path = "tests/integration/main.rs"

[dependencies.anyhow]
version = "1.0.104"

[dependencies.async-trait]
version = "0.1.91"

[dependencies.bytes]
version = "1.12.1"

[dependencies.camino]
version = "1.2.5"
features = ["serde1"]

[dependencies.clap]
version = "4.6.5"
features = ["derive"]

[dependencies.dnsclient]
version = "0.2.0"

[dependencies.fastrand]
version = "2.5.0"

[dependencies.futures]
version = "0.3.33"

[dependencies.futures-lite]
version = "2.6.1"

[dependencies.http]
version = "1.5.0"

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

[dependencies.http-serde]
version = "2.1.1"

[dependencies.hyper]
version = "1.11.0"

[dependencies.instant-acme]
version = "0.8.5"
features = ["time"]

[dependencies.itertools]
version = "0.15.0"

[dependencies.libcorn]
version = "0.10.1"

[dependencies.metrics]
version = "0.24.6"

[dependencies.metrics-exporter-prometheus]
version = "0.18.3"
features = [
    "tokio",
    "tracing",
]
default-features = false

[dependencies.nix]
version = "0.31.3"
features = [
    "net",
    "resource",
]

[dependencies.notify]
version = "8.2.0"
features = ["crossbeam-channel"]

[dependencies.notify-debouncer-full]
version = "0.7.0"
features = ["crossbeam-channel"]

[dependencies.papaya]
version = "0.2.4"

[dependencies.phf]
version = "0.14.0"
features = ["phf_macros"]

[dependencies.phf_macros]
version = "0.14.0"

[dependencies.pingora-boringssl]
version = "0.8.1"

[dependencies.pingora-core]
version = "0.8.1"
features = ["boringssl"]

[dependencies.pingora-http]
version = "0.8.1"

[dependencies.pingora-proxy]
version = "0.8.1"

[dependencies.psl]
version = "2.1.223"

[dependencies.rustls]
version = "0.23.43"

[dependencies.serde]
version = "1.0.229"
features = ["derive"]

[dependencies.serde_default_utils]
version = "0.3.1"
features = ["inline"]

[dependencies.serde_json]
version = "1.0.151"

[dependencies.static-web-server]
version = "3.0.0-beta.1"
features = [
    "directory-listing",
    "fallback-page",
]
default-features = false

[dependencies.strum_macros]
version = "0.28.0"

[dependencies.thiserror]
version = "2.0.19"

[dependencies.time]
version = "0.3.54"
features = ["local-offset"]

[dependencies.tokio]
version = "1.53.1"
features = [
    "macros",
    "rt",
    "sync",
    "fs",
]

[dependencies.tracing]
version = "0.1.44"

[dependencies.tracing-log]
version = "0.2.0"

[dependencies.tracing-subscriber]
version = "0.3.23"
features = ["env-filter"]

[dependencies.x509-parser]
version = "0.18.1"

[dependencies.zone-update]
version = "0.11.0"
features = ["async"]

[dev-dependencies.fslock]
version = "0.2.1"

[dev-dependencies.nix]
version = "0.31.3"
features = [
    "process",
    "signal",
    "term",
]

[dev-dependencies.pem]
version = "4.0.0"

[dev-dependencies.rcgen]
version = "0.14.8"
features = ["x509-parser"]

[dev-dependencies.reqwest]
version = "0.13.4"
features = [
    "http2",
    "rustls",
]
default-features = false

[dev-dependencies.serial_test]
version = "4.0.1"

[dev-dependencies.tempfile]
version = "3.27.0"

[dev-dependencies.test-log]
version = "0.2.21"
features = ["trace"]

[dev-dependencies.time]
version = "0.3.54"
features = ["macros"]

[dev-dependencies.tokio]
version = "1.53.1"
features = ["fs"]

[dev-dependencies.tokio-tungstenite]
version = "0.30.0"
features = [
    "rustls",
    "rustls-tls-webpki-roots",
    "tokio-rustls",
]

[dev-dependencies.wiremock]
version = "0.6.5"

[dev-dependencies.wiremocket]
version = "0.3.2"

[lints.clippy]
unused_unit = "allow"

[profile.release]
lto = "fat"
codegen-units = 1
overflow-checks = true
strip = true