Geo: Enable error resolution through Admin UI instead of Rails console
Problem Statement
Many Geo troubleshooting tasks require administrators to run commands directly in the Rails console, creating operational risk in production environments. When encountering inconsistencies (checksum errors, missing files, GitLab Pages issues), administrators must SSH into servers, execute arbitrary Ruby code from documentation, and operate without clear context about affected resources.
Error messages lack sufficient detail—for example, GitLab Pages inconsistencies don't show which project the pages belong to. Common errors like "checksum out of date" appear alarming but may be benign, with no way to distinguish severity without Rails console investigation.
Proposal
Eliminate the need to use the rails console for common errors by enhancing the Geo Admin UI to provide self-service troubleshooting and resolution:
-
Enhanced error details:
- Display which project/resource an error belongs to
- Show error severity and whether immediate action is required
- Distinguish critical errors from benign warnings
-
Interactive resolution options:
- Add UI buttons for common fixes (resync, delete orphaned file, reverify checksum)
- Include confirmation dialogs explaining actions and impact
- Log all UI-based remediation actions for audit purposes
-
Improved categorization (future iteration):
- Group related errors for batch resolution
- Provide filters for specific error types or affected projects