Commit Graph

53 Commits

Author SHA1 Message Date
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
ppom
2243dda49a filters don't have their own goroutine anymore 2023-09-09 20:36:41 +02:00
ppom
d90e88d5eb remove DEBUG logs 2023-09-09 19:47:31 +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
2bff4ef1b3 check no '.' in stream/filter/action names 2023-09-08 15:18:04 +02:00
ppom
48f2517074 database refactor
fixes #21
2023-09-06 02:00:33 +02:00
ppom
9555342741 use -l limit flag instead of optional positional argument 2023-09-05 16:44:40 +02:00
ppom
fdaf215c2c documentation 2023-09-03 13:26:27 +02:00
ppom
799ba88823 New unified CLI design
fixes #25
thanks @bertille-ddp for comments && suggestions!
2023-09-03 12:13:18 +02:00
ppom
cbfad9303f rename cli.go 2023-08-31 16:33:13 +02:00
ppom
b3791319d8 Permit regex ignores. Fixes #18 2023-08-21 23:35:19 +02:00
ppom
075b9252b7 fix #24 2023-07-12 17:45:16 +02:00
ppom
34bc047046 fix retryDuration ignore logic when retry <= 1 2023-05-05 16:30:35 +02:00
ppom
a1da122601 fix socket path issues 2023-05-05 15:33:00 +02:00
ppom
1d95c7bef6 Working communication code using socket
Sockets are sooo much better, waow
I like easy code

Closes #11 (even if I didn't implement all the proposal)
Closes #16
2023-05-04 01:02:05 +02:00
ppom
4f3d3952f0 Unworking named pipe shit. Go sockets instead! 2023-05-03 23:56:25 +02:00
ppom
f3080f5293 Untested cli/daemon communication code 2023-05-03 20:03:22 +02:00
ppom
4c86f37b70 light refacto 2023-05-01 18:21:31 +02:00
ppom
7f93079f66 standardize logs 2023-04-27 12:33:56 +02:00
ppom
067fb13e79 Execute now all pending actions when quiting 2023-04-27 11:58:57 +02:00
ppom
a2be5a566c Working log code
Closes #7 #17
2023-04-27 10:42:19 +02:00
ppom
aeb9af37be Untested log code 2023-04-26 17:18:55 +02:00
ppom
bd6288dae0 Do not allow for empty conf, stream, filter, regex or action.
This means the minimal valid configuration contains
one stream, with one filter, with one regex and one action.
2023-04-12 09:53:44 +02:00
ppom
b393ca8252 First persistance work 2023-04-11 13:01:02 +02:00