- Added transaction support in `add_upstream_target`, `remove_upstream`, `remove_upstream_target`, `update_upstream`, and `update_upstream_target` functions to ensure atomicity of operations. - Updated the `NginxService` to include methods for validating and applying configurations using the agent service. - Enhanced error handling in agent service interactions, returning appropriate internal server errors when agent communication fails. - Introduced mock agent service for testing, allowing for simulation of agent interactions without actual network calls. - Refactored tests to cover scenarios where agent operations fail, ensuring that internal server errors are returned as expected.
43 lines
2.1 KiB
TOML
43 lines
2.1 KiB
TOML
[package]
|
|
name = "yet-another-nginx-proxy-manager"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
database = { path = "../../public/database" }
|
|
migration = { path = "../../public/migration" }
|
|
agent_client = { path = "../../public/agent-client" }
|
|
|
|
axum = { version = "0.8.7", features = ["form", "http1", "http2", "json", "matched-path", "original-uri", "query", "tokio", "tower-log", "tracing", "macros"] }
|
|
axum-extra = { version = "0.12.2", features = ["cookie"] }
|
|
async-trait = { version = "0.1.89" }
|
|
chrono = { version = "0.4.42", features = ["clock", "std", "oldtime", "wasmbind", "serde"] }
|
|
config = { version = "0.15.19", features = ["toml", "json", "yaml", "ini", "ron", "json5", "convert-case", "async"] }
|
|
tokio = { version = "1", features = ["fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "sync", "time", "tracing"] }
|
|
tower = { version = "0.5.2", features = ["tokio", "tracing", "timeout"] }
|
|
tracing = { version = "0.1.41", features = ["std", "attributes"] }
|
|
tracing-subscriber = { version = "0.3.20", features = ["smallvec", "fmt", "ansi", "tracing-log", "std", "chrono", "json", "serde", "serde_json", "time", "tracing"] }
|
|
serde_json = { version = "1.0.145", features = ["std"] }
|
|
serde = { version = "1.0.228", features = ["std", "derive"] }
|
|
sea-orm = { workspace = true }
|
|
include_dir = { version = "0.7.4" }
|
|
mime_guess = { version = "2.0.5" }
|
|
utoipa = { version = "5.4.0", features = ["macros", "axum_extras", "chrono", "decimal", "uuid", "time", "openapi_extensions"] }
|
|
clap = { version = "4.5.53" }
|
|
once_cell = { version = "1.21.3" }
|
|
argon2 = { version = "0.5.3", features = ["std"] }
|
|
jsonwebtoken = { version = "10.2.0", features = ["rust_crypto"] }
|
|
uuid = { version = "1.19.0", features = ["v4", "serde", "fast-rng"] }
|
|
tower-http = { version = "0.6.8", features = ["cors"] }
|
|
reqwest = { version = "^0.12", features = ["json", "multipart", "stream"] }
|
|
serde_urlencoded = { version = "0.7.1" }
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|
|
axum-test = "18.4.1"
|
|
agent_client = { path = "../../public/agent-client", features = ["mockall"] }
|
|
mockall = { version = "0.14.0", features = [] }
|
|
|
|
[lints.clippy]
|
|
unwrap_used = "deny"
|