dotMage 2.1 — один глагол, одна команда, меньше запоминать
2.1 — релиз про трение. Модель не изменилась: то же сквозное шифрование, тот же крошечный сервер — но повседневная работа стала короче: один глагол вместо «pull или push?», одна команда чтобы открыть панель, работающий Tab и админка, в которой можно что-то делать.
Главное
dmage sync — один глагол на 90% случаев
Решает сам: делает pull, когда сервер впереди, push — когда есть локальные изменения, а если разошлось и там и там, показывает key-diff и спрашивает — без молчаливого мерджа.
$ dmage sync
✓ in sync (rev 7).
$ dmage sync # после правки .env
local changes → pushing
✓ Pushed revision 8.
Голый dmage в проекте теперь подсказывает, если есть незапушенные изменения.
dmage open — админка, сразу залогиненным
$ dmage open
✓ Opening admin panel — http://your-server:9471
Logging you in automatically (one-time link, valid 5 min).
Находит панель из /health и логинит одноразовым токеном в URL-фрагменте — он не попадает
в логи сервера.
dmage completions — хватит запоминать флаги
$ dmage completions zsh > ~/.zfunc/_dmage
bash / zsh / fish / elvish / powershell. Homebrew ставит их автоматически.
Админка, в которой можно работать
Страница Settings с версией сервера и баннером обновлений (dev-канал включается тумблером); управление командой — смена ролей, удаление участников; и Add a device — одноразовая ссылка для входа новой машины прямо из браузера. По-прежнему только метаданные: значений секретов панель не видит.
Из фиксов
dmage gen-ci-token падал с missing field token_expires_at — починено на клиенте и сервере.
Docker-образ сервера снова собирается.
Чейнджлог
Добавлено
dmage sync— pull / push / resolve одним глаголом; голыйdmageподсказывает про незапушенное.dmage open— открыть веб-админку уже залогиненным.dmage completions <shell>— автодополнение в stdout.dmage upgrade --channel dev— опт-ин на prerelease-сборки.--jsonдляstatus,diff,history,apps,whoami.- Админка: Settings + баннер обновлений + dev-тумблер, роли/удаление в команде, Add-a-device.
/healthотдаёт веб-порт; тег релиза теперь публикует GitHub Release.
Исправлено
dmage gen-ci-tokenпадал сmissing field token_expires_at— починено на клиенте и сервере.- Сборка Docker-образа сервера (
ModuleNotFoundError: No module named 'src'). - Пограничные случаи
dmage env new --copy-fromиdmage rotate-key.
Скачать
Бинарники CLI и SHA256SUMS: github.com/dotMage/dotmage/releases/tag/v2.1.0
brew upgrade dotmage # Homebrew
dmage upgrade # самообновление для бинарных установок
Сервер и веб — ghcr.io/dotmage/{server,web}:2.1.0 (и :2). Чтобы обновить, перезапустите установщик:
curl -fsSL https://raw.githubusercontent.com/dotMage/server/main/install.sh | bash