mirror of
https://git.FreeBSD.org/doc.git
synced 2026-06-02 19:35:07 +00:00
Status/2026Q1/sylve.adoc: Add report
Pull Request: https://github.com/freebsd/freebsd-doc/pull/640
This commit is contained in:
committed by
Lorenzo Salvadore
parent
2021088c41
commit
c49c5e5b0b
@@ -0,0 +1,84 @@
|
||||
=== Sylve -- A Unified System Management Platform for FreeBSD
|
||||
|
||||
Links: +
|
||||
link:https://sylve.io[Website] URL: link:https://sylve.io[] +
|
||||
link:https://github.com/AlchemillaHQ/Sylve[GitHub] URL: link:https://github.com/AlchemillaHQ/Sylve[] +
|
||||
link:https://sylve-ci.alchemilla.io[CI] URL: link:https://sylve-ci.alchemilla.io[] +
|
||||
link:https://discord.gg/bJB826JvXK[Discord] URL: link:https://discord.gg/bJB826JvXK[]
|
||||
|
||||
Contact: Hayzam Sherif <hayzam@alchemilla.io>
|
||||
|
||||
Sylve is a modern, unified system management platform for FreeBSD.
|
||||
It provides an integrated web interface for managing virtual machines (via Bhyve), Jails, the networking around them, and ZFS storage.
|
||||
|
||||
The backend is implemented in Go, while the frontend is built with Svelte.
|
||||
The project emphasizes a minimal system footprint.
|
||||
By default, it does not require any packages outside of the base system.
|
||||
|
||||
At the end of this quarter, we made our first v0.1.0 release of Sylve, and at the time of writing this article, we are at v0.2.3.
|
||||
|
||||
Optional runtime dependencies, required only when their respective features are used, include:
|
||||
|
||||
- package:devel/libvirt[] for virtualization
|
||||
- package:devel/qemu[devel/qemu-tools] for disk image management
|
||||
- package:net/samba419[] for SMB file sharing
|
||||
- package:sysutils/swtpm[] for TPM emulation support
|
||||
- package:dns/dnsmasq[] for DHCP and DNS services
|
||||
|
||||
The port pulls in these dependencies for convenience to the user, but by itself, Sylve needs no dependencies to run.
|
||||
|
||||
==== Q1 Progress Highlights
|
||||
|
||||
===== Data Center / Cluster
|
||||
|
||||
* Improved how clusters are created and managed, making setups quicker and less prone to errors.
|
||||
* Implemented a backup solution using package:sysutils/zelta[], which supports backing up VMs, Jails, and custom datasets on a schedule without the need for custom software running on the target host (except SSH and ZFS).
|
||||
|
||||
===== Jails
|
||||
|
||||
* Snapshots for Jails (including their configs) are now supported directly from the Jail-specific UI.
|
||||
* Added Wake-On-LAN support for Jails with VNET.
|
||||
* Improved customizability of Jails by allowing users to specify a wide variety of supported options (hooks, DevFS ruleset, metadata, etc.).
|
||||
* Added support for a Ghostty (Zig/WASM)-based web terminal.
|
||||
* Linux jails now support static IP configuration.
|
||||
* A templating feature is now implemented for Jails; a Jail can be converted to a template and then cloned any number of times.
|
||||
* Start/Stop lifecycles and the associated UI have been significantly improved to make use of our built-in queue system, providing a faster and smoother user experience.
|
||||
|
||||
===== Virtual Machines
|
||||
|
||||
* Snapshots for VMs (including their configs) are now supported directly from the VM-specific UI.
|
||||
* 9P Filesystem support was implemented for quick sharing of folders between guest and host.
|
||||
* QEMU guest agent support was added for retrieving basic system and networking information.
|
||||
* Reboot/Start/Stop lifecycles and the associated UI have been significantly improved to make use of our built-in queue system, providing a faster and smoother user experience.
|
||||
* Added support for a Ghostty (Zig/WASM)-based web terminal for the serial console.
|
||||
* A templating feature is now implemented for VMs; a VM can be converted to a template and then cloned any number of times.
|
||||
* CPU Pinning has been reworked significantly, specifically to add support for multi-socket systems.
|
||||
|
||||
===== Authentication
|
||||
|
||||
* Passkey support was added for easy logins without the need to enter passwords.
|
||||
|
||||
===== Utilities
|
||||
|
||||
* The downloader now also supports uploads.
|
||||
* Queuing has been significantly improved for the downloader to make it more performant.
|
||||
|
||||
===== General
|
||||
|
||||
We have also made numerous improvements to the UI/UX, performance optimizations, and bug fixes across the platform.
|
||||
Some of these include:
|
||||
|
||||
* PCI Passthrough support has been significantly improved and now includes a "Prepare Passthrough" button, which prepares a PCI device for passthrough, making it available for use with VMs after a system reboot.
|
||||
* Removed several NPM libraries in favor of custom-built alternatives or vendored-in dependencies to reduce the risk of supply chain attacks.
|
||||
* Made numerous performance optimizations to reduce RAM and CPU usage on the frontend.
|
||||
* Migrated the CI system from Jenkins to GitHub Actions, which now uses sysroots to build, allowing us to achieve faster build times.
|
||||
* Most of the telemetry data has been moved from the main SQLite database to a new telemetry database.
|
||||
This reduces the risk of locks on the primary DB, thereby increasing performance.
|
||||
* Wrote initial documentation and deployment guides for users to get started.
|
||||
|
||||
==== Roadmap Update
|
||||
|
||||
* Address user feedback.
|
||||
* Work on integrating more features (NFS Shares, NAT/Traffic Rules UI, etc.).
|
||||
|
||||
Sponsors: The FreeBSD Foundation, Alchemilla Ventures (Development), IPTechnics LLC (Infrastructure & Testing)
|
||||
Reference in New Issue
Block a user