Sylve — Унифицированная платформа управления системой для FreeBSD

Контакт: Hayzam Sherif <hayzam@alchemilla.io>

Sylve — это современная унифицированная платформа управления системой для FreeBSD. Она предоставляет интегрированный веб-интерфейс для управления виртуальными машинами (через Bhyve), Jail, сетями вокруг них и хранилищами ZFS.

Бэкенд реализован на Go, а фронтенд построен на Svelte. Проект делает акцент на минимальном системном следе. По умолчанию он не требует никаких пакетов, кроме базовой системы.

В конце этого квартала мы выпустили наш первый релиз Sylve v0.1.0, и на момент написания этой статьи мы находимся на версии v0.2.3.

Опциональные зависимости времени выполнения, необходимые только при использовании соответствующих функций, включают:

Порт подтягивает эти зависимости для удобства пользователя, но сам по себе Sylve не требует никаких зависимостей для работы.

Основные достижения за первый квартал

Центр обработки данных / Кластер
  • Улучшено создание кластеров и управление ими, что ускоряет настройку и снижает вероятность ошибок.

  • Реализовано резервное копирование с использованием sysutils/zelta, которое поддерживает резервное копирование виртуальных машин, Jail и пользовательских наборов данных по расписанию без необходимости в специальном программном обеспечении на целевом хосте (кроме SSH и ZFS).

Jail
  • Снимки (снимки) для Jail (включая их конфигурации) теперь поддерживаются непосредственно из UI, специфичного для Jail.

  • Добавлена поддержка Wake-On-LAN для Jail с VNET.

  • Улучшена настраиваемость Jail за счёт возможности указать широкий спектр поддерживаемых опций (хуки, наборы правил DevFS, метаданные и так далее).

  • Добавлена поддержка веб-терминала на основе Ghostty (Zig/WASM).

  • Linux jail теперь поддерживают статическую настройку IP.

  • Теперь реализована функция шаблонов для Jail; Jail может быть преобразован в шаблон и затем клонирован любое количество раз.

  • Жизненные циклы запуска/остановки и связанный с ними UI были значительно улучшены за счёт использования нашей встроенной системы очередей, обеспечивая более быстрый и плавный пользовательский опыт.

Виртуальные машины
  • Снимки для виртуальных машин (включая их конфигурации) теперь поддерживаются непосредственно из UI, специфичного для VM.

  • Реализована поддержка файловой системы 9P для быстрого обмена папками между гостем и хостом.

  • Добавлена поддержка QEMU guest agent для получения основной информации о системе и сети.

  • Жизненные циклы перезагрузки/запуска/остановки и связанный с ними UI были значительно улучшены за счёт использования нашей встроенной системы очередей, обеспечивая более быстрый и плавный пользовательский опыт.

  • Добавлена поддержка веб-терминала на основе Ghostty (Zig/WASM) для последовательной консоли.

  • Теперь реализована функция шаблонов для виртуальных машин; VM может быть преобразована в шаблон и затем клонирована любое количество раз.

  • Привязка CPU (CPU Pinning) была значительно переработана, в частности для добавления поддержки систем с несколькими сокетами.

Аутентификация
  • Добавлена поддержка ключей доступа (Passkey) для простого входа без необходимости вводить пароли.

Утилиты
  • Загрузчик теперь также поддерживает загрузки (upload).

  • Очередность была значительно улучшена для загрузчика, чтобы сделать его более производительным.

Общее

Мы также внесли многочисленные улучшения в UI/UX, оптимизации производительности и исправления ошибок по всей платформе. Некоторые из них включают:

  • Поддержка проброса PCI была значительно улучшена и теперь включает кнопку «Prepare Passthrough», которая подготавливает устройство PCI к пробросу, делая его доступным для использования с виртуальными машинами после перезагрузки системы.

  • Удалено несколько NPM-библиотек в пользу самодельных альтернатив или вендорских зависимостей для снижения риска атак на цепочки поставок.

  • Сделано множество оптимизаций производительности для снижения использования RAM и CPU на фронтенде.

  • Перенесена система CI с Jenkins на GitHub Actions, которая теперь использует sysroots для сборки, что позволяет нам достичь более быстрого времени сборки.

  • БОльшая часть телеметрических данных была перемещена из основной базы данных SQLite в новую базу данных телеметрии. Это снижает риск блокировок на основной базы данных, тем самым увеличивая производительность.

  • Написана начальная документация и руководства по развёртыванию для пользователей, чтобы начать работу.

Обновление дорожной карты

  • Обработка отзывов пользователей.

  • Работа над интеграцией дополнительных функций (общие ресурсы NFS, UI для NAT/правил трафика и так далее).

Спонсоры: Фонд FreeBSD, Alchemilla Ventures (Разработка), IPTechnics LLC (Инфраструктура и тестирование)


Последнее изменение: 26 апреля 2026 г. от Vladlen Popolitov