|
feat: парсер самосвидетельства health-ответов (handbook spec §5)
Панель читает расширенное тело health: identity (service/version/build/
environment/uptime|since), mode из белого списка {maintenance, readonly,
draining} — нейтральный бейдж в карточке, gauges — числа чипами.
Белый список известных полей: сырое тело не хранится и не логируется
(эндпоинт без авторизации), bool/вложенные значения в gauges отбрасываются,
неизвестный mode игнорируется (mode ≠ лайвность).
service_samples.report (JSON, NULL = нет самосвидетельства); колонка
добавляется к живым БД guarded ALTER в db.init_db (паттерн будущих
миграций). В API — report в списке сервисов и в истории проб.
Карточка «Сервисы»: v+environment+аптайм (fmtUptime), бейдж mode
(тексты i18n en/uk/ru), чипы gauges; пустые строки не рисуются.
|
|---|
|
|
| README.md |
|---|
| panel/backend/app/api/services.py |
|---|
| panel/backend/app/db.py |
|---|
| panel/backend/app/schema.sql |
|---|
| panel/backend/app/services_probe.py |
|---|
| panel/frontend/src/i18n/messages/en.js |
|---|
| panel/frontend/src/i18n/messages/ru.js |
|---|
| panel/frontend/src/i18n/messages/uk.js |
|---|
| panel/frontend/src/pages/ServicesPage.vue |
|---|