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

58 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ⛔⛔⛔ ЛЕГАСИ — СТАРЫЙ 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` (обход дедупа).