Skip to content

fix(embedders): use /.well-known/ready instead of /health for local embeddings probe (#1772) - #1784

Open
awesome-pro wants to merge 2 commits into
airweave-ai:mainfrom
awesome-pro:fix/issue-1772-local-embeddings-health-endpoint
Open

fix(embedders): use /.well-known/ready instead of /health for local embeddings probe (#1772)#1784
awesome-pro wants to merge 2 commits into
airweave-ai:mainfrom
awesome-pro:fix/issue-1772-local-embeddings-health-endpoint

Conversation

@awesome-pro

@awesome-pro awesome-pro commented May 12, 2026

Copy link
Copy Markdown

Summary

  • Replaces /health with /.well-known/ready in the backend startup reachability probe and the docker-compose healthcheck for the text2vec-transformers container
  • Updates the corresponding unit test assertion to match

Problem

The semitechnologies/transformers-inference image does not expose a /health endpoint — it serves /.well-known/ready (HTTP 204 when ready, 503 when not). Both the backend startup check and the docker-compose healthcheck were calling /health, always receiving 404, which caused raise_for_status() to throw an HTTPStatusError. This prevented the local_minilm embedder from ever starting, even when the container was healthy.

Changes

File Change
backend/airweave/domains/embedders/config.py _validate_local_reachability: /health/.well-known/ready
docker/docker-compose.yml text2vec-transformers healthcheck: /health/.well-known/ready
backend/airweave/domains/embedders/tests/test_local_reachability.py Update expected URL in test_passes_when_service_reachable

Test plan

  • Syntax validated on all three changed files
  • Unit test test_passes_when_service_reachable assertion updated to match the new endpoint
  • /.well-known/ready returns HTTP 204 (no content) when the container is healthy — raise_for_status() does not raise on 2xx

Fixes #1772


Summary by cubic

Switch the local embeddings health probe from /health to /.well-known/ready so the text2vec-transformers container reports healthy and local_minilm can start. This avoids 404s from the semitechnologies/transformers-inference image.

  • Bug Fixes
    • Backend reachability check now calls /.well-known/ready.
    • Healthchecks for text2vec-transformers updated to /.well-known/ready in both docker-compose files.
    • Unit test assertion updated to expect the new endpoint.

Written for commit 720de02. Summary will update on new commits.

…mbeddings probe

The semitechnologies/transformers-inference image does not expose /health —
it serves /.well-known/ready (204 when ready, 503 when not). Both the
backend startup reachability check and the docker-compose healthcheck were
hitting /health, always receiving 404, which caused raise_for_status() to
throw and prevented local_minilm from starting.

Changed three places consistently:
- backend/airweave/domains/embedders/config.py — startup probe URL
- docker/docker-compose.yml — text2vec-transformers healthcheck
- test_local_reachability.py — expected URL in the unit test assertion

Fixes airweave-ai#1772

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

…eady

docker-compose.test.yml was missed when fixing the semitechnologies
inference health check URL in PR airweave-ai#1784.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

Local embeddings (local_minilm) fail to start due to /health endpoint returning 404

1 participant