[Taiga #73] Добавить endpoint /api/v1/config-info для просмотра безопасной части конфигурации #7

Open
opened 2026-05-18 22:14:12 +00:00 by Grigo · 0 comments
Owner

Linked Taiga story: #73

Suggested branch:
feature/taiga-73-dobavit-endpoint-api-v1-config-info-dlya-prosmotra-bezopasno

Project type: work
AI tags: work, ais, backend, rest-api, configuration, monitoring

Description

Реализовать новый REST endpoint, который возвращает текущую конфигурацию сервиса в безопасном виде (без чувствительных данных). Endpoint должен быть расположен в src/ais_hub/publish/rest.py и возвращать JSON с параметрами, необходимыми для мониторинга и отладки (слушатели, хранилище, логирование, но без паролей и секретных ключей).

Taiga: https://tasks.grigowashere.ru/project//us/73

Acceptance criteria

  • Endpoint GET /api/v1/config-info доступен и возвращает HTTP 200
  • Ответ содержит безопасную информацию о текущей конфигурации (порты слушателей, пути хранилища, уровень логирования)
  • Чувствительные данные (пароли, токены, пути к серийным портам с полными путями) не включены или замаскированы
  • Endpoint задокументирован в docs/API.md с примером ответа
  • Написаны тесты в tests/test_rest_smoke.py, проверяющие наличие endpoint и формат ответа

Code notes

  • Config модель находится в src/ais_hub/config.py и загружается при старте приложения. Проверить структуру и поля, какие из них безопасны.
  • REST endpoints реализованы в src/ais_hub/publish/rest.py с использованием aiohttp. Там же расположены примеры структуры роутов и ответов.
  • Существующие endpoints возвращают JSON, используя встроенные методы сериализации. Проверить паттерны в health, stats endpoint для согласованности.
  • Тесты REST находятся в tests/test_rest_smoke.py и используют asyncio + aiohttp TestClient. Там есть примеры как поднять приложение и сделать запросы.

Questions

  • Какие поля конфигурации считаются безопасными для раскрытия? (например: имена портов слушателей, пути БД, уровень логирования, размеры очередей)
  • Нужно ли включать информацию о включённых/отключённых модулях (ingest, storage, publish)?
  • Требуется ли версионирование этого endpoint (например /api/v1/config-info или /api/v2/config-info)?
Linked Taiga story: #73 Suggested branch: `feature/taiga-73-dobavit-endpoint-api-v1-config-info-dlya-prosmotra-bezopasno` Project type: `work` AI tags: work, ais, backend, rest-api, configuration, monitoring ## Description Реализовать новый REST endpoint, который возвращает текущую конфигурацию сервиса в безопасном виде (без чувствительных данных). Endpoint должен быть расположен в src/ais_hub/publish/rest.py и возвращать JSON с параметрами, необходимыми для мониторинга и отладки (слушатели, хранилище, логирование, но без паролей и секретных ключей). Taiga: https://tasks.grigowashere.ru/project//us/73 ## Acceptance criteria - Endpoint GET /api/v1/config-info доступен и возвращает HTTP 200 - Ответ содержит безопасную информацию о текущей конфигурации (порты слушателей, пути хранилища, уровень логирования) - Чувствительные данные (пароли, токены, пути к серийным портам с полными путями) не включены или замаскированы - Endpoint задокументирован в docs/API.md с примером ответа - Написаны тесты в tests/test_rest_smoke.py, проверяющие наличие endpoint и формат ответа ## Code notes - Config модель находится в src/ais_hub/config.py и загружается при старте приложения. Проверить структуру и поля, какие из них безопасны. - REST endpoints реализованы в src/ais_hub/publish/rest.py с использованием aiohttp. Там же расположены примеры структуры роутов и ответов. - Существующие endpoints возвращают JSON, используя встроенные методы сериализации. Проверить паттерны в health, stats endpoint для согласованности. - Тесты REST находятся в tests/test_rest_smoke.py и используют asyncio + aiohttp TestClient. Там есть примеры как поднять приложение и сделать запросы. ## Questions - Какие поля конфигурации считаются безопасными для раскрытия? (например: имена портов слушателей, пути БД, уровень логирования, размеры очередей) - Нужно ли включать информацию о включённых/отключённых модулях (ingest, storage, publish)? - Требуется ли версионирование этого endpoint (например /api/v1/config-info или /api/v2/config-info)?
Grigo added the workaisbackendrest-apimonitoringconfiguration labels 2026-05-18 22:14:12 +00:00
Sign in to join this conversation.