Repository navigation
Conversation
|
@vmartinv: There are no 'kind' label on this PR. You need a 'kind' label to generate the release automatically.
DetailsI am a bot created to help the crowdsecurity developers manage community feedback and contributions. You can check out my manifest file to understand my behavior and what I can do. If you want to use this for your project, you can check out the BirthdayResearch/oss-governance-bot repository. |
|
@vmartinv: There are no area labels on this PR. You can add as many areas as you see fit.
DetailsI am a bot created to help the crowdsecurity developers manage community feedback and contributions. You can check out my manifest file to understand my behavior and what I can do. If you want to use this for your project, you can check out the BirthdayResearch/oss-governance-bot repository. |
With group_threshold set, the watcher only flushed on its 1s ticker. Flush as soon as the threshold is reached instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XuiYfhB3KFGAAioDt2dPus
570921c to
bcd4f3d
Compare
Takes the time to block an address into sub-second territory.
A bouncer polls LAPI, every 10s by default. Pushing new bans to the firewall with a notification plugin (http plugin -> small endpoint that adds the IP to the bouncer's set) brings that down to ~1s, but no lower: with
group_thresholdset, the watcher only flushes on its 1s ticker, so every notification waits up to a second. This PR flushes as soon as the threshold is reached, so a ban reaches the firewall in well under a second.The 6-alert burst in
TestBrokerRunGroupThresholdused to be delivered as 4 + 2 because both batches landed before a tick; now the first 4 go out immediately, so the test sends 4 and expects one notification.How it was tested
go test ./pkg/csplugin/ -race. The newTestPluginAlertCountWatcherFlushesImmediatelyfails without the change and passes with it.Checklist
cscli -o json|rawoutput.AI assistance used: mostly
🤖 Generated with Claude Code
https://claude.ai/code/session_01XuiYfhB3KFGAAioDt2dPus