So my latest project is using fail2ban in conjunction with etcd. The idea is that each time fail2ban bans an IP, it updated my etcd cluster. I have a 5 node etcd cluster so each one that gets hit updates the ruleset for all of the other nodes. I need to add a ton of documentation but the code is here https://github.com/PegasusPrime/fail2ban-etcd