# Шаг 8 — DEV стенд: сервисы протестированы **Дата:** 2026-07-21 ## Итог тестирования сервисов | # | Сервис | Статус | Причина ошибки | |---|--------|--------|---------------| | 1 | `nubes_kafka` | ✅ | — | | 2 | `nubes_redis` | ✅ | — | | 3 | `nubes_mongodb` | ✅ | — | | 4 | `nubes_flask` (producer) | ✅ | — | | 5 | `nubes_clickhouse` | ❌ | GitHub timeout (Helm chart) | | 6 | `nubes_superset` | ❌ | IAM 408 timeout | | 7 | `nubes_akhq` | ❌ | `toBoolean() on null` — баг платформы | ## Финальный список демо (6 сервисов) | # | Сервис | Роль | |---|--------|------| | 1 | `nubes_kafka` | Шина сообщений | | 2 | `nubes_redis` | Кэш дашборда | | 3 | `nubes_mongodb` | Постоянное хранение | | 4 | `nubes_flask` (producer) | IoT → Kafka | | 5 | `nubes_flask` (consumer) | Kafka → Redis + MongoDB | | 6 | `nubes_nodejs` (dashboard) | Redis → графики Chart.js | ## Реальные ключи (определены) ### Kafka ``` state_out_flat.internalConnect.bootstrap.fqdn:9093 (TLS) vault_secrets["users"]["iot-app"]["user.password"] vault_secrets["users"]["ca"]["ca.crt"] ``` ### Структура Flask-приложений ``` site/app.py (НЕ app.py в корне!) requirements.txt (Flask, gunicorn, ...) БЕЗ Procfile ```