diff --git a/internal/service/api/ui/iot-console.html b/internal/service/api/ui/iot-console.html index 12e8398..f459310 100644 --- a/internal/service/api/ui/iot-console.html +++ b/internal/service/api/ui/iot-console.html @@ -4,8 +4,7 @@ IoT Консоль — SPA для управления IoT устройствами. Стек: ванильный HTML/CSS/JS + mqtt.js (CDN). Функционал: вход, список устройств, credentials, эмулятор MQTT, заглушка телеметрии. - Встраивается в оператор через go:embed, раздаётся по GET /console. - Доступна по: https://iot.kube5s.ru/console --> + Встраивается в iot-service через go:embed, раздаётся по GET /console. --> @@ -252,8 +251,10 @@ const S = { token: localStorage.getItem('iot_token') || '', // ns вычисляется из токена автоматически (SHA256(sub) → "sless-{hex}"), не вводится вручную ns: localStorage.getItem('iot_ns') || '', - apiBase: localStorage.getItem('iot_api_base') || 'https://sless.kube5s.ru', - mqttBase: localStorage.getItem('iot_mqtt_base')|| 'wss://iot.kube5s.ru/mqtt', + // apiBase — same-origin с API (консоль и /v1 раздаёт один iot-service); + // mqttBase — отдельный хост EMQX (как в landing.html). + apiBase: localStorage.getItem('iot_api_base') || window.location.origin, + mqttBase: localStorage.getItem('iot_mqtt_base')|| 'wss://exqx.containerk8s.dev.nubes.ru/mqtt', // Рабочие данные devices: [], @@ -308,7 +309,7 @@ function displayNameFromToken(token) { return token; } -// namespaceFromToken — вычисляет k8s namespace из токена. +// namespaceFromToken — вычисляет namespace из токена. // Алгоритм ИДЕНТИЧЕН Terraform провайдеру (client.NamespaceFromSub): // SHA256(sub) → первые 8 байт → "sless-{16 hex символов}" // @@ -371,7 +372,7 @@ function sanitizeApiError(msg) { return msg; } -// apiCall — универсальная обёртка для REST запросов к оператору +// apiCall — универсальная обёртка для REST запросов к API iot-service async function apiCall(method, path, body) { const opts = { method, @@ -636,8 +637,8 @@ async function doLogin() { return; } - S.apiBase = 'https://sless.kube5s.ru'; - S.mqttBase = 'wss://iot.kube5s.ru/mqtt'; + S.apiBase = window.location.origin; + S.mqttBase = 'wss://exqx.containerk8s.dev.nubes.ru/mqtt'; S.ns = ns; S.token = tok; S.displayName = displayNameFromToken(tok); @@ -996,7 +997,7 @@ function credsTab(d) {  — браузерный MQTT-клиент, ничего не нужно устанавливать
1.  - Host: iot.kube5s.ru  + Host: exqx.containerk8s.dev.nubes.ru  Port: 443  Protocol: wss  Path: /mqtt