feat(iot-console): IoT управляющий UI v0.1.53
- Добавлен HTML SPA: internal/api/ui/iot-console.html Ванильный JS + mqtt.js (CDN), без фреймворков. Страницы: вход, список устройств, credentials, эмулятор MQTT, заглушка телеметрии. - Добавлен go:embed: internal/api/console_embed.go, GET /console - Добавлен CORS middleware в router.go для http://iot.kube5s.ru - Ingress emqx-ws-ingress.yaml: /console → sless-operator:9090 - Версия образа v0.1.53, задеплоен Доступно: http://iot.kube5s.ru/console
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
# Создано: 2026-04-04
|
||||
# Изменено: 2026-04-04 (iot-console: добавлен path /console → sless-operator:9090)
|
||||
# ВРЕМЕННЫЙ WORKAROUND: MQTT over WebSocket через порт 443.
|
||||
# Причина: порт 1883 заблокирован NSX-T Edge firewall на уровне облака.
|
||||
# Решение: EMQX WebSocket listener (8083) проксируется через nginx-ingress.
|
||||
#
|
||||
# IoT устройство подключается: ws://iot.kube5s.ru/mqtt
|
||||
# IoT Консоль (UI): http://iot.kube5s.ru/console
|
||||
#
|
||||
# DNS A-запись: iot.kube5s.ru → 185.247.187.147 (создана через Nubes API, zoneUid=498096ee)
|
||||
#
|
||||
# Когда DevOps откроет порт 1883 — этот файл можно удалить.
|
||||
@@ -42,6 +44,7 @@ spec:
|
||||
- host: iot.kube5s.ru
|
||||
http:
|
||||
paths:
|
||||
# MQTT over WebSocket — для подключения IoT устройств и браузерного эмулятора
|
||||
- path: /mqtt
|
||||
pathType: Exact
|
||||
backend:
|
||||
@@ -49,3 +52,13 @@ spec:
|
||||
name: emqx-ws
|
||||
port:
|
||||
number: 8083
|
||||
# IoT Консоль (UI) — HTML SPA встроенный в бинарник sless-operator
|
||||
# URL: http://iot.kube5s.ru/console
|
||||
# Почему здесь: UI работает по HTTP чтобы ws:// (без TLS) не вызывал mixed content
|
||||
- path: /console
|
||||
pathType: Exact
|
||||
backend:
|
||||
service:
|
||||
name: sless-operator
|
||||
port:
|
||||
number: 9090
|
||||
|
||||
@@ -44,7 +44,7 @@ spec:
|
||||
- name: mqtt-bridge
|
||||
# Тот же образ что и оператор — оба бинаря в одном слое (manager + iot-mqtt-bridge).
|
||||
# При смене версии оператора — менять тег и здесь.
|
||||
image: pearlharbor.registryk8s.services.ngcloud.ru/naeel/sless-operator:v0.1.50
|
||||
image: pearlharbor.registryk8s.services.ngcloud.ru/naeel/sless-operator:v0.1.53
|
||||
imagePullPolicy: Always
|
||||
command: ["/iot-mqtt-bridge"]
|
||||
env:
|
||||
|
||||
@@ -75,7 +75,7 @@ spec:
|
||||
- name: operator
|
||||
# При обновлении версии оператора — менять тег здесь (не latest!)
|
||||
# v0.1.50 — добавлены IoT controller, IoT REST API, MQTT auth endpoint
|
||||
image: pearlharbor.registryk8s.services.ngcloud.ru/naeel/sless-operator:v0.1.50
|
||||
image: pearlharbor.registryk8s.services.ngcloud.ru/naeel/sless-operator:v0.1.53
|
||||
# Always — чтобы всегда тянуть по точному тегу (не кешировать старый)
|
||||
imagePullPolicy: Always
|
||||
ports:
|
||||
|
||||
Reference in New Issue
Block a user