mirror of
https://framagit.org/ppom/reaction
synced 2026-03-14 12:45:47 +01:00
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.
88 lines
2.7 KiB
TOML
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"
|