Изменения
Значимые изменения gtcnsl, новые сверху. Формат — Keep a Changelog; версии — по Semantic Versioning.
Keep a Changelog · SemVer
v0.6.3
2026-05-30
Fixed
- Релизный пайплайн теперь берёт каждый бинарник из реального пути сборки и отказывается публиковать отсутствующий или пустой файл — первопричина пустых загрузок в v0.6.0–v0.6.2.
v0.6.2
2026-05-30
Fixed
- gtcnsl --version теперь работает и печатает ту же строку, что и gtcnsl version.
- self-update больше не откатывается всегда — его проверка версии после замены падала из-за отсутствующего флага --version.
- Релизные бинарники сообщают версию с ведущей v — починены проверки self-update «уже последняя» и сверка тега.
v0.6.1
2026-05-30
Fixed
- Шаг зеркалирования больше не зависит от возможности shell, отсутствующей в релизном образе, — бинарники реально доезжают до dl.gtcnsl.com (v0.6.0 опубликовался в Gitea, но не был зазеркалирован).
v0.6.0
2026-05-30
Added
- gtcnsl self-update заменяет работающий бинарник на последний (или конкретный --to vX.Y.Z) релиз с dl.gtcnsl.com: загрузка → проверка SHA-256 → атомарная замена → проверка запуска → откат при любой ошибке. Флаги: --dry-run, --rollback, --yes, --dl-host.
- Обнаружение и загрузка читают манифест versions.json с download-хоста и не вызывают Git API, поэтому self-update переживает уход хоста в приватность.
- Экран Self-update в TUI (Check / Apply / Rollback) с тем же потоком, что и в CLI.
- Релизный воркфлоу зеркалирует каждый опубликованный бинарник + checksums.txt на download-хост (источник истины — релиз в Gitea).
Changed
- Релизные бинарники теперь называются gtcnsl-vX.Y.Z-linux-<arch> (с ведущей v) — по контракту download-хоста.
v0.5.0
2026-05-24
Added
- Интерактивный TUI: запустите gtcnsl без аргументов, чтобы управлять Gitea, Runner, Config, Secrets и Doctor из меню — все операции v0.1–v0.4, с цветными логами, прокруткой и спиннером.
- gtcnsl config get / set / toggle — чтение или изменение одного ключа app.ini с тем же бэкап → атомарная запись → рестарт → откат по health-check, что и в декларативном потоке. Секретные и составные ключи отклоняются с подсказкой.
- gtcnsl doctor — предполётные проверки хоста (systemd, исходящий HTTPS, диск, root) плюс проверки установленных Gitea и раннера; --fix --yes автоматически чинит частые проблемы (нет ca-certificates, нет секретов).
- Каталог схемы конфига наполняет экраны конфигурации значениями по умолчанию, типами и описаниями ключей; gtcnsl config sync-schema подтягивает схему более новой Gitea.
Fixed
- Запись конфига и секретов теперь сохраняет владельца файла после атомарного переименования — Gitea по-прежнему читает свой конфиг после apply (раньше файл мог остаться во владении root).
- doctor --fix теперь корректно перепроверяет исходящий HTTPS в том же запуске после установки ca-certificates.
v0.4.1
2026-05-23
Added
- Каждый релиз зеркалируется в S3-совместимое хранилище рядом с релизом Gitea, с префиксом /latest/ и манифестом versions.json для будущего self-update.
- Pre-release-теги (-rc / -beta / -alpha) получают версионную загрузку, но не попадают в /latest/ и versions.json — кандидат не становится дефолтной целью установки.
v0.4.0
2026-05-23
Added
- gtcnsl config apply --template — рендер и применение декларативного app.ini с подстановкой ${VAR}, diff, бэкапом, рестартом и автооткатом при провале health-check.
- Управляемые секреты: gtcnsl secrets generate / check / rotate для четырёх ключевых секретов Gitea в /etc/gitea/secrets.ini; rotate переприменяет конфиг и откатывает оба файла при ошибке.
- Встроенный каталог схемы конфига Gitea (значения по умолчанию, типы, описания), с gtcnsl config sync-schema для подтяжки более новой версии.
- gtcnsl runner install --executor=podman (Tier 3, экспериментально).
v0.3.1
2026-05-23
Added
- Health-пробы исходящего трафика контейнеров и свободного места при настройке раннера, с готовыми командами-фиксами при провале (некритичные предупреждения).
- gtcnsl runner reconfigure --admin-token подчищает осиротевшую регистрацию раннера на стороне Gitea после повторной регистрации.
- docs/VPS-CHECKLIST.md — операторский чек-лист настройки gtcnsl-раннера на VPS.
v0.3.0
2026-05-23
Added
- gtcnsl gitea install / upgrade — установка последней Gitea (проверка GPG + SHA-256) с укреплённым systemd-юнитом и health-check после старта; атомарные апгрейды версий с откатом при ошибке.
- gtcnsl runner install / register / reconfigure / upgrade для act_runner, с исполнителями host, docker и docker-rootless.
- Поддержка пакетных менеджеров по дистрибутивам (apt / dnf) с детектом уже установленного Docker.
- Один статический бинарник для amd64, arm64 и armv7, распространяемый через собственные релизы проекта в Gitea.