reaction/Cargo.toml
ppom 20921be07d
Fix daemon startup: all subsystems will cleanly exit
Regardless of which startup error makes reaction exit.

Also made plugin stderr task exit when the ShutdownToken asks for it.
Also updated Rust edition to 2024.
2025-12-07 12:00:00 +01:00

88 lines
2.7 KiB
TOML

[package]
name = "reaction"
version = "2.2.1"
edition = "2024"
authors = ["ppom <reaction@ppom.me>"]
license = "AGPL-3.0"
description = "Scan logs and take action"
readme = "README.md"
homepage = "https://reaction.ppom.me"
repository = "https://framagit.org/ppom/reaction"
keywords = ["security", "sysadmin", "fail2ban", "logs", "monitoring"]
build = "build.rs"
default-run = "reaction"
[package.metadata.deb]
section = "net"
extended-description = """A daemon that scans program outputs for repeated patterns, and takes action.
A common usage is to scan ssh and webserver logs, and to ban hosts that cause multiple authentication errors.
reaction aims at being a successor to fail2ban."""
maintainer-scripts = "packaging/"
systemd-units = { enable = false }
assets = [
# Executables
[ "target/release/reaction", "/usr/bin/reaction", "755" ],
[ "target/release/ip46tables", "/usr/bin/ip46tables", "755" ],
[ "target/release/nft46", "/usr/bin/nft46", "755" ],
# Man pages
[ "target/release/reaction*.1", "/usr/share/man/man1/", "644" ],
# Shell completions
[ "target/release/reaction.bash", "/usr/share/bash-completion/completions/reaction", "644" ],
[ "target/release/reaction.fish", "/usr/share/fish/completions/", "644" ],
[ "target/release/_reaction", "/usr/share/zsh/vendor-completions/", "644" ],
]
[dependencies]
# Time types
chrono = { version = "0.4.38", features = ["std", "clock", "serde"] }
# CLI parsing
clap = { version = "4.5.4", features = ["derive"] }
# Unix interfaces
nix = { version = "0.29.0", features = ["signal"] }
num_cpus = "1.16.0"
# Regex matching
regex = "1.10.4"
# Configuration languages, ser/deserialisation
serde.workspace = true
serde_json.workspace = true
serde_yaml = "0.9.34"
jrsonnet-evaluator = "0.4.2"
# Error macro
thiserror = "1.0.63"
# Async runtime & helpers
futures = "0.3.30"
tokio = { workspace = true, features = ["full", "tracing"] }
tokio-util = { version = "0.7.12", features = ["codec"] }
# Async logging
tracing = "0.1.40"
tracing-subscriber = "0.3.18"
# Reaction plugin system
remoc = { workspace = true }
reaction-plugin = { path = "plugins/reaction-plugin" }
[build-dependencies]
clap = { version = "4.5.4", features = ["derive"] }
clap_complete = "4.5.2"
clap_mangen = "0.2.24"
regex = "1.10.4"
tracing = "0.1.40"
[dev-dependencies]
rand = "0.8.5"
tempfile = "3.12.0"
assert_fs = "1.1.3"
assert_cmd = "2.0.17"
predicates = "3.1.3"
[workspace]
members = ["plugins/reaction-plugin", "plugins/reaction-plugin-cluster", "plugins/reaction-plugin-virtual"]
[workspace.dependencies]
remoc = { version = "0.18.3" }
serde = { version = "1.0.203", features = ["derive"] }
serde_json = "1.0.117"
tokio = { version = "1.40.0" }
[[bin]]
name = "reaction-plugin-virtual"
path = "plugins/reaction-plugin-virtual/src/main.rs"