Rename appview → indexer across codebase
Opake's service is an atproto appview in protocol role, but serves no
rendered views — all payloads are ciphertext. "Appview" was a constant
explanatory tax; "indexer" is what it actually does.
Changes:
- Elixir: apps/appview/ → apps/indexer/; mix app :opake_appview →
:opake_indexer; namespaces OpakeAppview.* → OpakeIndexer.*;
OpakeAppviewWeb.* → OpakeIndexerWeb.*; internal OpakeAppview.Indexer
module (firehose consumer) → OpakeIndexer.Firehose (resolves collision
from service rename). DB name opake_appview_* → opake_indexer_*.
- Rust: client/appview*.rs → client/indexer*.rs; Error::Appview → Indexer;
DEFAULT_APPVIEW_URL → DEFAULT_INDEXER_URL; resolve_appview_url,
set_appview_url, appview_url field, etc.
- TS: appviewUrl → indexerUrl in schemas/types; setAppviewUrl →
setIndexerUrl; OpakeError kind "Appview" → "Indexer". Regenerated wasm
bindings.
- Lexicon: app.opake.accountConfig field appviewUrl → indexerUrl; update
record descriptions.
- Infra: Containerfile.appview → Containerfile.indexer; env vars
OPAKE_APPVIEW_URL → OPAKE_INDEXER_URL; VITE_APPVIEW_URL →
VITE_INDEXER_URL; URLs appview.opake.app → indexer.opake.app;
k8s deployment/opake-appview → deployment/opake-indexer; justfile
recipes; docker-compose service name; .tangled workflows.
- Tools: tools/appview-auth.py → tools/indexer-auth.py.
- Docs: docs/appview.md → docs/indexer.md; all prose references updated.
CHANGELOG.md preserved (historical record). Blog post preserved (refers
to generic atproto appview protocol role). ARCHITECTURE.md adds one
clarifying sentence acknowledging the protocol-role connection.
No existing accountConfig records to migrate — pre-release, two dev
accounts. Next record write overwrites cleanly.
Build verified: cargo check --workspace clean; cargo test 556 pass;
mix compile --warnings-as-errors clean; @opake/sdk 32 tests pass;
@opake/react 32 tests pass; apps/web tsc clean. Pre-existing test
failures (9 web unit, 4 Elixir) unrelated.