docs: HISTORY — ws-probe создан, образ запушен (digest, инструкция deck-UI)
This commit is contained in:
@@ -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 по критериям выше.
|
||||
|
||||
Reference in New Issue
Block a user