From 19a01128cdceb7c3cdfb17c9b65eac053ed5526f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Sun, 16 Aug 2026 10:13:34 +0400 Subject: [PATCH] =?UTF-8?q?docs:=20HISTORY=20=E2=80=94=20EMQX-=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=B7,=20=D0=BF=D0=BE=D1=80=D1=8F=D0=B4=D0=BE?= =?UTF-8?q?=D0=BA=20=D0=B4=D0=B5=D0=BF=D0=BB=D0=BE=D1=8F=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BD=D1=82=D0=B5=D0=B9=D0=BD=D0=B5=D1=80=D0=BE=D0=B2=20(EMQX?= =?UTF-8?q?=20=E2=86=92=20iot-service=20=E2=86=92=20kubectl-=D0=BF=D0=B0?= =?UTF-8?q?=D1=82=D1=87=20auth=20URL)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HISTORY/2026-08-16-session-log.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/HISTORY/2026-08-16-session-log.md b/HISTORY/2026-08-16-session-log.md index a184069..f08726f 100644 --- a/HISTORY/2026-08-16-session-log.md +++ b/HISTORY/2026-08-16-session-log.md @@ -541,3 +541,33 @@ smoke: без env бинарник падает с перечнем недост **Следующий шаг:** пользователь создаёт контейнер в deck-UI (образ `naeel/iot-service:latest`, секреты в env). Затем — EMQX-контейнер и проверки. + +--- + +## 16. EMQX-образ для платформы + порядок деплоя контейнеров (16.08) + +**Создан `emqx/`** (коммит `b5333b1`): Dockerfile на базе `emqx/emqx:5.5.1` +с вшитым `emqx.conf`: +- node.name/cookie/data_dir (обязательные поля EMQX 5); +- HTTP auth/ACL → монолит (`/internal/mqtt/auth`, `/internal/mqtt/acl`); +- listeners: ws 8083 (mqtt_path=/mqtt) — единственный порт контейнера, + tcp 1883 и dashboard 18083 — для диагностики, наружу не экспонируются; +- auth/ACL URL переопределяются env: `EMQX_AUTHENTICATION__1__URL`, + `EMQX_AUTHORIZATION__SOURCES__1__URL` (в образе — заглушки). + +**Образ:** `naeel/iot-emqx:latest` (+v0.1.0), digest +`sha256:6c8a12188e673fdd243cd926187c9207cb2837dfe617997e6478c99a7bc1bc84`, 476MB. + +**Порядок деплоя (env после создания не меняются):** +1. EMQX-контейнер: образ `naeel/iot-emqx:latest`, порт 8083. Узнать UUID + namespace EMQX (kubectl get ns / из deck). +2. iot-service-контейнер: образ `naeel/iot-service:latest`, env: + - секреты: IOT_PG_DSN, SQS_ACCESS_KEY, SQS_SECRET_KEY, MQTT_USERNAME, + MQTT_PASSWORD, ADMIN_STATS_TOKEN; + - MQTT_HOST = `containerk8s..svc.cluster.local`. +3. Патч EMQX через kubectl (один раз, платформа не откатывает — прецедент + shared-sqs): `kubectl -n set env deployment/containerk8s + EMQX_AUTHENTICATION__1__URL=http://containerk8s..svc.cluster.local:9090/internal/mqtt/auth + EMQX_AUTHORIZATION__SOURCES__1__URL=http://containerk8s..svc.cluster.local:9090/internal/mqtt/acl` +4. ДО создания iot-service: креды тенанта IoT в shared-sqs (консоль /ui → + Credentials) + очередь `iot-telemetry`.