harborshield 0.1.0

A Rust port of Whalewall, to automate management of firewall rules for Docker containers
[[bin]]
name = "harborshield"
path = "src/main.rs"

[dependencies.anyhow]
version = "1.0"

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

[dependencies.bincode]
version = "2.0.1"

[dependencies.bollard]
features = ["ssl"]
version = "0.19"

[dependencies.bon]
version = "3.6.5"

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

[dependencies.compose_spec]
version = "0.3.0"

[dependencies.dotenvy]
version = "0.15"

[dependencies.futures]
version = "0.3.31"

[dependencies.ipnet]
version = "2.9"

[dependencies.nftables]
version = "0.6"

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

[dependencies.serde_yaml]
version = "0.9"

[dependencies.sqlx]
features = ["runtime-tokio-rustls", "sqlite", "migrate", "macros", "chrono", "uuid"]
version = "0.8.6"

[dependencies.thiserror]
version = "2.0.12"

[dependencies.tokio]
features = ["full"]
version = "1.38"

[dependencies.tokio-util]
features = ["rt"]
version = "0.7"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-appender]
version = "0.2"

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

[dev-dependencies.bon]
version = "3.6.5"

[dev-dependencies.mockall]
version = "0.13"

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

[dev-dependencies.serde_json]
version = "1.0"

[dev-dependencies.temp-env]
features = ["async_closure"]
version = "0.3.6"

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

[dev-dependencies.uuid]
features = ["v4"]
version = "1.10"

[lib]
name = "harborshield"
path = "src/lib.rs"

[package]
authors = ["Jakob Lochinski"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["network-programming", "command-line-utilities"]
description = "A Rust port of Whalewall, to automate management of firewall rules for Docker containers"
documentation = "https://docs.rs/harborshield"
edition = "2024"
exclude = ["tests/", "docker-compose*.yml", "Dockerfile", ".env*", "*.log", ".git*", "target/", "/config/", ".sqlx/"]
homepage = "https://github.com/rymskip/harborshield"
keywords = ["docker", "firewall", "nftables", "security", "container"]
license = "MIT"
name = "harborshield"
readme = "README.md"
repository = "https://github.com/rymskip/harborshield"
version = "0.1.0"

[target.'cfg(target_os = "linux")'.dependencies.axum]
default-features = false
features = ["json", "tokio"]
version = "0.8"

[target.'cfg(target_os = "linux")'.dependencies.bytes]
version = "1.6"

[target.'cfg(target_os = "linux")'.dependencies.caps]
version = "0.5.5"

[target.'cfg(target_os = "linux")'.dependencies.chrono]
version = "0.4"

[target.'cfg(target_os = "linux")'.dependencies.landlock]
version = "0.4.2"

[target.'cfg(target_os = "linux")'.dependencies.metrics]
version = "0.24.2"

[target.'cfg(target_os = "linux")'.dependencies.metrics-exporter-prometheus]
version = "0.17.2"

[target.'cfg(target_os = "linux")'.dependencies.petgraph]
version = "0.8.2"

[target.'cfg(target_os = "linux")'.dependencies.reqwest]
default-features = false
features = ["json", "rustls-tls"]
version = "0.12"

[target.'cfg(target_os = "linux")'.dependencies.seccompiler]
version = "0.5.0"

[target.'cfg(target_os = "linux")'.dependencies.serde_json]
version = "1.0"

[target.'cfg(target_os = "linux")'.dependencies.tower]
default-features = false
version = "0.5.2"

[target.'cfg(target_os = "linux")'.dependencies.tower-http]
default-features = false
features = ["cors", "trace"]
version = "0.6.6"

[target.'cfg(target_os = "linux")'.dependencies.uuid]
features = ["v4"]
version = "1.10"