Files
Sylve/docs/ARCHITECTURE.md
T
2025-03-10 12:59:22 +04:00

66 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sylve Architecture
Sylve consists of several core components, each playing a crucial role in virtualization and storage management.
![architecture](https://downloads-bucket.difuse.io/3f437b62_architecture.png)
## Storage
Sylve provides full control over storage management using ZFS, enabling disk operations, dataset creation, and snapshot handling.
### Features:
- **Disk Management:** List all system drives with S.M.A.R.T. data, wipe drives, and initialize with GPT/ZFS.
- **ZFS Management:** Create, list, and delete ZFS pools, datasets, and snapshots.
- **Monitoring & Alerts:** Track pool and dataset statistics, monitor disk health, and receive alerts for potential failures.
- **VM & Jail Storage:** Attach/detach ZFS-backed datastores to VMs and Jails.
### Datastores:
Datastores are created over ZFS datasets and serve as storage for VMs, Jails, and ISOs.
- **Manage Datastores:** Create, list, and delete datastores.
- **Usage Insights:** View statistics and performance data.
- **VM & Jail Integration:** Attach or detach datastores as needed.
## Networking
Networking in Sylve consists of **physical interfaces** and **virtual switches** for flexible connectivity.
### Features:
- **Interface Management:** List, create, and delete network interfaces.
- **Virtual Switches:** Create and manage switches to connect VMs and Jails.
- **VM & Jail Networking:** Attach/detach network interfaces and virtual switches.
- **Monitoring:** Track usage statistics for both interfaces and switches.
## Virtual Machines (VMs)
Sylve leverages **Bhyve** to create and manage virtual machines with extensive configuration options.
### Features:
- **VM Lifecycle:** Create, list, delete, start, stop, and restart VMs.
- **Resource Allocation:** Configure CPU, RAM, disk, and PCI passthrough.
- **Networking:** Attach/detach virtual switches or physical interfaces.
- **Storage:** Attach/detach datastores.
- **Monitoring & Access:** View performance stats, console access, and VNC support.
## Jails
Sylve uses FreeBSDs **Jails** for lightweight containerization.
### Features:
- **Jail Lifecycle:** Create, list, delete, start, stop, and restart Jails.
- **Resource Allocation:** Configure CPU, RAM, and disk.
- **Networking:** Attach/detach virtual switches or physical interfaces.
- **Storage:** Attach/detach datastores.
- **Monitoring & Access:** View statistics and access the console.
## Development Roadmap
We are implementing features **from left to right** across both APIs and frontend, prioritizing core functionalities before enhancements.
Updated: 10-03-2025