TUI vs CLI
Голый `gtcnsl` открывает интерактивный TUI на терминале; те же действия — скриптуемые подкоманды. UI — чтобы исследовать, CLI — чтобы автоматизировать.
Актуально для v1.3.0
Два фронтенда, один движок
Запустите gtcnsl без аргументов — и на интерактивном терминале откроется полный TUI. На не-терминале (pipe, шаг CI, nohup) он печатает help и выходит, а не блокируется — поэтому голую команду безопасно оставлять в скрипте.
Экраны TUI соответствуют подкомандам один-к-одному:
| Экран TUI | Эквивалент в CLI |
|---|---|
| Services | gtcnsl gitea install, gtcnsl runner install / register |
| Config | gtcnsl config get / apply / set / toggle |
| Secrets | gtcnsl secrets generate / check / rotate |
| Doctor | gtcnsl doctor |
| Self-update | gtcnsl self-update |
TUI стоит брать, когда
- вы впервые настраиваете машину и хотите видеть все движущиеся части;
- хотите прочитать состояние хоста (
Doctor), не вспоминая флаги; - делаете разовое изменение и предпочитаете подтвердить его визуально.
CLI стоит брать, когда
- вы автоматизируете: CI, провижининг или Makefile;
- ваша конфигурация в Git —
gtcnsl config apply --template app.ini.tmplэто декларативный путь; - нужны идемпотентные, повторяемые прогоны.
# без оператора: подтверждаем заранее, превью через --dry-run
gtcnsl config apply --template app.ini.tmpl --var DOMAIN=git.example.com --dry-run
gtcnsl config apply --template app.ini.tmpl --var DOMAIN=git.example.com --yes
i
Разрушающим операциям нужен --yes
Всё, что пишет или рестартит, требует
--yes; --dry-run показывает превью, ничего не трогая. Именно это делает CLI безопасным для прогона без оператора.Дальше
Скриптуете свежую машину? «Быстрый старт» показывает установку в три команды.