diff options
10 files changed, 292 insertions, 5 deletions
diff --git a/documentation/content/en/articles/linux-emulation/_index.adoc b/documentation/content/en/articles/linux-emulation/_index.adoc index a252df5f54..425e1b6c9f 100644 --- a/documentation/content/en/articles/linux-emulation/_index.adoc +++ b/documentation/content/en/articles/linux-emulation/_index.adoc @@ -1431,6 +1431,6 @@ I would like to thank all those people for their advice, code reviews and genera [[literatures]] == Literatures -. Marshall Kirk McKusick - George V. Nevile-Neil. Design and Implementation of the FreeBSD operating system. Addison-Wesley, 2005. +. Marshall Kirk McKusick - George V. Neville-Neil. Design and Implementation of the FreeBSD operating system. Addison-Wesley, 2005. . https://tldp.org[https://tldp.org] . https://www.kernel.org[https://www.kernel.org] diff --git a/documentation/content/es/articles/linux-emulation/_index.adoc b/documentation/content/es/articles/linux-emulation/_index.adoc index 19b4c23c12..14772edc88 100644 --- a/documentation/content/es/articles/linux-emulation/_index.adoc +++ b/documentation/content/es/articles/linux-emulation/_index.adoc @@ -968,6 +968,6 @@ Me gustaría agradecer a todas esas personas por sus consejos, revisiones de có [[literatures]] == Bibliografía -. Marshall Kirk McKusick - George V. Nevile-Neil. Diseño e implementación del sistema operativo FreeBSD. Addison-Wesley, 2005. +. Marshall Kirk McKusick - George V. Neville-Neil. Diseño e implementación del sistema operativo FreeBSD. Addison-Wesley, 2005. . https://tldp.org[https://tldp.org] . https://www.kernel.org[https://www.kernel.org] diff --git a/documentation/content/pt-br/articles/linux-emulation/_index.adoc b/documentation/content/pt-br/articles/linux-emulation/_index.adoc index 27ae1fe7ca..5e0a712e05 100644 --- a/documentation/content/pt-br/articles/linux-emulation/_index.adoc +++ b/documentation/content/pt-br/articles/linux-emulation/_index.adoc @@ -968,6 +968,6 @@ Gostaria de agradecer a todas as pessoas por seus conselhos, revisões de códig [[literatures]] == Literaturas -. Marshall Kirk McKusick - George V. Nevile-Neil. Design and Implementation of the FreeBSD operating system. Addison-Wesley, 2005. +. Marshall Kirk McKusick - George V. Neville-Neil. Design and Implementation of the FreeBSD operating system. Addison-Wesley, 2005. . https://tldp.org[https://tldp.org] . https://www.kernel.org[https://www.kernel.org] diff --git a/website/content/en/status/report-2025-07-2025-09/bananapi-r64-drivers.adoc b/website/content/en/status/report-2025-07-2025-09/bananapi-r64-drivers.adoc index 2f1d1fd86c..5eaa5f9918 100644 --- a/website/content/en/status/report-2025-07-2025-09/bananapi-r64-drivers.adoc +++ b/website/content/en/status/report-2025-07-2025-09/bananapi-r64-drivers.adoc @@ -11,6 +11,9 @@ The Banana Pi R64 is a MediaTek MT7622-based development board (ARM Cortex-A53, * **UART driver** * **Clock management (clocks)** * **Pinctrl/gpio driver** – in active development gpio part + * **Storage controllers (eMMC/SD/MMC) driver + * **Ethernet Switch mt7531 driver + * **Ethernet mt7622 driver Other essential components—Ethernet, USB, SATA, Wi-Fi, etc.—are not yet implemented. @@ -19,10 +22,8 @@ Support for Banana Pi R64 in FreeBSD is in the early stages—UART and clocks dr ==== Development roadmap * Implement missing drivers - - Ethernet (GMAC ports) - USB (XHCI/OTG) - SATA / AHCI - - Storage controllers (eMMC/SD/MMC) - Wi-Fi (likely MediaTek MT7615) - GPIO subsystems diff --git a/website/content/en/status/report-2025-07-2025-09/geomman.adoc b/website/content/en/status/report-2025-07-2025-09/geomman.adoc new file mode 100644 index 0000000000..d1de215a69 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/geomman.adoc @@ -0,0 +1,33 @@ +=== Geomman Release + +Links: + +link:https://gitlab.com/brauliorivas/geomman[geomman gitlab repo] URL: link:https://gitlab.com/brauliorivas/geomman[] + +link:https://www.freshports.org/sysutils/geomman[geomman port] URL: link:https://www.freshports.org/sysutils/geomman[] + +Contact: Braulio Rivas <brauliorivas@FreeBSD.org> + +Geomman is a partitioning tool (TUI) based on man:sade[8] that brings more functionality such as copying, pasting partitions, creating ext filesystems or encrypting partitions using man:geli[8]. + +Geomman is relevant for both newcomers and experienced users bcause it is a complete and unified management of partitions and disks. + +Features added to geomman since last report are: + +* Grow UFS, NTFS, ext2, ext3 and ext4 filesystems. +* Shrink NTFS, ext2, ext3 and ext4 filesystems. +* New partition dialog, where users can visually select a free space to place the partition to be pasted or moved, added to link:https://gitlab.com/alfix/bsddialog[bsddialog]. +* Create exFAT, NTFS, ext2, ext3 and ext4 filesystems. +* Check all the mentioned filesystems. + +Then, two GEOM-related features were added too: + +* Label man:glabel[8] new partitions. +* Encrypt man:geli[8] new partitions by adding an optional "keyfile", plus a "passphrase" (or passfile). + +Finally, with the help of mailto:fuz@FreeBSD.org[Robert Clausecker], we published the link:https://www.freshports.org/sysutils/geomman[geomman port] to let people try it out. + +Future work includes: + +* Add geomman to FreeBSD natively (userland) +* Add ZFS management + +Sponsor: Google Summer of Code 2025 diff --git a/website/content/en/status/report-2025-07-2025-09/libvirt.adoc b/website/content/en/status/report-2025-07-2025-09/libvirt.adoc new file mode 100644 index 0000000000..68d46f9a51 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/libvirt.adoc @@ -0,0 +1,24 @@ +=== Improve libvirt support for bhyve hypervisor + +Links: + +link:https://empt1e.blogspot.com/2025/09/ci-for-libvirtbhyve-on-freebsd.html[CI for libvirt/bhyve on FreeBSD] URL: link:https://empt1e.blogspot.com/2025/09/ci-for-libvirtbhyve-on-freebsd.html[] + + +Contact: Roman Bogorodskiy <novel@FreeBSD.org> + +==== Completed work + +* Support for man:pf[4]-based NAT https://libvirt.org/drvnetwork.html#freebsd[networking] was merged and has been available since libvirt 11.7.0 release. +* Domain usage statistics reporting is also available starting with libvirt 11.7.0 release. +* TCP console support has been available since libvirt 11.6.0 release. +* The libvirt testing project, libvirt-tck, can now successfully run domain, network, and storage tests against the bhyve driver. + +==== Plans for the next quarter + +* Extend libvirt-tck testing with https://libvirt.org/hooks.html[hooks] tests. +* Add support for: +** Boot order configuration. +** TPM devices. +** Snapshot/resume to the bhyve driver (targeted, but might roll over to next quarter). +* Improve virt-manager support on FreeBSD. + +Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-07-2025-09/mac_do.adoc b/website/content/en/status/report-2025-07-2025-09/mac_do.adoc new file mode 100644 index 0000000000..8c29e839b9 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/mac_do.adoc @@ -0,0 +1,22 @@ +=== mac_do(4) and mdo(1) Improvements + +Links: + +link:https://wiki.freebsd.org/SummerOfCode2025Projects/MacDoAndMDoImprovements[Wiki page] URL: link:https://wiki.freebsd.org/SummerOfCode2025Projects/MacDoAndMDoImprovements[] + +Contact: Kushagra Srivastava <thesynthax@FreeBSD.org> + +As part of Google Summer of Code 2025, I worked on two related sub-projects in the FreeBSD Project: kernel improvements to man:mac_do[4] and userland enhancements to man:mdo[1]. + +mac_do is a kernel MAC security module that allows controlled credential transitions without requiring setuid binaries. The project extended it in two key ways: + +* **Per-jail configuration of authorized executables** – administrators can now specify a list of executables per-jail, permitted to request credential transitions, instead of being limited to the hardcoded [.filename]#/usr/bin/mdo#. +* **Support for traditional credential-changing syscalls** – transitions requested via man:setuid[2], man:setgid[2], man:setgroups[2], and related functions are now intercepted and authorized through mac_do, in addition to the original man:setcred[2] mechanism. + +On the userland side, the companion tool man:mdo[1] was extended to: + +* Allow explicit UID/GID overrides, fine-grained group management (`-g`, `-G`, `-s` options), and improved credential parsing. +* Provide a `--print-rule` option to display the corresponding mac_do rule for a requested transition. + +Together, these improvements make mac_do and mdo far more flexible and practical, enabling safer privilege transitions without relying on setuid executables and with strong jail integration. + +Sponsor: Google LLC (Google Summer of Code 2025) diff --git a/website/content/en/status/report-2025-07-2025-09/openjdk.adoc b/website/content/en/status/report-2025-07-2025-09/openjdk.adoc new file mode 100644 index 0000000000..e5bbc6af86 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/openjdk.adoc @@ -0,0 +1,24 @@ +=== Improve OpenJDK on FreeBSD + +Links: + +link:https://freebsdfoundation.org/project/improving-openjdk-on-freebsd/[Project description] URL: https://freebsdfoundation.org/project/improving-openjdk-on-freebsd/[] + +link:https://github.com/freebsd/openjdk[Project repository] URL: https://github.com/freebsd/openjdk[] + +Contact: + +Harald Eilertsen <haraldei@freebsdfoundation.org> + +FreeBSD Java mailing list <freebsd-java@lists.freebsd.org> + +The goal of this project is to improve OpenJDK support for FreeBSD/amd64 and FreeBSD/arm64. + +Java is an important runtime environment for many high performance, critical enterprise systems. +Making sure Java based applications run correctly and efficiently on FreeBSD is important to ensure that FreeBSD will continue to be a viable and attractive platform for enterprises, as well as businesses and organizations of all sizes. + +In this quarter the following issues/milestones were reached: + +* The OpenJDK 24 port https://cgit.freebsd.org/ports/commit/?id=7aed795e864ced2f6dfee773d2371d01b23d5d4f[was updated to OpenJDK 24.0.2], and https://cgit.freebsd.org/ports/commit/?id=8e3dc60231183008cea882574020f74163db9b58[once more] to include several fixes for the serviceability agent and performance improvements for large Elastic- and OpenSearch workloads. + The serviceability improvements fixes symbol and thread lookups when attaching to another JVM, and fixes loading core files in the Java debugger on FreeBSD. +* The OpenJDK 23 port https://cgit.freebsd.org/ports/commit/?id=a936fb9b16bac7cc5945213c7edf8c6a57709591[was updated] to include IPv6 dual protocol socket support (like OpenJDK 24), as well as the performance improvements for Elastic- and OpenSearch. +* OpenJDK https://cgit.freebsd.org/ports/commit/?id=aaf3de01b3a035acaf6bf238772c149000158d21[8], https://cgit.freebsd.org/ports/commit/?id=d1896072c1d6089df2fa62cc56d41e3970534d7f[17] and https://cgit.freebsd.org/ports/commit/?id=b962e334545b2b095cca680a0958370af4e91144[21] were updated to the latest releases from upstream, and https://cgit.freebsd.org/ports/commit/?id=e626e069e7d41ae373471a9b9596f34f54729acc[a new port] for installing just the Java Runtime Environment (JRE) of OpenJDK 21 was added. +* Build issues causing the official pkg builds of some older java versions on certain FreeBSD revisions to fail, was debugged and fixed by Ronald Klop. + +Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-07-2025-09/sta-wpc-ci-automation.adoc b/website/content/en/status/report-2025-07-2025-09/sta-wpc-ci-automation.adoc new file mode 100644 index 0000000000..4f0088b2b5 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/sta-wpc-ci-automation.adoc @@ -0,0 +1,111 @@ +=== STA Work Package C: CI/CD Automation + +Contact: Siva Mahadevan <smahadevan@freebsdfoundation.org> + +In this quarter, as part of the infrastructure modernization work commissioned by the Sovereign Tech Agency (STA), I have been working on the in-tree CI Makefile targets. +I also worked on bringing our CI test reports to a clean state on our tier-1 architectures (amd64 and aarch64). +This report is a supplement to the overall STA status report and will describe the work done in more detail. + +==== tests/ci improvements + +The [.filename]#tests/ci# subdirectory in the src tree was introduced in link:https://cgit.freebsd.org/src/commit/?id=cb9d4bb1fbb9ac0eb9f211656e91f9d5254c166c[commit: Add preliminary in-tree CI infrastructure for developers] by mailto:bofh@FreeBSD.org[Moin Rahman] and aims to provide an easy way for developers to replicate the CI testing run by link:https://ci.freebsd.org[our Jenkins cluster]. +In this quarter, the following improvements were made by the team: + +New functionality: + +* link:https://cgit.freebsd.org/src/commit/?id=f6e5bcd4716c2974c7ceb1fbbfc0ef8db8e13d8b[tests/ci: run ci-full kyua tests in parallel] +* link:https://cgit.freebsd.org/src/commit/?id=92a7f2d577630d670643f855a1d123a2260102af[tests/ci: Add KYUA_TEST_FILTERS to allow user to select specific tests] +* link:https://cgit.freebsd.org/src/commit/?id=932cf5fa44b7ff3b7ea21ccb32bbbefff11c160c[tests/ci: Add CIENV variable] + +Bug fixes: + +* link:https://cgit.freebsd.org/src/commit/?id=ed4c64bc792fd2509d8fd6805f8e174c2db62338[tests/ci: Use suitable variable for qemu-user-static existence check] +* link:https://cgit.freebsd.org/src/commit/?id=2f50ea54c6e3b15f655e800eb680ddcb80e30b4f[tests/ci: fix race condition in bhyveload boot] +* link:https://cgit.freebsd.org/src/commit/?id=57f725a6a6c19b12015854589764babe58252155[tests/ci: fix missing /usr/local/{sbin,bin} in freebsdci rc PATH] +* link:https://cgit.freebsd.org/src/commit/?id=9f3e4b28f9dec27b73eeebd161d119d1e9864081[tests/ci: Fix missing qemu devices] +* link:https://cgit.freebsd.org/src/commit/?id=10fb5e7117e522540167fa02692e1e7b8e38eec0[tests/ci: Fix race condition with ci-extractmeta] +* link:https://cgit.freebsd.org/src/commit/?id=66fe805070d121d4b93f63b7b02a70d76069edfc[tests/ci: Fix wrong chflags target path in 'beforeclean' target] +* link:https://cgit.freebsd.org/src/commit/?id=9ec37e8ff49c6b555e8d4f522adc9378157df170[tests/ci: Use QEMU blockdev declaration for all platforms] +* link:https://cgit.freebsd.org/src/commit/?id=e990e460d50c628dfa681c5693bd8ece87b001ad[tests/ci: Fix unescaped kld_list var in rc.conf] + +With these changes, a developer can run CI with these example commands as root: + +[source,shell] +---- +# Fully parallel CI: +make ci + +# Single-threaded CI +make PARALLEL_JOBS=1 ci + +# Single-threaded CI, running a subset of the tests as described in kyua-test(1) +make PARALLEL_JOBS=1 KYUA_TEST_FILTERS='/path/to/testcase /path/to/another:testname1' ci + +# Run smoke (boot) tests +make CITYPE=smoke ci +---- + +==== Test case management + +link:https://ci.freebsd.org/tinderbox[Tinderbox] has been reporting that our supported platforms are failing in CI since a link:https://ci.freebsd.org/job/FreeBSD-main-amd64-test/26756/[run from the last quarter]. +As the backlog grows larger, it becomes harder for users and developers to notice a new failure and pin it to a particular commit. + +To complement the [.filename]#tests/ci# CI/CD automation improvements, along with link:https://github.com/markjdb/bricoler[Bricoler] to help with more granular investigations, I worked on cleaning up the failing test backlog on tier-1 architectures. +The following patches and bug reports were submitted as a result of this (still ongoing) work: + +New bug reports filed to track failing or flaky tests: + +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288991[PR 288991: sys/netinet/output:output_raw_flowid_mpath_success] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289096[PR 289096: lib/libexecinfo/sigtramp_test:test_backtrace_sigtramp] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289165[PR 289165: usr.bin/limits/limits_test:cputime_soft_flag] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289240[PR 289240: sys/netlink/netlink_socket:overflow] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289239[PR 289239: sys/netpfil/pf/sctp:pfsync] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289236[PR 289236: sys/kern/exterr_test:gettext_extended] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289382[PR 289382: sys/netinet6/lpm6:lpm6_test1_success] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289628[PR 289628: sys/netpfil/pf/nat:endpoint_independent_pass] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289630[PR 289630: libexec/rc/rc_subr_test:wait_for_pids_progress] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289237[PR 289237: sys/fs/fusefs/last_local_modify:main] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289084[PR 289084: lib/libc/string/memcmp_test:{diff,neq}] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289477[PR 289477: sys/netpfil/pf/route_to:prefer_ipv6_nexthop_mixed_af_random_table_ipv4] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289299[PR 289299: sys/netpfil/pf/rules_counter:keepcounters] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289684[PR 289684: sys/netlink/test_snl:snl_parse_errmsg_capped] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289146[PR 289146: sbin/ipfw/test_add_rule.py:TestAddRule::test_add_action] + +Unskip tests that are wrongly skipped in CI: + +* link:https://cgit.freebsd.org/src/commit/?id=6ff78a63d8cd0dd64ae79cbda5cb03572c1e17f5[tests/sys/netpfil: unskip tests that no longer need to be skipped] +* link:https://cgit.freebsd.org/src/commit/?id=178b9c2364740ead21f584dc30c3aa45bd0bb8bf[tests/ci: Add missing kmods and pkgs to unskip tests] + +Test case metadata fixes: + +* link:https://cgit.freebsd.org/src/commit/?id=83b08f40264177ecf03fce808474815816f9846f[fix parallel execution of swapon tests] +* link:https://cgit.freebsd.org/src/commit/?id=1e570722dced7a3afc0a35b10af047b835e51567[cap_dns/tests/dns_test: mark tests as needing network access] +* link:https://cgit.freebsd.org/src/commit/?id=68fe0d9cc03bd80f63a5317a633d2426ae286316[pfctl tests: use require.kmods instead of manual check for pf] +* link:https://cgit.freebsd.org/src/commit/?id=df88c711a26c04192761e96dc08a6f3f9e42afed[cap_net/net_test: require 'allow_network_access'] +* link:https://cgit.freebsd.org/src/commit/?id=5dadfac51c3876b0ba6fde831cb4417594167fed[tests/mac_portacl: enable is_exclusive for now] +* link:https://cgit.freebsd.org/src/commit/?id=cacfd42b0c57b3455ca4a23e21de071fa0cc9ed0[tests/sys/mqueue: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=215a0654186926b2e4497d83f3eb45b5eefcb23f[tests/sys/netlink: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=308c9c995794f1ae89bba1d43aab9c51f7e90a09[tests/sys/opencrypto: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=26d3dfa8733892adf107b045a8c98d480b4bb21d[tests/sys/aio: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=c444bfca0063d0820f3fc72cb429809f5f52a970[tests/pf/ioctl: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=559b0f6b82867b60a2d5cb1b2744114603cb17a7[tests/sys/netmap: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=74898ce961e1f4818eba500dfa3a06bc30c1d9b3[tests/sndstat: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=7a1a6d1e2a836d189447ba725b0e256014613ab8[tests/socket_accf: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=4079513328d5656e31cb853a799176ff2500f79b[tests/sys/net: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=427be10491e37160a82eef31622676c655a29f1e[tests/sys/netinet: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=f53228c4e398468c71d3ed8a372cc29ccae6a0c1[tests/vmm_cred_jail: use require.kmods property instead of ad-hoc checks] + +mark tests as "expected fail" (xfail), currently WIP: + +* link:https://cgit.freebsd.org/src/commit/?id=df997faca8411bdf8008c25de5db3ed719019d21[atf_pytest: fix xfail detection from pytest report] + +==== Tooling (WIP) + +To catch errors more quickly, instead of relying on link:https://ci.freebsd.org[Jenkins] to update the test report, I ran local CI multiple times daily. +To help with this, I worked on some tooling to speed up the testing/debugging cycles. +I am maintaining the following (currently uncommitted) tools: + +* link:https://codeberg.org/svmhdvn/mypoudriere/src/branch/main/myfreebsd[parallel CI runner built on top of tests/ci] +* link:https://codeberg.org/svmhdvn/depistage[(VERY WIP) automated CI bug report/triage system] + +Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-07-2025-09/sylve.adoc b/website/content/en/status/report-2025-07-2025-09/sylve.adoc new file mode 100644 index 0000000000..923b181cc5 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/sylve.adoc @@ -0,0 +1,72 @@ +=== Sylve -- A Unified System Management Platform for FreeBSD + +Links: + +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, inspired by Proxmox. +We aim to provide an integrated web interface for managing virtual machines (via Bhyve), Jails, ZFS storage, networking, and firewalling. The backend is implemented in Go, while the frontend uses SvelteKit with Tailwind CSS and ShadCN UI components. + +The project emphasizes a minimal system footprint, currently requiring only package:sysutils/smartmontools[], package:sysutils/tmux[], package:libvirt[], package:samba419[], package:swtpm[] as runtime dependencies. + +==== Q3 Progress Highlights + +===== Clustering + +Sylve now supports simple clustering with a single-pane-of-glass (SPOG) experience. +This multi-master design, built on top of `hashicorp/raft` and SQLite, allows users to manage multiple nodes from a single interface. + +===== Networking + +* Network Objects: Subnets, hosts, and MACs are now treated as first-class objects. + Users can create and reuse them across VMs, Jails, and switches. +* Manual Switches: Existing FreeBSD bridges can now be imported into Sylve and managed as switches. + +===== Storage + +* A new file explorer has been introduced for managing each node's local filesystem (copy, cut, delete, etc.). +* ZFS pools now feature extensive health monitoring, including support for special vdevs (cache, log, etc.). +* Major performance improvements to ZFS dataset viewing and editing. +* Ability to flash images to ZFS zvols directly from the UI. +* Samba integration: Users can now create Samba shares. + A comprehensive audit log has been added to track file share activity. + +===== Authentication + +* Ability to create and manage users directly in the UI, including Samba users. +* Groups can now also be created and managed from the UI. + +===== Virtual Machines + +* Full VM editing is now supported (storage, network, PCI devices, etc.). +* TPM support (via package:swtpm[]) is available in both UI and API, this feature is currently experimental. +* Support for reusing existing raw disks. +* Added Wake-on-LAN functionality for VMs. + +===== Jails + +* Full support for thick jails (creation, editing, viewing). +* Resource limiting for CPU and RAM has been implemented. +* Networking for Jails supports both inherited configurations and switch-based (manual/standard) setups. + +==== Roadmap Update + +Due to community demand, Q3 focused on clustering instead of firewalling and network services. +The following items have been pushed to Q4: + +* Firewall rules configuration. +* DHCP support. +* WireGuard VPN integration. + +The current roadmap is to complete clustering with external storage backup support (e.g., S3) before returning to networking services. + +Contributions, testing, and feedback are very welcome. +If you are interested in contributing, consider helping with: + +* UI testing and accessibility feedback. +* Bug reports and feature requests via GitHub. + +Sponsor: FreeBSD Foundation and Alchemilla (development and infrastructure support) |