IoT MVP: архитектура, план реализации, лог рассуждений

- Определена архитектура managed IoT service
- Согласовано решение: RabbitMQ (MVP), потом Kafka; EMQX + CRD контроллер
- Создан подробный план для Sonnet (doc/iot-mvp-plan.md)
- Добавлено правило в copilot-instructions: лог мышления в doc/thinking/ по датам
- Полный ход рассуждений в doc/thinking/2026-04-04.md

Ключевые решения:
- IoT код в iot/ (легко вынести потом)
- CRD IoTDevice + контроллер (как все остальное в sless)
- EMQX HTTP Auth Backend для динамической аутентификации устройств
- Архитектура broker-agnostic (легко переключить на Kafka)
- Terraform: расширяем текущий provider (sless_iot_device ресурс)
This commit is contained in:
Repinoid
2026-04-04 08:34:14 +03:00
parent ebbba66146
commit 6dc2dc69ba
24 changed files with 2958 additions and 51 deletions
+5 -1
View File
@@ -1,5 +1,9 @@
# Пример: Виртуальная машина (vApp + VM) в Nubes vDC
> ⚠️ **Тестовое окружение.** Пример работает с тестовым API Nubes и тестовым кластером sless. Не использовать в продакшне без предварительного согласования.
> В этом примере используются только **разовые джобы** (`sless_job`) — для установки ПО на ВМ. Примеры с HTTP-сервисами (`sless_service`) появятся позднее.
Создаёт:
- **vApp** — виртуальный каталог (контейнер для ВМ в VMware vDC)
- **ВМ** — Ubuntu 22.04, 2 CPU / 2 GB RAM / 20 GB disk
@@ -200,5 +204,5 @@ terraform destroy
| `vm.tf` | Ресурс ВМ (Ubuntu 22.04) |
| `sless.tf` | Serverless-джобы для установки ПО |
| `outputs.tf` | Вывод IP-адреса и ID ресурсов |
| `vm_key` / `vm_key.pub` | SSH-ключ для доступа к ВМ |
| `vm_key` / `vm_key.pub` | SSH-ключ **создаётся вами на Шаге 2**, в git не хранится |
| `functions/` | Код Python-функций для install-джобов |