diff --git a/HISTORY/2026-08-14-session-log.md b/HISTORY/2026-08-14-session-log.md index 6321151..4de870c 100644 --- a/HISTORY/2026-08-14-session-log.md +++ b/HISTORY/2026-08-14-session-log.md @@ -263,3 +263,28 @@ SQS API, /health, /, /metrics не затронуты. и `/static/favicon.svg` (embed в образ, раздаются с корня роутером). Деплой: digest `sha256:deab2979…`, под готов. Проверки: /health → v0.1.30, /ui отдаёт 2× static/logo.svg + 1× static/favicon.svg, оба файла отвечают 200. + +--- + +## v0.1.31 — админский UI /admin + юзерский UI без слова «тенант» (14.08.2026) + +**Сделано**: +1. Новый `app/ui/admin.html` — админская консоль: вход по admin-токену, таблица тенантов + (имя, ID, Access Key, лимит, статус, создан), создание тенанта с показом ключей в модалке, + удаление с подтверждением. Светлый Nubes-дизайн, /static/logo.svg + favicon, версия через {{VERSION}}. +2. `app/ui/embed.go`: embed admin.html + `AdminHandler(version)`. +3. `app/router/router.go`: GET /admin и /admin/ → админская страница (зарегистрированы ДО admin subrouter, + чтобы PathPrefix("/admin") с bearer-auth их не перехватил). +4. Юзерский UI: из видимого текста убрано слово «тенант» — «Мой аккаунт», «Аккаунт не найден», + убрана карточка-счётчик «Тенанты», «креды вашего аккаунта», «Создать аккаунт», + ссылка на /admin в инфо-блоке логина. + +**Проверки**: build OK, vet OK, тесты admin OK. Локально: /admin → 200 (страница), /admin/tenants +без токена/с неверным токеном → 401, с верным → []. Прод: /health → v0.1.31, /admin → 200 +(SQS Admin, v0.1.31), /ui содержит «аккаунт» 3× и не содержит «Тенанты». + +**Инциденты по пути**: +- Пуш на Docker Hub спотыкался об IPv6 (network unreachable) и 502 — добил ретраями, + digest v0.1.31 = `sha256:34c3619d…`. +- Токен kubeconfig на ВМ истёк в 09:14 MSK (24ч) — юзер обновил, деплой добит: + `set image …@sha256:34c3619d…`, под `containerk8s-768668b9d4-stcgv` Ready.