4 releases
| 0.1.4 | Dec 5, 2024 |
|---|---|
| 0.1.3 | Nov 29, 2024 |
| 0.1.2 | Oct 23, 2024 |
| 0.1.1 | Oct 23, 2024 |
#467 in Template engine
232 downloads per month
66KB
1.5K
SLoC
rvirsh(rv)
rvirsh is a Rust-based virtual machine management tool built using the libvirt-rs library. It reimplements the functionality of the virsh command and virt-install command, providing simple and efficient virtualization operations in Rust.
To avoid using complex arguments, rvirsh reads default configuration from $HOME/.config/rvirsh/default.toml or ./default.toml (if it does not exists).
Installation
Common procedures
-
Ensure that Rust is installed on your system. If not, install it from the official Rust website.
-
Ensure that
libvirt-devorlibvirt-develis installed on your system. Otherwise, compile will be fail. If not, install it with the following command (in Fedora/RHEL).dnf install libvirt-devel
Get binary
-
Install from crates.io:
cargo install rvirsh
Install from source code
-
Clone the
rvirshrepository:git clone https://github.com/your-username/rvirsh.git -
Navigate to the project directory and build it using Cargo:
cd rvirsh cargo build --release -
Install the binary:
cargo install --path .
Usage
rvirsh provides commands similar to those found in virsh. Below are some basic examples. Please run rv help to see which commands are supported.
List all virtual machines
rv list
Start a virtual machine
rv start <vm-name>
Shut down a virtual machine
rv shutdown <vm-name>
Display information about a virtual machine
rv dominfo <vm-name>
Show detailed configuration of a virtual machine
rv dumpxml <vm-name>
Usage (as a library)
rvirsh also offers some functions as a library. So it can be embedded into your project as a crate. Please visit crates.io for more info.
rvirsh = "x.y.z"
Development
To set up the development environment, follow these steps:
-
Clone the repository:
git clone https://github.com/your-username/rvirsh.git -
Install the necessary dependencies:
cargo build -
Run tests:
cargo test
Contributing
Please report any bugs or feature requests via the GitHub issue tracker. Pull requests are welcome!
Dependencies
~7–11MB
~209K SLoC