Files
IoT/doc/progress.md
T

2.2 KiB

IoT Managed Service — Трекер прогресса

2026-04-12: Перенос из sless в отдельную репу

Выполнено

  • Создана репа https://gitea.services.ngcloud.ru/Nail/IoT
  • Go модуль: gitea.services.ngcloud.ru/Nail/IoT
  • Перенесены все IoT-компоненты из sless:
    • iot/api/v1alpha1/api/v1alpha1/ (CRD types: IoTDevice)
    • iot/controllers/controllers/ (IoTDevice reconciler)
    • iot/cmd/mqtt-bridge/cmd/mqtt-bridge/ (MQTT→Kafka)
    • iot/cmd/kafka-consumer/cmd/kafka-consumer/ (Kafka→Postgres)
    • internal/storage/iotpg/internal/storage/iotpg/ (per-tenant PG)
    • internal/api/handler/iot_*.gointernal/api/handler/ (REST handlers)
    • internal/api/ui/iot-*.htmlinternal/api/ui/ (embedded HTML)
    • internal/api/middleware/internal/api/middleware/ (auth, logging)
    • deployments/k8s/iot-*.yaml + kafka.yamldeployments/k8s/
    • config/crd/bases/config/crd/bases/
    • doc/iot/, examples/IOT/doc/, examples/
  • Созданы новые файлы:
    • cmd/iot-operator/main.go — точка входа (controller-manager + REST API)
    • internal/api/handler/handler.go — упрощённый Handler (без S3/PG от sless)
    • internal/api/router.go — только IoT маршруты
    • Dockerfile — multi-stage build, 3 бинарника, distroless
    • Makefile — build/docker/deploy команды
    • .gitignore
    • .github/copilot-instructions.md
  • Все import paths заменены: sless/iot/...Nail/IoT/...
  • Все 3 бинарника собираются без ошибок (go build ./...)
  • Запушено в Gitea

Следующие шаги

  • Docker build + push на Docker Hub (naeel/iot-operator)
  • Обновить k8s manifests для нового образа
  • Деплой в кластер
  • E2E тест: создание устройства → MQTT → Kafka → Postgres → API
  • Убрать IoT-код из sless (опционально, после подтверждения что всё работает)