# ⛔⛔⛔ ЛЕГАСИ — СТАРЫЙ IoT (k8s-деплой) С 2026-08-16 всё, что относится к СТАРОМУ IoT (деплой в собственном k8s, оператор, CRD), — **ЛЕГАСИ**. **НЕ ПРИНИМАТЬ ВО ВНИМАНИЕ** при принятии решений. Не использовать, не ссылаться, не переносить в новую архитектуру без отдельной команды. **Актуальное:** - `HISTORY/2026-08-16-session-log.md` — состояние, диагностика, план миграции - `doc/sqs-integration.md` — актуальная интеграция с shared-sqs ## Помечено ЛЕГАСИ и перенесено в `legacy/` (2026-08-16) - `legacy/deployments/` — все k8s-манифесты старого деплоя - `legacy/config/` — CRD IoTDevice - `legacy/doc/` — все старые документы (deployment, architecture, api, decisions, thinking, progress, testing и др.) - `legacy/examples/` — старые примеры (RabbitMQ/serverless) - `legacy/2026-08-13-migration-to-managed.md` — СТАРЫЙ план миграции (Node.js) — ОТМЕНЁН - `legacy/Dockerfile.old` — собирал 3 старых бинарника - `legacy/Makefile.old` — старые k8s-цели - ⛔ `cmd/iot-operator/`, `controllers/`, `api/v1alpha1/` — оператор (CRD-контроллер): **УДАЛЁН 2026-10-10** — не импортировался активным монолитом, не собирался. - ⛔ `internal/api/` — старый REST API + UI-embeds (admin/console): **УДАЛЁН 2026-10-10** (активный API — `internal/service/api/`). - ⛔ `cmd/mqtt-bridge/` — старый standalone bridge: **УДАЛЁН 2026-10-10** (заменён `internal/service/bridge/`). - k8s-зависимости (`k8s.io/*`, `controller-runtime`) — **УДАЛЕНЫ из go.mod 2026-10-10** (`go mod tidy` после удаления оператора/CRD). ## Аудит вмешательства старого IoT (2026-08-16, проверено) - **Код:** k8s-зависимости есть ТОЛЬКО в `internal/api/handler/` (handler.go, iot_device_handler.go, iot_admin_stats_handler.go — controller-runtime, corev1, CRD-типы). Всё остальное чисто: router, middleware, UI-embeds, `internal/storage/iotpg/`, `cmd/mqtt-bridge/`, `cmd/sqs-consumer/`. - **Правило для монолита:** новый код НЕ импортирует `controllers/`, `api/v1alpha1/`, k8s-клиент. Хендлеры устройств переписываются на PG-хранилище (`iot_devices`); после этого k8s-депы удаляются из go.mod. - **Данные:** старый shared-sqs (qu.kube5s.ru) удалён полностью — старых очередей нет. В managed PG остались старые тестовые tenant-DB (изолированы, на новый код не влияют; очистка — только по отдельной команде). Старые k8s Secrets не читаются (новый код без k8s-клиента). - **Артефакты:** `bin/` в git не отслеживается; CI (.github/) содержит только правила — старых пайплайнов нет. ## НЕ легаси (актуально) - `HISTORY/2026-08-16-session-log.md` - `doc/sqs-integration.md` - `ws-probe/` - `cmd/iot-service/`, `internal/service/`, `internal/storage/iotpg/` — активный монолит iot-service - ⛔ `cmd/sqs-consumer/` — **УДАЛЁН 2026-10-07**: standalone-консьюмер, который НЕ собирался Dockerfile/Makefile (те билдят только `./cmd/iot-service/`); его логика поглощена `internal/service/consumer/`. Был источником пустого `message_id` (обход дедупа).