OpsDeck 0.7.0 — Passbolt, граф пайплайна в IDE, диагностика Kubernetes и сплит с разными хостами
Самый большой релиз за всё время: новый раздел паролей, два новых экрана и десяток вещей по вашим отзывам из Telegram-чата, issues и PR. Спасибо всем! 🙌
✨ Новое
-
Passbolt (5.x) — рядом с KeePass, только чтение. Подключение по account kit (профиль → «Desktop app setup»), второй фактор TOTP или Yubikey, список записей с папками и поиском, копирование логина и пароля, палитра команд. Пароль запрашивается с сервера только при использовании (Passbolt пишет каждое обращение в журнал доступа), расшифрованное живёт лишь в памяти до блокировки. Записи Passbolt можно привязать к веб-панелям, SSH-хостам, базам данных и MikroTik — как записи KeePass. (#40, @LockerWarUA)
-
Граф пайплайна в IDE — кнопка «⛓ pipeline» для проектов с
.gitlab-ci.ymlили.github/workflows. Колонки — стадии (у GitHub порядок поneeds), карточки — задачи. Сверху выбираются событие (push, merge request, тег, расписание, запуск вручную), ветка, изменённые файлы и переменные — и видно, что запустится, что только вручную, а что нет, ещё до пуша. Клик по задаче показывает сработавшее правило, «В файле» открывает её строку, «⇢ AI» отправляет задачу с условием в AI-панель, «сравнить с» показывает, чем отличается другая ветка. Раскрываютсяinclude: local,extends, якоря YAML и!reference. Проверено на настоящем пайплайне из 22 файлов и 77 задач. -
Диагностика Kubernetes — две новые таблицы в начале списка ресурсов, считаются по тому, что видит ваш kubeconfig; в кластер ничего ставить не нужно. (#64, идея — @shafiev)
- Проблемы — что сломано сейчас: CrashLoopBackOff, OOMKilled, образ не скачивается, под не назначается на узел (с причиной), rollout не докатился, Job упал, под завис в Terminating (видно, какие finalizers держат), ссылки на несуществующие ConfigMap/Secret/PVC, сервис без подов или без готовых endpoints, Ingress на несуществующий сервис или порт. Поды одного приложения с одной бедой — одной строкой (×N).
- Проверки — privileged, hostPID/hostNetwork, сокет docker/containerd, опасные capabilities, запуск от root, тег
latest, нет probes, одна реплика, нет PodDisruptionBudget, нет requests и лимита памяти. У каждой находки — «Как исправить».
-
Сплит с разными хостами, как в Termius. Вкладку можно взять мышью и бросить на область терминала: край делит окно, середина добавляет в сетку — живые сессии переезжают, ничего не переподключается. Кнопка «▤» рядом с разделением открывает новую панель сразу с SSH-хостом из профилей или
~/.ssh/config. Панелей теперь до 6 в одной вкладке: две рядом или друг над другом, три и больше — сеткой; у каждой своя шапка с именем хоста и «⇱» — вынести в отдельную вкладку. (идея — Александр из чата) -
Базы данных через jump-хост. В профиле — «Через SSH-хост (jump)»: выбираете хост из профилей SSH или
~/.ssh/config(там же работаютProxyJumpи ключ), и OpsDeck сам поднимает туннельssh -Lдо базы. (#61, @Volkula) -
IDE: работа с файлами и поиск. Правый клик в дереве — создать файл или папку, переименовать, копировать и вставить, удалить (открытые вкладки следуют за переименованием).
Ctrl+FиCtrl+Sработают на любой раскладке — и из дерева тоже. Консоль внизу следует за сменой проекта и знает свою оболочку (bash/zsh, PowerShell, cmd), а занятую консоль не трогает. Новая кнопка «⇢ AI»: спросить о файле или выделении, о проекте (структура иgit status) или проверить изменения (git diff). -
Естественная сортировка — 1, 2, 10, а не 1, 10, 2: SSH, мониторинг, веб-панели, базы, MikroTik, изменения git и дерево файлов IDE. (идея — Александр из чата)
-
Мониторинг: группы встают в ряд, пока есть место, — на большом экране больше не остаётся пустой половины; большая группа занимает до 4 колонок. (идея — Александр из чата)
🛠 Исправления
- Значения Secret в Kubernetes показываются целиком под своим ключом на всю ширину: длинные base64 и сертификаты больше не ломаются в столбик из букв, бинарные (релизы Helm, keystore) помечаются «Бинарные данные, N байт», а шапка таблицы не перекрывает значение. (#67, @DuraCHYo)
- Веб-панели на macOS: полоса вкладок больше не исчезает за открытой панелью. (@artp1ay; заодно должно решить #68 — проверьте, пожалуйста)
- Автоблокировка KeePass и Passbolt: фоновый опрос алертов больше не продлевает её бесконечно. Если включена галочка «держать открытым до закрытия OpsDeck» (она стоит по умолчанию), ничего не меняется. (@LockerWarUA)
- Настройки темы: поле названо «Цветовая схема терминала» и рядом сказано, что остальной интерфейс пока тёмный. (#60, @alexei-dmitriev)
- Кнопки «Скопировать» в веб-панелях снова с иконкой копирования.
🪟 Windows
- Тесты и сборка снова зелёные: приложению и тестам нужен манифест Common Controls v6, который раньше попадал только в приложение — без него тестовый exe падал при старте с
STATUS_ENTRYPOINT_NOT_FOUND. - Сборка проверяет, что OpsDeck не требует Visual C++ Redistributable: рантайм вшит в exe.
🧰 Для сборки из исходников
- Версия Rust закреплена в
rust-toolchain.toml(1.93.1), образы раннеров в CI —windows-2025иmacos-26: обновление компилятора или образа теперь отдельный шаг, а не внезапность.
👥 Участники релиза
- @LockerWarUA: раздел Passbolt и привязка записей к подключениям, автоблокировка при опросе алертов.
- @artp1ay: полоса вкладок веб-панелей на macOS.
- @DuraCHYo, @Volkula, @shafiev, @alexei-dmitriev, Александр и участники Telegram-чата: баг-репорты и идеи, которые вошли в релиз.
- @LeoAlecksey: граф пайплайна, диагностика Kubernetes, сплит с хостами, jump-хост для баз, работа с файлами в IDE, сортировка, мониторинг, исправления, ревью и интеграция PR.
Хотите поучаствовать? PR принимаются в ветку dev, подробности в CONTRIBUTING.md.