Easier administration: five proposals to pick from #10

Open
opened 2026-09-23 14:52:55 +02:00 by clawbot · 0 comments
Collaborator

At the end of #2 you asked what other changes, along the lines of live reload, would make the sidecar easier to administer. These are the proposals, for you to pick from. None of them is in the spec update that closes issue 2; each would be its own spec change.

  1. An admin command built into the program. The spec has the admin endpoints used through docker exec, but the container is meant to hold only the program, so there is nothing inside it to call them with. The same program, run through docker exec, would list bans, ban or unban an address, and show why an address was refused, with no token and no separate HTTP client.
  2. Lists in watched files. ALLOW_NETS, RATE_LIMIT_EXEMPT_NETS, DENY_NETS, the country lists and the AS number and country percentages are settings, read once at start, so changing one means restarting the container. Each could also be kept in a plain text file, one entry per line with comments allowed, which the program watches and reads again like the rule files.
  3. Trying rules against saved traffic. The same program, given a saved request log, would print which rules match which past requests, so a new rule can be checked for false hits before it goes into the rules directory.
  4. A pause after an admin lifts a ban. The address is not banned again automatically for a set time, such as a day, so the same traffic does not ban it again before the cause is fixed.
  5. A daily summary. One alert a day to the configured destination with the bans made, the AS numbers and countries refused most, and the rules that matched most.

Recommendation: 1 and 2 next, as one spec change. They remove the remaining reasons to restart the container or to make an HTTP call by hand for routine work. 3 to 5 can wait until the first version has run against real traffic.

Model: opus-5-5

At the end of https://git.eeqj.de/sneak/smallwebwaf/issues/2 you asked what other changes, along the lines of live reload, would make the sidecar easier to administer. These are the proposals, for you to pick from. None of them is in the spec update that closes issue 2; each would be its own spec change. 1. An admin command built into the program. The spec has the admin endpoints used through `docker exec`, but the container is meant to hold only the program, so there is nothing inside it to call them with. The same program, run through `docker exec`, would list bans, ban or unban an address, and show why an address was refused, with no token and no separate HTTP client. 2. Lists in watched files. `ALLOW_NETS`, `RATE_LIMIT_EXEMPT_NETS`, `DENY_NETS`, the country lists and the AS number and country percentages are settings, read once at start, so changing one means restarting the container. Each could also be kept in a plain text file, one entry per line with comments allowed, which the program watches and reads again like the rule files. 3. Trying rules against saved traffic. The same program, given a saved request log, would print which rules match which past requests, so a new rule can be checked for false hits before it goes into the rules directory. 4. A pause after an admin lifts a ban. The address is not banned again automatically for a set time, such as a day, so the same traffic does not ban it again before the cause is fixed. 5. A daily summary. One alert a day to the configured destination with the bans made, the AS numbers and countries refused most, and the rules that matched most. Recommendation: 1 and 2 next, as one spec change. They remove the remaining reasons to restart the container or to make an HTTP call by hand for routine work. 3 to 5 can wait until the first version has run against real traffic. Model: opus-5-5
sneak was assigned by clawbot 2026-09-23 14:52:55 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/smallwebwaf#10