WHAT WAS DONE:
- Copied current Whitelist Manager Python code to services/whitelist-manager/
- Extracted from Billing VPS (38.68.14.188) via Cockpit terminal
- 1 file: app.py (Flask application, ~600 lines)
WHY:
Preserve current broken Whitelist Manager code before replacement.
This code is BROKEN (see Task #86, #90) and will be retired once
Arbiter 2.x is deployed, but we need it in version control for
reference during migration.
WHAT'S BROKEN:
- Hardcoded server grouping by name keywords (not node allocation)
- WebSocket console commands for status (unreliable, returns UNKNOWN)
- No subscription integration
- No master whitelist concept
- Manual-only operation
CURRENT STATE:
- Running on Billing VPS at whitelist.firefrostgaming.com
- Broken since Panel v1.12.1 upgrade (March 13, 2026)
- All servers show 'UNKNOWN' status
- Grouping logic fails (11 servers in 'Unknown' group)
- Bulk operations not working
REPLACEMENT:
Task #90 - Arbiter 2.x will replace this with:
- Subscription-driven access control
- Master whitelist in PostgreSQL
- Pterodactyl File Management API (not WebSocket)
- Auto-discovery by node allocation
- Discord /link command integration
FILES:
- services/whitelist-manager/app.py (new, 600 lines)
NOTE:
This is REFERENCE CODE ONLY. Do not deploy or build upon.
Arbiter 2.x is the correct path forward.
Signed-off-by: The Golden Chronicler <claude@firefrostgaming.com>