docs: HISTORY — EMQX-образ, порядок деплоя контейнеров (EMQX → iot-service → kubectl-патч auth URL)

This commit is contained in:
“Naeel”
2026-08-16 10:13:34 +04:00
parent b5333b13a0
commit 19a01128cd
+30
View File
@@ -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.<uuid-EMQX>.svc.cluster.local`.
3. Патч EMQX через kubectl (один раз, платформа не откатывает — прецедент
shared-sqs): `kubectl -n <ns-emqx> set env deployment/containerk8s
EMQX_AUTHENTICATION__1__URL=http://containerk8s.<ns-iot>.svc.cluster.local:9090/internal/mqtt/auth
EMQX_AUTHORIZATION__SOURCES__1__URL=http://containerk8s.<ns-iot>.svc.cluster.local:9090/internal/mqtt/acl`
4. ДО создания iot-service: креды тенанта IoT в shared-sqs (консоль /ui →
Credentials) + очередь `iot-telemetry`.