Skip to content

fix: make service runnable outside the cluster - #3

Merged
justgithubaccount merged 1 commit into
mainfrom
fix/local-startup
Sep 3, 2026
Merged

justgithubaccount merged 1 commit into
mainfrom
fix/local-startup

Conversation

@justgithubaccount

Copy link
Copy Markdown
Owner

Проблема

Дефолт OTEL_EXPORTER_OTLP_ENDPOINT в app/observability/tracing.py был зашит как внутрикластерный адрес:

"http://otel-collector.observability.svc.cluster.local:4318"

Вне кластера он не резолвится. Сервис при этом работает — эндпоинты отвечают, тесты проходят — но каждый запрос засыпает вывод NameResolutionError, и выглядит это как сломанный сервис.

При этом README и .env.example обещали http://localhost:4318. То есть код расходился с собственной документацией: человек читает README, запускает без .env, получает поток ошибок.

Что сделано

Дефолт приведён к обещанному в документации. В кластере адрес коллектора как приходил через переменную окружения, так и приходит — поведение в проде не меняется.

Заодно в README:

  • убрана ссылка на каталог misc/ — он остался в монорепе и в этот репозиторий не переезжал;
  • app-release заменён на реальных соседей: app-poly-gitops-helm (чарт этого сервиса), app-poly-gitops-k8s (GitOps-манифесты), app-mono-gitops (монорепа-предок).

Проверено

uv run pytest -q          # 16 passed
uv run ruff check app tests   # All checks passed
uv run mypy app --ignore-missing-imports   # no issues in 23 source files

Старт без .env — ноль ошибок про кластерный DNS, GET /health → 200.

Остальные шесть эндпоинтов из README сверены с кодом: совпадают. GET /api/v1/behavior/schema отдаёт 404 без настроенного Notion — это штатное поведение, Notion в README помечен опциональным.

🤖 Generated with Claude Code

Дефолт OTEL_EXPORTER_OTLP_ENDPOINT был зашит как внутрикластерный адрес
otel-collector.observability.svc.cluster.local. Вне кластера он не
резолвится, и каждый запрос засыпал вывод NameResolutionError, хотя
сервис при этом работал.

При этом README и .env.example обещали localhost:4318 — код расходился
с документацией. Дефолт приведён к обещанному; в кластере адрес всё так
же приходит через переменную окружения.

README: убрана ссылка на каталог misc/, оставшийся в монорепе, и на
несуществующий app-release. Вместо него перечислены реальные соседи:
helm-чарт, GitOps-манифесты и монорепа-предок.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@justgithubaccount
justgithubaccount merged commit 8850e6a into main Sep 3, 2026
1 check passed
@justgithubaccount
justgithubaccount deleted the fix/local-startup branch September 3, 2026 09:48
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.

1 participant