Commit Graph
24 Commits
Author SHA1 Message Date
Repinoid e1804c9b97 fix(deploy): MQTT_HOST = containerk8s.<uid> (сервис платформы не называется resource_name) + разбор падения iot-service (PG: владелец таблиц) 2026-10-11 19:21:12 +03:00
Repinoid 5978d80ab2 docs(deploy): требование ровно одного EXPOSE + iot-emqx v0.2.5 в чек-листе 2026-10-11 15:01:53 +03:00
Repinoid c06fb3a8e2 docs: PG для IoT готов — user iotservice + db iotdb созданы через Nubes API (test) 2026-10-11 14:03:38 +03:00
Repinoid e0a5c77f16 docs: чек-лист деплоя IoT на Nubes (образы Gitea, SQS очередь+DLQ, env) 2026-10-11 10:07:22 +03:00
Repinoid 16b9f05a86 build: registry → gitea.services.ngcloud.ru/nail (Makefile/Dockerfile/дока) 2026-10-11 09:51:08 +03:00
Repinoid aac36bab39 docs(iot): деплой-дока — пароль отдаётся один раз, в БД bcrypt-хэш 2026-10-10 19:23:25 +03:00
Repinoid 4290ecfb0a Merge remote-tracking branch 'origin/master'
# Conflicts:
#	.gitignore
2026-10-10 18:39:10 +03:00
Repinoid ecf6b41131 docs(review): Opus code-review of iot-service (bridge->SQS->consumer) verbatim 2026-10-10 18:02:59 +03:00
Repinoid 110d49effe docs(thinking): IoT↔SQS handoff — сводка находок и порядок работ 2026-10-05 20:04:20 +03:00
Repinoid 33077ad326 docs(thinking): readiness assessment, remediation plan, Opus review prompt 2026-10-05 15:53:29 +03:00
“Naeel” da4c3d10d0 docs(thinking): Nubes DevOps report — network issues + fixes 2026-08-16 20:43:03 +04:00
“Naeel” 649a880182 docs: no-kubectl deployment procedure (tail 4) + HISTORY 28-29 2026-08-16 16:20:07 +04:00
“Naeel” a7b655acdb refactor: старые артефакты IoT перенесены в legacy/ (git mv, история сохранена); активное дерево очищено, go build OK 2026-08-16 09:48:34 +04:00
“Naeel” d3693b681e docs: пометка ЛЕГАСИ всего старого IoT (манифесты, CRD, оператор, документы, examples, Makefile) + корневой LEGACY.md; удалений нет 2026-08-16 09:37:29 +04:00
Naeel 8ec91051af docs: add testing report v0.2.6 (33 tests, 3 bugs fixed)
- doc/testing-v0.2.6.md: full E2E testing report (8 groups, 33 tests)
  - Group 1: E2E pipeline (MQTT→SQS→Postgres→API)
  - Group 2: Device API error codes (7 tests)
  - Group 3: MQTT Auth edge cases (11 tests)
  - Group 4: Device lifecycle PATCH/DELETE
  - Group 5: ACL topic isolation
  - Group 6: Non-standard MQTT payloads
  - Group 7: Telemetry API limits/filters
  - Group 8: Load tests (900 msgs, race condition)
- deployments: bump mqtt-bridge + sqs-consumer to v0.2.6
2026-04-21 07:36:11 +03:00
Naeel bbc26555fc fix: MQTTAuth device lookup by Spec.DeviceID + PG15+ GRANT (v0.2.5)
- MQTTAuth: replaced Get(Name=deviceID) with List+filter by Spec.DeviceID
  (K8s object name != deviceID — caused deny for all devices)
- EnsureTenantDB: added GRANT role TO CURRENT_USER before CREATE DATABASE OWNER
  (PG15+ requires SET ROLE privileges for target owner)
- Image: naeel/iot-operator:v0.2.5
- E2E test passed: device create → MQTT publish → SQS → Postgres → REST API
2026-04-12 19:00:56 +03:00
Naeel 9e7e8b1def doc: обновлён progress — аудит sless документации, перечень созданных файлов v0.2.3 2026-04-12 18:43:48 +03:00
Naeel 0fff5a4548 docs: полная документация v0.2.3 — архитектура, API, деплой, тестирование
Новые файлы:
- doc/architecture/current-v0.2.3.md — актуальная архитектура
- doc/api/endpoints-v0.2.3.md — полная документация REST API
- doc/deployment-v0.2.3.md — инструкция деплоя v0.2.3
- doc/run-and-test.md — руководство по запуску и E2E тесту

Обновлено:
- doc/progress.md — секция документации
- doc/thinking/2026-04-12.md — лог мышления
2026-04-12 18:36:12 +03:00
Naeel 903e2a3f11 doc: актуальная архитектура, thinking log, правила ФС и документации 2026-04-12 16:32:14 +03:00
Naeel 0e41d3ec7b doc: обновлена документация — дополнения к архитектуре, деплою, прогрессу
- architecture/overview.md: добавлена актуальная схема (SQS, managed PG)
- deployment.md: добавлена процедура деплоя в iot-naeel
- progress.md: добавлен блок 2026-04-12 (Kafka→SQS, деплой)
- api/endpoints.md: добавлен актуальный формат /iot-admin/stats
- thinking/2026-04-12.md: дописан ход реализации и деплоя
- copilot-instructions.md: добавлено правило «документацию не стирать»

Старая документация (Kafka, RabbitMQ) сохранена как база знаний.
2026-04-12 16:16:46 +03:00
Naeel fab148df54 feat: замена Kafka → shared-SQS в IoT pipeline
- mqtt-bridge: kafka.Writer → SQS SendMessage (AWS SDK Go v2)
- kafka-consumer → sqs-consumer: polling loop с ReceiveMessage/DeleteMessage
- admin stats: Kafka lag → SQS GetQueueAttributes
- Удалён kafka-consumer, добавлен sqs-consumer
- go.mod: убран segmentio/kafka-go, добавлен aws-sdk-go-v2
- Dockerfile, Makefile: kafka-consumer → sqs-consumer
- .gitignore: исправлен чтобы не игнорировать cmd/ директории
- deployments: новый iot-sqs-consumer.yaml, обновлён mqtt-bridge
- doc/decisions: задокументировано решение
2026-04-12 15:28:45 +03:00
Naeel d87a7b71c8 chore: добавить правила SSH/VM в copilot-instructions + лог мышления 2026-04-12 14:52:57 +03:00
Naeel 3a9a47b3fa docs: copilot-instructions, архитектура, API, progress, decisions 2026-04-12 14:34:34 +03:00
Naeel aba7683be2 feat: перенос IoT managed service из sless в отдельную репу
Компоненты:
- iot-operator: controller-manager (IoTDevice CRD) + REST API (порт 9090)
- mqtt-bridge: MQTT (EMQX) → Kafka bridge
- kafka-consumer: Kafka → Postgres pipeline

Модуль: gitea.services.ngcloud.ru/Nail/IoT
Все 3 бинарника собираются, import paths адаптированы.
2026-04-12 14:29:43 +03:00