[package]
edition = "2024"
rust-version = "1.89"
name = "tollgate-server"
version = "0.32.2"
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Control-plane HTTP service: fenced lease allocation, snapshot distribution, idempotent usage ingest, and account administration over any store backend."
readme = "README.md"
keywords = [
"quota",
"metering",
"billing",
"control-plane",
"tls",
]
categories = [
"web-programming::http-server",
"authentication",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/MorphIQ-Labs/tollgate"
[features]
default = ["postgres"]
postgres = ["dep:tollgate-store-postgres"]
test-support = ["tollgate-store-postgres?/test-support"]
[lib]
name = "tollgate_server"
path = "src/lib.rs"
[[bin]]
name = "tollgate-server"
path = "src/main.rs"
[[test]]
name = "api"
path = "tests/api.rs"
[[test]]
name = "backend_features"
path = "tests/backend_features.rs"
[[test]]
name = "credential_activity"
path = "tests/credential_activity.rs"
[[test]]
name = "credential_expiry"
path = "tests/credential_expiry.rs"
[[test]]
name = "credential_projection"
path = "tests/credential_projection.rs"
[[test]]
name = "error_boundary"
path = "tests/error_boundary.rs"
[[test]]
name = "lease_ttl"
path = "tests/lease_ttl.rs"
[[test]]
name = "loopback"
path = "tests/loopback.rs"
[[test]]
name = "provisioner"
path = "tests/provisioner.rs"
[[test]]
name = "readiness"
path = "tests/readiness.rs"
[[test]]
name = "reloader_health"
path = "tests/reloader_health.rs"
[[test]]
name = "security"
path = "tests/security.rs"
[[test]]
name = "security_config"
path = "tests/security_config.rs"
[[test]]
name = "sweep"
path = "tests/sweep.rs"
[dependencies.arc-swap]
version = "1"
[dependencies.axum]
version = "0.8"
[dependencies.getrandom]
version = "0.3"
[dependencies.jiff]
version = "0.2"
[dependencies.jsonwebtoken]
version = "10.3"
features = ["aws_lc_rs"]
default-features = false
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
default-features = false
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"tls12",
]
default-features = false
[dependencies.serde]
version = "1.0"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.subtle]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"sync",
"time",
"net",
"signal",
"fs",
"io-util",
]
[dependencies.tokio-rustls]
version = "0.26"
features = [
"ring",
"tls12",
]
default-features = false
[dependencies.tollgate-auth]
version = "=0.32.2"
[dependencies.tollgate-core]
version = "=0.32.2"
features = ["serde"]
[dependencies.tollgate-store]
version = "=0.32.2"
features = ["wire"]
[dependencies.tollgate-store-postgres]
version = "=0.32.2"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.zeroize]
version = "1"
[dev-dependencies.async-trait]
version = "0.1"
[dev-dependencies.http-body-util]
version = "0.1"
[dev-dependencies.rcgen]
version = "0.14"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"sync",
"time",
"net",
"signal",
"test-util",
]
[dev-dependencies.tollgate-admission]
version = "=0.32.2"
[dev-dependencies.tollgate-client]
version = "=0.32.2"
features = ["http"]
[dev-dependencies.tower]
version = "0.5"
features = ["util"]
[lints.clippy]
allow_attributes_without_reason = "deny"
let_underscore_must_use = "deny"
[lints.rust]
unsafe_code = "forbid"