fix(iot): консоль — убрать старые домены kube5s/sless
- apiBase → window.location.origin (same-origin с API: консоль и /v1 раздаёт один iot-service). - mqttBase → wss://exqx.containerk8s.dev.nubes.ru/mqtt (как в landing.html). - Убраны упоминания «оператор»/k8s в комментариях; MQTTX-инструкция — новый хост.
This commit is contained in:
@@ -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. -->
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
@@ -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) {
|
||||
</a>
|
||||
<span style="color:#a0bcd8;font-size:13px;">— браузерный MQTT-клиент, ничего не нужно устанавливать</span><br>
|
||||
<strong style="color:#fff;">1.</strong>
|
||||
Host: <code style="background:#0a1e30;padding:2px 7px;border-radius:4px;color:#7dd3fc;font-size:13px;">iot.kube5s.ru</code>
|
||||
Host: <code style="background:#0a1e30;padding:2px 7px;border-radius:4px;color:#7dd3fc;font-size:13px;">exqx.containerk8s.dev.nubes.ru</code>
|
||||
Port: <code style="background:#0a1e30;padding:2px 7px;border-radius:4px;color:#7dd3fc;font-size:13px;">443</code>
|
||||
Protocol: <code style="background:#0a1e30;padding:2px 7px;border-radius:4px;color:#7dd3fc;font-size:13px;">wss</code>
|
||||
Path: <code style="background:#0a1e30;padding:2px 7px;border-radius:4px;color:#7dd3fc;font-size:13px;">/mqtt</code><br>
|
||||
|
||||
Reference in New Issue
Block a user