ERD_INDEXERS_CHECKLIST.md still had the broad indexer-management UI item open after the manual search page landed.
The API already exposed many ERD-backed mutation workflows for indexers, secrets, routing policies, rate limits, search profiles, policy sets, import jobs, and Torznab management.
The current UI lacked a dedicated route for those operations, which forced all validation of that surface into API/CLI-only flows.
Decision:
Add a dedicated /indexers route and crates/revaer-ui/src/features/indexers/ feature slice for operator-facing indexer administration.
Reuse the existing authenticated API surface through the shared ApiClient, adding small generic REST helpers instead of introducing new dependencies or duplicating HTTP auth logic.
Model the page as an action-oriented admin console with a shared activity log, because the backend does not yet expose read/list endpoints for every managed resource.
Alternatives considered: overloading the existing Settings page, or delaying all UI work until broader list/read APIs existed. Both options would have either blurred module boundaries or left the remaining ERD UI scope blocked longer.
Consequences:
Positive outcomes:
Revaer now has end-to-end UI entry points for the existing indexer management workflows, including definitions lookup, tags, secrets, routing policies, rate limits, instances, search profiles, policies, imports, and Torznab actions.
Operators can capture raw response payloads in the page log, which improves reproducibility when comparing UI behavior to API/CLI behavior.
No new dependencies were added.
Risks or trade-offs:
The console is action-first rather than a full CRUD browser because list/read endpoints are still incomplete for several resource types.
Several fields currently use free-form text inputs for enum keys and UUIDs, which trades richer affordances for implementation speed and API parity.
Follow-up:
Implementation tasks:
Add list/read endpoints and richer selectors as the backend surface expands.
Fold more health and connectivity summary views into the indexer route once dedicated data reads are available.
Review checkpoints:
Keep just ci and just ui-e2e green.
Revisit the remaining unchecked checklist items around service layering, error logging origin, rollout, and final acceptance.