v1.4.0
2026-08-04
latest
● stable
Что изменилось
Added
- **Стартовый экран TUI теперь — живой дашборд.** SERVICES (статус установки Gitea и gitea-runner — not installed / inactive / active / unknown — плюс версия бинарника) и CONFIG (путь и наличие `app.ini`, число управляемых ключей `secrets.ini`) рендерятся над теми же шестью пунктами ACTIONS, что всегда были в меню. Все данные читаются с хоста вживую (root не нужен) и деградируют честно: ничего не додумывается, «unknown» — когда сама проба падает, и никогда не выводится ложное «в синхроне» для конфига. Статус обновляется по `r`; первый кадр никогда не блокируется на нижележащих вызовах `systemctl`/`exec`.
- **Golden byte-for-byte снапшоты дашборда TUI и детерминированный рендерер скриншотов защищают от того, чтобы TUI и маркетинговый сайт снова разошлись.** `test/integration/scenarios/tui-golden.sh` захватывает дашборд свежего хоста из настоящего pty (tmux, включая ANSI-коды) и сравнивает его байт-в-байт с закоммиченным фикстур-файлом (`test/integration/golden/dashboard-fresh.ans`); текстовый двойник делает падения читаемыми для человека, а `GOLDEN_UPDATE=1` обновляет оба файла после осознанного изменения. `test/integration/render-tui.sh` превращает любой такой `.ans`-дамп в воспроизводимый PNG через новый `cmd/tui-render` (чистый Go-рендерер, `golang.org/x/image`, с закреплённым и сверенным по sha256 моноширинным шрифтом) — теперь это канонический способ делать скриншоты TUI для сайта. См. ADR 0039.
- **AlmaLinux 9/10 и Rocky 10 присоединяются к поддерживаемой матрице** вместе с рефакторингом `pkgmgr.Family` (`FamilyDebian` / `FamilyRHEL`), который диспетчеризует каждую команду пакетного менеджера по семейству, а не по отдельному дистрибутиву — добавление дистрибутива в существующее семейство теперь сводится к одной константе `Distro` плюс одной записи в отображении `Family`. Установка Docker/Podman и отказ docker-rootless в `internal/core` теперь диспетчеризуются так же; формулировка отказа docker-rootless обобщена с «on Rocky 9» до «on the RHEL family (Rocky, AlmaLinux)» — он по-прежнему не реализован намеренно (ADR 0040). Существующее поведение Debian/Ubuntu/Rocky не изменилось байт-в-байт.
- **Ubuntu 22.04 LTS и 26.04 LTS присоединяются к поддерживаемой матрице**, используя тот же диспетчер `pkgmgr.Family`, что ввела работа над AlmaLinux/Rocky выше: менять продуктовый код не пришлось — apt-путь Debian-семейства покрывает оба релиза как есть. Два новых тестовых образа следуют паттерну существующего ubuntu-24.04 (официальные multi-arch базовые образы, самостоятельно собранный systemd по ADR 0023). С этим релизом тестовая контейнерная матрица достигает восьми образов из четырёх семейств дистрибутивов (политика прогонов ADR 0040 «ядро на фичах, полная матрица на release-prep», `docs/RELEASING.md`). Горизонт на заметку: стандартная поддержка 22.04 заканчивается в 2027-04 — тогда он станет кандидатом на удаление.
Changed
- `GiteaInspection`/`RunnerInspection` (используются внутри install/upgrade/register/reconfigure) получили поле `Active *bool`, сообщающее живое состояние `IsActive` юнита.
Загрузка
Выберите архитектуру. Прямые ссылки ведут на ассеты релиза.
$ curl -fsSL https://dl.gtcnsl.ru/v1.4.0/gtcnsl-v1.4.0-linux-amd64 -o /usr/local/bin/gtcnsl && chmod +x /usr/local/bin/gtcnsl
i
Проверка
Сверьте с манифестом контрольных сумм, прежде чем что-то запускать.
checksums.txt