v2.23.3
Added
unblock_ip remediation executor — the inverse of block_ip, so an IP ban applied by the proactive-remediation flow can be reverted.
- Same AWS-vs-on-box split as
block_ip, dispatched on the ban method: AWS methods (WAF / security group / NACL) go through the IP-ban service, which re-resolves the rule from the IP; on-box methods (nftables / ufw / firewalld) remove the box firewall rule over SSH and verify the IP is no longer in the ruleset. - Idempotent: unbanning an IP that isn't banned succeeds (the goal state already holds) rather than erroring, so repeating the operation or reverting an expired ban is safe.
- On-box argv is built locally from the validated IP; dry-run reports what would change and mutates nothing. The remediation verb allowlist stays closed — unknown verbs are refused.
Upgrade: pipx upgrade servonaut (or pip install -U servonaut).