Skip to content

fix(helm): let the UI serve the server's index (ui.useServerIndex)#57

Merged
Neverdecel merged 1 commit into
masterfrom
claude/coderag-indexing-storage-h9fgdq
Jun 19, 2026
Merged

fix(helm): let the UI serve the server's index (ui.useServerIndex)#57
Neverdecel merged 1 commit into
masterfrom
claude/coderag-indexing-storage-h9fgdq

Conversation

@Neverdecel

Copy link
Copy Markdown
Owner

The web UI deployed as an independent instance with its own PVC
(…-ui-data), while the init/reindex Jobs only ever index the server's
PVC (…-server-data) over HTTP. Nothing populated the UI's volume, so a
deployed UI — especially in demo mode, where the in-app Reindex button is
disabled — showed an empty index (0 files / 0 chunks / 0 vectors) even
though the server was fully indexed.

Add ui.useServerIndex: when true the UI mounts the server's index volume
read-only at CODERAG_STORE_DIR, so it serves exactly what the index Jobs
built and can never corrupt the single-writer LanceDB store. No …-ui-data
PVC is created. The embedding-model cache is redirected to the writable
home volume so query embedding still works under the read-only mount.

ui.coLocateWithServer pins the UI onto the server's node via podAffinity,
required when the shared volume is ReadWriteOnce; omit it for a
ReadWriteMany storageClass. Rendering fails fast if useServerIndex is set
without server.enabled or persistence.enabled.

Docs and CI full-values updated to exercise the shared topology.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01JPY56pX54CybUWA9ibdHny

The web UI deployed as an independent instance with its own PVC
(…-ui-data), while the init/reindex Jobs only ever index the server's
PVC (…-server-data) over HTTP. Nothing populated the UI's volume, so a
deployed UI — especially in demo mode, where the in-app Reindex button is
disabled — showed an empty index (0 files / 0 chunks / 0 vectors) even
though the server was fully indexed.

Add ui.useServerIndex: when true the UI mounts the server's index volume
read-only at CODERAG_STORE_DIR, so it serves exactly what the index Jobs
built and can never corrupt the single-writer LanceDB store. No …-ui-data
PVC is created. The embedding-model cache is redirected to the writable
home volume so query embedding still works under the read-only mount.

ui.coLocateWithServer pins the UI onto the server's node via podAffinity,
required when the shared volume is ReadWriteOnce; omit it for a
ReadWriteMany storageClass. Rendering fails fast if useServerIndex is set
without server.enabled or persistence.enabled.

Docs and CI full-values updated to exercise the shared topology.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JPY56pX54CybUWA9ibdHny
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Neverdecel Neverdecel merged commit 8ba6e56 into master Jun 19, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants