Commit Graph

77 Commits

Author SHA1 Message Date
yo
00f1647aa6 Hanle multi-pattern match on a single line of log 2024-02-24 11:01:50 +01:00
Tom Hubrecht
8afa6281f4 Add support for ignore regexes in filters 2024-02-08 13:28:51 +00:00
ppom
bfe0128764 Update wiki link to https://reaction.ppom.me 2024-01-17 12:00:00 +01:00
ppom
03862b33a6 Fix bug introduced by af2f092b. Fix #67 2024-01-10 12:00:00 +01:00
ppom
fe7806c4d7 Fix version printing 2024-01-09 12:00:00 +01:00
ppom
af2f092b71 Fix crash when all the regexes of a filter have no pattern in them
Fix #66
Example configuration causing crash:
```yaml
streams:
  mongod_restart:
    cmd: [ 'sh', '-c', 'while true; do echo "Started MongoDB Database Server."; sleep 5; done' ]
    filters:
      mongo_restart:
        regex:
          - 'Started MongoDB Database Server.'
        actions:
          restart_chat_tel:
            cmd: [ 'systemctl', 'restart', 'nginx' ]
```
2024-01-09 12:00:00 +01:00
ppom
e1ff702cd1 Generalisation of new SSH regex 2024-01-06 12:00:00 +01:00
ppom
b441e91f84 Add global concurrency parameter. fix #56
Fix bug which caused pending actions to be run multiple times when pending time finished
Fix bug which caused
1. past pending actions to rerun on exit
2. maximum one pending action per pattern/action couple to run on exit
2024-01-05 12:00:00 +01:00
ppom
ec60a3d506 reaction show: remove empty patterns
fix #64
2024-01-04 12:00:00 +01:00
ppom
8874454a0f Revert "quick fix IP regexes. see #62"
This reverts commit c2723d3829.
fix #62
2024-01-04 12:00:00 +01:00
ppom
c2723d3829 quick fix IP regexes. see #62 2024-01-04 12:00:00 +01:00
ppom
9b766aa2b8 Do not panic when a regex doesn't compile
Show proper error message instead
fix #58
2024-01-04 12:00:00 +01:00
ppom
f662a485b9 reaction flush clarification 2024-01-03 12:00:00 +01:00
ppom
f6f26f283e add a version subcommand
fix #63
2023-12-31 12:00:00 +01:00
ppom
7afe7e9b6f update IP regex
see https://framagit.org/ppom/reaction-wiki/-/issues/13
2023-12-20 12:00:00 +01:00
ppom
3921292a9b Add link to the wiki in --help 2023-12-04 12:00:00 +01:00
ppom
418af00152 comment suggestion for people that don't read the full file 2023-11-24 12:00:00 +01:00
ppom
1bb24b443c Exit 0 when all is fine
Fix #45
2023-11-23 12:00:00 +01:00
ppom
52dc67ed34 more ssh regexes 2023-11-05 12:00:00 +01:00
ppom
6ee78f45f2 fix confs iptables 2023-11-05 12:00:00 +01:00
ppom
2c73a8af03 update confs 2023-10-28 12:00:00 +02:00
ppom
8c50f8412a new doc, new examples, support -help 2023-10-22 12:00:00 +02:00
ppom
b7eeb51e82 several fixes
- wait for start/stop commands to finish running
- better logs
2023-10-22 12:00:00 +02:00
ppom
ac2621911f reaction show: implement --pattern: pattern filtering with regex
fix #30
2023-10-22 12:00:00 +02:00
ppom
4053a83629 reaction show: implement --limit: stream/filter filtering
fix #28
2023-10-21 12:00:00 +02:00
ppom
d5d73f3e6f Reduce database size
...and it's still not a breaking change!
fix #42

Benchmark: using config/heavy-load.yml
From 8.1MB to 4.8MB → 40% of size reduction!

75% of size reduction if we cumulate both optimizations, waow!
2023-10-21 12:00:00 +02:00
ppom
b56ccffd3b Fix persistence bug 2023-10-20 12:00:00 +02:00
ppom
ed3cd4384c Reduce database size
...and it's not a breaking change!
fix #36

Benchmark: using config/heavy-load.yml
From 14MB to 8MB → 40% of size reduction!
2023-10-20 12:00:00 +02:00
ppom
345dd94b17 Implement start/stop commands
fix #41
update README and configuration files accordingly
2023-10-18 12:00:00 +02:00
ppom
d35167b878 Remove stderr reading (caused bug) 2023-10-18 12:00:00 +02:00
ppom
3822e854b6 Implement --loglevel option ; Use logger instead of log everywhere 2023-10-18 12:00:00 +02:00
ppom
22ac3764e4 remove last "retry-period" occurences 2023-10-18 12:00:00 +02:00
ppom
a70f1ac424 logger package! yay
fix #38
2023-10-12 12:00:00 +02:00
ppom
9d44c05a17 Configs refactor. New WIP config for activity watch like reaction server 2023-10-12 12:00:00 +02:00
ppom
92e07f5fe6 ip46tables
wrote `ip46tables` C minimal program to handle both ipv4 and ipv6 at the same time.
fix #22
2023-10-05 12:00:00 +02:00
ppom
e56b851d15 support json, jsonnet, yaml formats
- jsonnet, json and yaml support for configuration
- json and yaml support for output formats

fix #40
fix #27
2023-10-05 12:00:00 +02:00
ppom
3767fc6cf8 More complete reponse for flush 2023-10-04 12:00:00 +02:00
ppom
32f6aca1b5 update help message to be accurate 2023-10-04 12:00:00 +02:00
ppom
8343278bc3 explain how persistence works
fix #35
2023-10-01 12:00:00 +02:00
ppom
480aeb7f15 Reimplement flushes
fix #33
fix #39
2023-10-01 12:00:00 +02:00
ppom
83e760ed72 Rename global channels 2023-09-25 21:12:11 +02:00
ppom
f29b5ec87f Fix bug "expired matches are still present" for "show"
Now matches are deleted at the exact time they expire, not when
accepting a new similar match
2023-09-24 17:28:37 +02:00
ppom
d26c7f24f2 better data structures for matches & actions maps 2023-09-24 17:08:21 +02:00
ppom
b6d7e5a946 server-client "show" reimplemented
Bug → expired matches are still present
2023-09-24 16:43:18 +02:00
ppom
a30a6644dc Fix: dont die if trying to delete unexistant DB
It can happen if reaction-flushes.db has never existed
but reaction-matches does, on first run-time database rotation
2023-09-24 16:00:54 +02:00
ppom
87c00030fd Fix time comparison bug 2023-09-23 00:14:20 +02:00
ppom
be991e9665 Fix closed channel panic 2023-09-22 23:18:08 +02:00
ppom
a119e0814b one goroutine handles all actions
pending actions are now data, they're not goroutines anymore ❤️

warn: cli currently doesn't work, but it's already a huge commit
2023-09-22 18:12:11 +02:00
ppom
52556f69b9 one goroutine handles all matches
it's not the filters that handles their matches anymore
2023-09-09 23:38:53 +02:00
ppom
da9ed42363 DatabaseManager takes a *Conf 2023-09-09 20:42:47 +02:00