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

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

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

Бэкенд реализован на Go, в то время как фронтенд построен с использованием SvelteKit, Tailwind CSS и компонентов UI ShadCN.

Проект делает акцент на минимизации места, занимаемого в системе. По умолчанию требуются только следующие пакеты:

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

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

Хранилище
  • Управление ZFS: теперь мы используем GitHub - gzfs, обертку на Go для инструментария командной строки zfs/zpool/zdb, обеспечивающую полную поддержку создания и управления пулами и наборами данных ZFS. Это улучшило производительность и надёжность по сравнению с нашей предыдущей реализацией.

  • Управление хранилищем для ВМ и клеток: во время инициализации пользователь может выбрать пул(ы), в которых будут создаваться ВМ (диски/zvol’ы) и клетки (наборы данных), а всё создание дисков/наборов данных будет выполняться автоматически "под капотом".

Клетки (Jails)
  • Добавлена поддержка Linux-клеток с использованием Linuxulator во FreeBSD. Пользователи могут создавать, управлять и отслеживать Linux-клетки через веб-интерфейс. Это всё ещё считается экспериментальным, но мы провели обширное тестирование с Rocky Linux и Alpine.

  • Добавлен ряд улучшений для клеток, где теперь люди могут указать гораздо больше параметров при создании/редактировании/просмотре "толстых" клеток (thick jails).

Виртуальные машины
  • Поддержка Cloud-Init: Sylve теперь поддерживает Cloud-Init для автоматического предоставления ВМ. Пользователи могут предоставить конфигурацию Cloud-Init во время создания/редактирования ВМ.

  • Последовательная консоль (Serial Console): Реализована веб-консоль для ВМ, позволяющая пользователям получать доступ к консоли ВМ непосредственно из интерфейса Sylve.

Сеть
  • DHCP-сервер: Добавлен веб-интерфейс для net/dnsmasq, мы позволяем создавать диапазоны, резервирования и опции.

Утилиты

Загрузчик теперь поддерживает автоматическое извлечение различных форматов архивов, включая .tar.gz, .zip, .xz и .bz2, а также поддерживает автоматическое преобразование образов дисков в формат raw.

Общее

Sylve теперь требует FreeBSD версии 15.0 и выше, так как мы теперь зависим от таких функций, как метаданные клеток (Jail metadata) и ZFS v2.4.0+, которая включает вывод в формате JSON для многих команд, на которые мы полагаемся.

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

  • Улучшенное построение графиков с помощью библиотеки ECharts для лучшей производительности и интерактивности.

  • Улучшенные функции доступности для обеспечения соответствия стандартам WCAG.

  • Поддержка интернационализации (i18n) с помощью Wuchale, начиная с переводов интерфейса на хинди (hi).

  • Оптимизации бэкенда для более быстрого извлечения данных и сокращения времени загрузки.

  • Удалено несколько зависимостей фронтенда (в частности, tanstack) в пользу более лёгких альтернатив для уменьшения общего размера пакета и улучшения времени загрузки.

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

Некоторая работа по кластеризации всё ещё продолжается. После её завершения мы выпустим полную документацию по проекту и начнём упаковывать Sylve для простой установки через pkg.

Мы также разрабатываем новую, высокоинтегрированную систему резервного копирования в рамках монорепозитория Sylve, обеспечивающую простое резервное копирование и восстановление ВМ, клеток и конфигураций.

Спонсор: Фонд FreeBSD


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