github LeoAlecksey/opsdeck v0.7.0
OpsDeck v0.7.0

3 hours ago

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.

Don't miss a new opsdeck release

NewReleases is sending notifications on new releases.