docs: HISTORY — ws-probe создан, образ запушен (digest, инструкция deck-UI)

This commit is contained in:
“Naeel”
2026-08-16 08:18:37 +04:00
parent 27cb40e421
commit c912aafc30
+42
View File
@@ -97,3 +97,45 @@
- Первая проверка перед стартом: WebSocket upgrade (wss) через платформенный
ingress — тестовый контейнер с WS-эндпоинтом + `wscat`.
- ЖДЁМ решения пользователя по пути миграции.
---
## 7. Создан ws-probe — тестовый контейнер для проверки wss
**Команда пользователя:** «делай» (создать пробник + залить образ на Docker Hub;
для запуска в deck-UI нужен путь до образа).
**Что сделано** (все шаги):
1. Создан каталог `ws-probe/` в IoT-репозитории:
- `main.go` — Go echo-сервер на `gorilla/websocket`: `GET /health` (JSON
status+version), `GET /ws` (echo + ping каждые 20с, read-deadline 60с,
сбрасывается pong'ами — мёртвые соединения закрываются), `GET /` (HTML).
Без кредов, без внешних зависимостей.
- `Dockerfile` — multi-stage golang:1.25 → distroless/static:nonroot,
порт 8080 (меняется env `PORT`), версия через ldflags.
- `Makefile``docker-build`/`docker-push`, `VERSION=v0.1.0`, `IMAGE=naeel/iot-ws-probe`.
- `go.mod`/`go.sum` — отдельный модуль (gorilla/websocket v1.5.3), чтобы
не тащить зависимость в основной go.mod IoT.
2. `.gitignore` — добавлен `ws-probe/ws-probe` (сборочный бинарник).
3. Локальные проверки: `go vet` OK; smoke: `/health``{"status":"ok","version":"v0.1.0"}`;
WS-апгрейд → `HTTP/1.1 101 Switching Protocols` (Sec-WebSocket-Accept корректный).
4. Docker: логин в Docker Hub под `naeel` активен (проверен `docker info`).
5. Образ собран и запушен (публичный):
- **`naeel/iot-ws-probe:v0.1.0`** (и `:latest`),
- digest `sha256:dc029be3e79fb37f15ce23477096e340ab181b96c0132dc2e443f341e36f0688`,
- размер 10.9MB.
6. Коммиты: `27cb40e` (ws-probe), `2a7ecd2` (HISTORY). Пуш НЕ делался (не просили).
**Инструкция для deck-UI («Простой HTTP контейнер»):**
- Образ: `naeel/iot-ws-probe:v0.1.0` (уникальный тег — `latest` кэшируется
зеркалом платформы).
- Env vars: не нужны (порт 8080 — дефолт; при необходимости `PORT`).
- Никаких кредов не требуется.
**Критерии проверки wss после деплоя** (будут применены):
- `curl -i -H "Connection: Upgrade" -H "Upgrade: websocket" ...` → 101;
- `wscat -c wss://<домен>/ws` → подключение, echo, соединение живёт 5–10 мин;
- переподключения стабильны; ping/pong проходят.
**Следующий шаг:** пользователь создаёт контейнер в deck-UI с этим образом —
далее тест wss по критериям выше.