mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-21 00:21:27 +00:00
- Replace boolean params (mtls_enabled, mtls_optional) with ClientAuth enum - Move serve_tls from serve.rs into tls module (encapsulate TLS internals) - Derive client auth mode from AuthMode (eliminate duplicate strategy checks) - Build JWT Validation once at startup, store in AuthStrategy (not per-request) - Add tilde expansion for TLS cert paths (~/.arc/certs/...) - Remove wasted String allocations from try_jwt/try_mtls return values - Remove duplicate rustls dev-dependency from Cargo.toml - Integration tests reuse tls::serve_tls instead of duplicating accept loop Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
50 lines
1.3 KiB
TOML
50 lines
1.3 KiB
TOML
[package]
|
|
name = "arc-api"
|
|
edition.workspace = true
|
|
version.workspace = true
|
|
license.workspace = true
|
|
description = "HTTP API server for Arc pipelines"
|
|
|
|
[lib]
|
|
doctest = false
|
|
|
|
[dependencies]
|
|
arc-workflows = { path = "../arc-workflows" }
|
|
arc-agent = { path = "../arc-agent" }
|
|
arc-llm = { path = "../arc-llm" }
|
|
arc-util = { path = "../arc-util" }
|
|
arc-db = { path = "../arc-db" }
|
|
arc-types = { path = "../arc-types" }
|
|
axum = "0.8"
|
|
dirs.workspace = true
|
|
sqlx.workspace = true
|
|
tower = "0.5"
|
|
tokio-stream = { workspace = true, features = ["sync"] }
|
|
base64.workspace = true
|
|
jsonwebtoken.workspace = true
|
|
tokio.workspace = true
|
|
tokio-rustls = "0.26"
|
|
rustls = { version = "0.23", default-features = false, features = ["std", "ring"] }
|
|
rustls-pemfile = "2"
|
|
rustls-pki-types = "1"
|
|
hyper = "1"
|
|
hyper-util = { version = "0.1", features = ["tokio", "server-auto", "http1", "http2"] }
|
|
tower-service = "0.3"
|
|
x509-parser = "0.16"
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
anyhow.workspace = true
|
|
clap.workspace = true
|
|
toml.workspace = true
|
|
tracing.workspace = true
|
|
ulid.workspace = true
|
|
uuid.workspace = true
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true, features = ["test-util", "macros"] }
|
|
tower = "0.5"
|
|
http-body-util = "0.1"
|
|
tempfile = "3"
|
|
openapiv3 = "2"
|
|
serde_yaml = "0.9"
|
|
reqwest = { workspace = true }
|