Files
IoT/LEGACY.md
T
Repinoid b205f886b6 chore(iot): удалить легаси-код (оператор/CRD/старый API/standalone bridge)
Удалён кластер старого IoT, не импортировавшийся активным монолитом:
- cmd/iot-operator/, controllers/, api/v1alpha1/ — k8s-оператор + CRD
- internal/api/ — старый REST API + UI-embeds (заменён internal/service/api)
- cmd/mqtt-bridge/ — standalone bridge (заменён internal/service/bridge)

go mod tidy убрал k8s-зависимости (k8s.io/*, controller-runtime).
2026-10-10 18:11:05 +03:00

4.0 KiB
Raw Blame History

⛔⛔⛔ ЛЕГАСИ — СТАРЫЙ 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 (обход дедупа).