Crates.io | cubic |
lib.rs | cubic |
version | 0.1.0 |
source | src |
created_at | 2024-06-03 18:55:47.926724 |
updated_at | 2024-06-03 18:55:47.926724 |
description | Cubic is a lightweight command line manager for virtual machines |
homepage | https://github.com/roger652/cubic |
repository | https://github.com/roger652/cubic |
max_upload_size | |
id | 1260387 |
size | 74,119 |
Cubic is a lightweight command line manager for virtual machines.
Create and run a virtual machine:
$ cubic run --name quickstart --image ubuntu:jammy:amd64
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-107-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Sun Jun 2 19:30:36 UTC 2024
System load: 0.75
Usage of /: 72.3% of 1.96GB
Memory usage: 22%
Swap usage: 0%
Processes: 93
Users logged in: 0
IPv4 address for ens3: 10.0.2.15
IPv6 address for ens3: fec0::5054:ff:fe12:3456
Expanded Security Maintenance for Applications is not enabled.
0 updates can be applied immediately.
Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
cubic@quickstart:~$
Create a virtual machine:
$ cubic add --name example --image ubuntu:jammy:amd64 --cpus 4 --mem 4G --disk 5G
List all virtual machines:
$ cubic list
Name CPUs Memory Disk State
quickstart 1 1.0 GiB 1.0 GiB RUNNING
example 4 4.0 GiB 5.0 GiB STOPPED
Start a virtual machine:
$ cubic start example
Connect with SSH to a virtual machine:
$ cubic ssh example
Copy a file with SSH to a virtual machine:
$ touch test
$ cubic scp test example:~/
Restart a virtual machine:
$ cubic restart example
Stop a virtual machine:
$ cubic stop example
Show a virtual machine config:
$ cubic config example
cpus: 4
mem: 4.0 GiB
disk: 2.2 GiB
Change a virtual machine config:
$ cubic config --cpus 5 --mem 5G --disk 5G example
cpus: 5
mem: 5.0 GiB
disk: 5.0 GiB
Clone a virtual machine:
$ cubic clone example example2
Rename a virtual machine:
$ cubic rename example2 example_new
Delete a virtual machine:
$ cubic delete example_new
List all images:
$ cubic list images
ID ARCH SIZE
ubuntu:jammy amd64 2.2 GiB
Build the Rust project with the Cargo package manager:
$ cargo build
Install the binaries:
$ cargo install --path .
$ export PATH="$PATH:$HOME/.cargo/bin"
Please make sure that any contributed code is correctly format, linted and tested.
Format source code:
$ cargo fmt
Lint code:
$ cargo clippy
Run tests:
$ cargo test