Commit graph

38 commits

Author SHA1 Message Date
ppom 92982ee511 Fix #70 2024-06-08 12:00:00 +02:00
ppom 04eece0644 Bugfix: flushed "after" action re-run when times comes 2024-05-24 12:00:00 +02:00
ppom 131d8eced9 Big client-daemon refacto
Now most of the work is done on the client side.

Daemon sends its Config, Matches and Actions structures.
Client does all data conversions, and filtering.
For flush, Client sends to the Daemon individual flush instructions.
2024-05-20 12:00:00 +02:00
yo c3641c2693 Use regexes in flush patterns 2024-05-20 12:00:00 +02:00
yo 18c40b7b9a Make pattern.Name accessible 2024-05-20 12:00:00 +02:00
ppom 66c397e62f add multi pattern to "reaction show", keeping backward compatibility 2024-05-20 12:00:00 +02:00
ppom 3784e4f1be add proper Match type to enforce implementation details 2024-05-20 12:00:00 +02:00
ppom 4634bbcb8e fix persistance 2024-05-20 12:00:00 +02:00
ppom a2be0c2ac6 Fix match logic 2024-05-20 12:00:00 +02:00
yo b26a763cb0 store multi pattern matches in a null separated string, to be usable as map key 2024-05-20 12:00:00 +02:00
yo 11cff7fb05 BUGFIX partial match is no match 2024-05-20 12:00:00 +02:00
yo d2617d0d9f Hanle multi-pattern match on a single line of log 2024-05-20 12:00:00 +02:00
Tom Hubrecht 8afa6281f4 Add support for ignore regexes in filters 2024-02-08 13:28:51 +00:00
ppom 03862b33a6 Fix bug introduced by af2f092b. Fix #67 2024-01-10 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 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 1bb24b443c Exit 0 when all is fine
Fix #45
2023-11-23 12:00:00 +01:00
ppom b7eeb51e82 several fixes
- wait for start/stop commands to finish running
- better logs
2023-10-22 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 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 a70f1ac424 logger package! yay
fix #38
2023-10-12 12:00:00 +02:00
ppom 3767fc6cf8 More complete reponse for flush 2023-10-04 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 87c00030fd Fix time comparison bug 2023-09-23 00:14:20 +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
ppom 2243dda49a filters don't have their own goroutine anymore 2023-09-09 20:36:41 +02:00
ppom fde291c1ff remove code by using more adapted stdlib function 2023-09-09 19:46:04 +02:00
ppom 1cb0562e15 persist flushes accross restarts. fixes #23 2023-09-09 19:32:23 +02:00
ppom 48f2517074 database refactor
fixes #21
2023-09-06 02:00:33 +02:00
ppom 799ba88823 New unified CLI design
fixes #25
thanks @bertille-ddp for comments && suggestions!
2023-09-03 12:13:18 +02:00
Renamed from app/reaction.go (Browse further)