feat(e2e): remove Elasticsearch and search-ingest from the test stack (PPT-2644) - #487
Merged
Merged
Conversation
… (PPT-2644)
Search is served straight from PostgreSQL once rest-api lands PPT-2644,
so the stack loses its two heaviest containers and the seed's 90s
index-lag poll shrinks to a short init-completion poll.
NOTE: do not merge before rest-api images with PG-backed search are
published — the stack pulls ${PLACEOS_TAG}.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
Greptile SummaryThis PR removes Elasticsearch and search-ingest from the e2e stack now that REST API search routes use PostgreSQL directly.
Confidence Score: 5/5The PR appears safe to merge with no actionable defects identified in the changed e2e stack. The remaining services start in the required order, initialization completes synchronously before seeding, and authority lookup no longer depends on the removed search infrastructure.
|
| Filename | Overview |
|---|---|
| e2e/stack/docker-compose.yml | Removes Elasticsearch and search-ingest services and strips their dependencies and environment configuration from the remaining stack. |
| e2e/stack/up.sh | Starts only PostgreSQL and Redis as foundational services while preserving synchronous initialization before seeding. |
| e2e/support/seed.ts | Reduces authority polling to 30 seconds and updates diagnostics for direct PostgreSQL-backed domain lookup. |
| e2e/support/preflight.ts | Updates explanatory documentation to reflect the smaller stack without changing runtime behavior. |
| e2e/README.md | Documents the reduced service set and PostgreSQL-backed authority lookup. |
| e2e/stack/SELF_HOSTED_RUNNER.md | Removes obsolete Elasticsearch host requirements and troubleshooting instructions. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Start e2e stack] --> B[Wait for PostgreSQL and Redis]
B --> C[Start frontend and API services]
C --> D[Wait for API and login]
D --> E[Run init start]
E --> F[Run seed.ts]
F --> G[Read authority from PostgreSQL-backed /domains]
G --> H[Run Playwright suite]
Reviews (1): Last reviewed commit: "feat(e2e): remove Elasticsearch and sear..." | Re-trigger Greptile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of PPT-2644 infra removal: rest-api now serves every index/search route straight from PostgreSQL full-text search (PlaceOS/rest-api#445, merged), so the e2e stack's Elasticsearch and search-ingest containers do nothing and can go. They were the two heaviest containers in the stack, and the source of its only cold-start race (search-index lag).
What
e2e/stack/docker-compose.yml— theelasticandsearch-ingestservices are removed, along with their volumes/depends_on wiring.e2e/stack/up.sh— the health-wait list shrinks topostgres redis; the failure-diagnosis comment no longer cites the ES memlock incident.e2e/support/seed.ts— the authority lookup no longer polls 90s for search-ingest to index the domain row./domainsis read-your-writes from Postgres now, so it polls up to 30s only forinit startto finish on a cold stack, and the failure message points atinitinstead of search-ingest. The OAuth-app "already exists" tolerance stays, re-justified: the race is now concurrent seed runs, not index lag.e2e/README.md,e2e/stack/SELF_HOSTED_RUNNER.md— container list, sizing notes and troubleshooting updated; thevm.max_map_count/ cgroup-v2 ES caveats are gone.No spec changes — the suite never talked to Elasticsearch directly, only to the API.
Verification
docker compose -f e2e/stack/docker-compose.yml configvalidates.Merge order
This PR was gated on published rest-api images with PG-backed search (the stack pulls
${PLACEOS_TAG}). That gate is met: nightly images carry PG search since 2026-08-12 and the change was validated end-to-end on this stack. Safe to merge.