Commit Graph

31 Commits

Author SHA1 Message Date
Mark Veidemanis dd67e9cc8b
Implement ChanKeep without requiring persistent chanlimits on all networks 2022-08-13 19:20:29 +01:00
Mark Veidemanis c145e5cf18
Add some debug statements and statistics for chanlimits 2022-08-13 18:40:13 +01:00
Mark Veidemanis edfb3f15eb
Implement migrating networks 2022-08-12 23:32:00 +01:00
Mark Veidemanis 571a527f43
Return correct data type for provisioning relays 2022-08-11 20:29:01 +01:00
Mark Veidemanis c983a8e3b6
Allow gaps in relay numbering 2022-08-11 19:22:09 +01:00
Mark Veidemanis 864f0904f5
Implement automatic provisioning 2022-08-01 19:34:35 +01:00
Mark Veidemanis 80c016761f
Reformat again 2022-07-21 13:40:09 +01:00
Mark Veidemanis 2fecd98978
Reformat project 2022-07-21 13:40:05 +01:00
Mark Veidemanis 4ecb37b179
Reformat and fix circular import 2022-07-21 13:40:03 +01:00
Mark Veidemanis 27cafa1def
Revert "Reformat project"
This reverts commit 64e3e1160aa76d191740342ab3edc68807f890fb.
2022-07-21 13:40:01 +01:00
Mark Veidemanis da678617d8
Reformat project 2022-07-21 13:39:59 +01:00
Mark Veidemanis 4734a271a1
Extra error handling around emails 2022-07-21 13:39:52 +01:00
Mark Veidemanis e0f86ec853
Fix provisioning with emails 2022-07-21 13:39:46 +01:00
Mark Veidemanis 7c855e09c0
Reformat code with pre-commit 2022-07-21 13:39:41 +01:00
Mark Veidemanis 9fd6688892 Implement setting modes in ZNC 2020-11-01 03:39:32 +00:00
Mark Veidemanis f848b5afd6 Provision users with lowercase names 2020-10-28 22:30:04 +00:00
Mark Veidemanis e0549cdd30
Restructure provisioning into fewer functions 2020-05-30 21:37:22 +01:00
Mark Veidemanis bc4d5cba8e
Separate provisioning into user and auth info 2019-12-28 17:51:03 +00:00
Mark Veidemanis 6ad6d6dc50 Fix channel allocation when relays are provisioned
Fix a bug where the channel allocation algorithm failed due to
necessary relays not having been provisioned yet.
Passed the newly created relay numbers to the allocation function
and assumed their CHANMAX would be the same as all other relays for
the same network.
2019-10-12 21:40:50 +01:00
Mark Veidemanis 0321651c20 Implement fair channel allocation in ChanKeep
* Allocate channels to relays only if they have free space based on
their chanlimit value
* Minify channels by removing ones that are already covered before
passing them off to be joined
2019-10-12 21:05:55 +01:00
Mark Veidemanis 7a6e3338c0 Implement ChanKeep joining functions
* Low-key channel joining with incrementally increasing delay
* Spin up needed instances to be able to cover a certain channel space
* Fix provisioning functions to prevent race conditions with lots of
relays being created at once
* Tweakable switchover from covering all channels to only covering
channels with more users than the mean of the cumulative user count
2019-10-11 13:07:57 +01:00
Mark Veidemanis 31c9e64790 Implement function to set up multiple relays 2019-10-08 21:11:04 +01:00
Mark Veidemanis 32309ecec2 Change alias definitions to be global, so aliases can be reused across different networks 2019-09-29 22:45:16 +01:00
Mark Veidemanis 2d70d5af11 Add error checking in places, set up automatic relay provisioning and fix starting bots 2019-08-25 21:29:11 +01:00
Mark Veidemanis f34ddab6fc Improvements to query and self event detection, implement all command and debug flags 2019-08-15 21:20:49 +01:00
Mark Veidemanis 1ec0e1f7e6 Remove provisioning restrictions, move all user tracking code to monitoring module, fix proper network name not being passed to the relay 2019-08-12 21:03:47 +01:00
Mark Veidemanis 2757256d4f Implement a single function for all callbacks from IRC hooks and send a seperate notification if an action takes place that concerns a bot 2019-08-11 21:54:22 +01:00
Mark Veidemanis 488d81dac8 Fix a race condition in disabling networks post-creation, remove redundant bindhost code and fix a minor bug in the load command 2019-03-16 17:05:16 +00:00
Mark Veidemanis a4b7bd50b1 Implement additional error checking for provisioning instances and parsing messages, and prevent ZNC from auto-connecting an instance if ConnectOnCreate is off 2019-02-01 23:26:01 +00:00
Mark Veidemanis 8926cb76ec Renovate the module system and implement adding and resuming pool instances using the new relay/alias/network system 2019-01-26 18:58:21 +00:00
Mark Veidemanis 4efea3f535 Implement the backend for automatically provisioning relays 2019-01-26 01:57:24 +00:00