Files
IoT/doc/progress.md
T

38 lines
2.2 KiB
Markdown

# IoT Managed Service — Трекер прогресса
## 2026-04-12: Перенос из sless в отдельную репу
### Выполнено
- [x] Создана репа https://gitea.services.ngcloud.ru/Nail/IoT
- [x] Go модуль: `gitea.services.ngcloud.ru/Nail/IoT`
- [x] Перенесены все 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_*.go``internal/api/handler/` (REST handlers)
- `internal/api/ui/iot-*.html``internal/api/ui/` (embedded HTML)
- `internal/api/middleware/``internal/api/middleware/` (auth, logging)
- `deployments/k8s/iot-*.yaml` + `kafka.yaml``deployments/k8s/`
- `config/crd/bases/``config/crd/bases/`
- `doc/iot/`, `examples/IOT/``doc/`, `examples/`
- [x] Созданы новые файлы:
- `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`
- [x] Все import paths заменены: `sless/iot/...``Nail/IoT/...`
- [x] Все 3 бинарника собираются без ошибок (go build ./...)
- [x] Запушено в Gitea
### Следующие шаги
- [ ] Docker build + push на Docker Hub (`naeel/iot-operator`)
- [ ] Обновить k8s manifests для нового образа
- [ ] Деплой в кластер
- [ ] E2E тест: создание устройства → MQTT → Kafka → Postgres → API
- [ ] Убрать IoT-код из sless (опционально, после подтверждения что всё работает)