Sorunome / mx-puppet-bridge

Puppeting library for matrix
Apache License 2.0
95 stars 29 forks source link

Implement dynamic reloading of allowlist / blocklist permissions without full restarting of bridge #78

Open MurzNN opened 3 years ago

MurzNN commented 3 years ago

On my setups I have the script, that dynamically manage allowlist / blocklist (named now as whitelist / blacklist in config file) of users, that can access bridge. But the problem is that for apply changes I need to do a full restart of bridge.

At now permissions are managed via provisioning.whitelist and provisioning.blacklist sections of main config.yaml file.

The restart itself is not a problem, but the problem is that all users receive "reconnected" messages on all their puppets each time when I change permissions policy, that is too noisy for other users. Also at restart time bridge can lose some messages, I guess.

So will be good to implement any way to dynamically reload of permission rules, without restarting of bridge and reconnecting of puppets for users, whose permissions are not changed.

And maybe good idea is to store user permissions info separately from main config file, maybe even in database?