5.6 KiB
Журнал сессии — 2026-08-14 (продолжение миграции shared-sqs)
Рабочая папка: /home/naeel/nubes/SQS-service
Текущее состояние
- Сервис ЗАДЕПЛОЕН и работает:
https://sqs.containerk8s.dev.nubes.ru /health→OK(200)- Образ: Docker Hub
naeel/shared-sqs:latest - Репа: Gitea
gitea.services.ngcloud.ru/Nail/SQS-service
Что сделано сегодня
-
Добавлен инфо-блок «Информация о сервисе» на страницу входа
/ui(app/ui/index.html). Коммит032ca66. Образ пересобран, запушен (digest 4bb4f20d). -
Проблема: вход в UI с реальным JWT →
Ошибка: token rejected by cloud API (HTTP 403). Причина: контейнер валидировал JWT наdeck-api-test.ngcloud.ru/api/v1(default вapp/admin/admin.go), а production JWT туда не подходит. -
Поиск правильного endpoint (в
~/tf_provider, по указанию пользователя):deck-api*.ngcloud.ru— ЛЕГАСИ (пользователь явно запретил этот формат)- Правильный: API Gateway
lk-api-gateway.ngcloud.ru
-
Найдено в
~/tf_provider/TOOLS/config/prod/profile.env:NUBES_API_ENDPOINT="https://lk-api-gateway.ngcloud.ru/api/v1/svc"(test:
...-test..., dev:...-dev...) Также default вTOOLS/yaml-generator/internal/config/config.go:getenvDefault("NUBES_API_ENDPOINT", "https://lk-api-gateway.ngcloud.ru/api/v1/svc") -
Тест токенов против gateway (токены из
/home/naeel/nubes/tokens_all.txt):- БЕЗ User-Agent → все 403 (DDoS-Guard блокирует)
- С
User-Agent: Mozilla/5.0:Токен gateway-PROD gateway-TEST tazetdinovn@gmail.com (TEST) 401 200 tazet@narod.ru (PROD) 200 401 ntazetdinov@nubes.ru (PROD) 200 401
Выводы (факты)
- Правильный
NUBES_ENDPOINT=https://lk-api-gateway.ngcloud.ru/api/v1/svc - КРИТИЧНО: наш код
PingNubesAPI(app/auth/jwt.go) НЕ шлёт User-Agent → gateway возвращает 403 → токен всегда отклоняется. Нужна правка кода: добавитьUser-Agent: Mozilla/5.0.
Предстоящие правки (СОГЛАСОВАНЫ? — нет, ждут «делай»)
Dockerfile:ENV NUBES_ENDPOINT=https://lk-api-gateway.ngcloud.ru/api/v1/svcapp/auth/jwt.go: вPingNubesAPIдобавитьUser-Agent: Mozilla/5.0app/admin/admin.go: сменить default endpoint на gateway PROD
После правок: пересборка → push Docker Hub → redeploy → проверка входа в UI.
Правила, зафиксированные в этой сессии
- Код менять ТОЛЬКО после согласования с пользователем.
- deck-api*.ngcloud.ru — ЛЕГАСИ, НЕ использовать (только lk-api-gateway).
- ngcloud за DDoS-Guard: curl-запросы всегда с
User-Agent: Mozilla/5.0. - Всё документировать в HISTORY.
v0.1.26 — вывод версии на экран + фикс схемы тегов (14.08.2026, утро)
Проблема: пользователь заметил, что версии не повышаются — всё время пушился только latest,
под мог кэшировать latest и redeploy подтягивал старый образ. Плюс запрос: выводить версию на экран.
Что сделано:
app/models/constants.go:var Version = "dev"(переопределяется через ldflags).app/router/router.go: публичный/healthтеперь отдаёт JSON{"status":"ok","version":"v0.1.26"}.app/admin/admin.go:adminHealthDetailдополнен полемversion(в /admin/health и /ui/api/health).app/ui/index.html:- блок «Информация о сервисе» на странице входа: строка «Версия» (fetch публичного /health);
- образ в инфо-блоке теперь
naeel/shared-sqs:v0.1.26; - дашборд: карточка «Версия» (health.version).
Makefile:VERSION=v0.1.26,LDFLAGS=-X shared-sqs/app/models.Version=$(VERSION),docker-buildтегает$(VERSION)+latest; исправлена цельbuild(./app/cmd/вместо одного файла goaws.go).Dockerfile:ARG VERSION=dev, ldflags при сборке.
Проверки: make build OK; /health → {"status":"ok","version":"v0.1.26"}; go test router/admin/models — ok.
Git: коммит 3a105de «v0.1.26: …», пуш в Gitea (166baa9..3a105de).
Образ: naeel/shared-sqs:v0.1.26 собран и запушен на Docker Hub,
digest sha256:b4d1dccda75a67e1a5db3887576e1112993d6485504e683d0fa82a2374bca99b,
latest указывает на него же.
Следующий шаг: в deck указать путь образа naeel/shared-sqs:v0.1.26 и сделать redeploy —
тогда под гарантированно стянет новый образ (код с перебором стендов NUBES_ENDPOINT + версия на экране).