Skip to content

Effortless Cluster Management for Multipass

Notifications You must be signed in to change notification settings

erayarslan/multiverse

Repository files navigation

Multiverse (this is a work in progress)

Effortless Cluster Management with Multipass

Multiverse is a robust, user-friendly tool designed to streamline the creation and management of multi-node virtual environments using Multipass. Perfect for developers and system administrators, Multiverse simplifies handling distributed setups by offering powerful features such as:

  • Cluster Creation: Quickly spin up and configure multi-node clusters with ease.
  • Cache Synchronization: Seamlessly sync resources between master and worker nodes for smooth operation.
  • Comprehensive CLI: Efficiently manage nodes and instances with intuitive command-line tools.
  • Enhanced Usability: Enjoy features like terminal resizing, shell integration, and detailed resource monitoring.

Built for scalability and flexibility, Multiverse is ideal for developing, testing, or running distributed systems in a virtualized environment. Whether you're working on a microservices architecture, experimenting with Kubernetes clusters, or running parallel workloads, Multiverse makes multi-node management straightforward and efficient.

Discover the future of simplified virtualization with Multiverse 🚀

Test

go run cmd/main.go --help

Example Usage

λ multipass start
Launched: primary
Mounted '/Users/username' into 'primary:Home'
λ multiverse -master
master.go: master addr: localhost:1337
master.go: api server addr: localhost:1338
λ multiverse -worker
worker.go: master to connect addr: localhost:1337
client.go: joined with uuid: $uuid
λ multiverse -client -shell -shell-instance-name=primary
ubuntu@primary:~$
λ multiverse -client -nodes
Node Name     IPv4                Cpu       Mem       Disk      Last Sync
hostname      127.0.0.1:*****     1         1Gb       4Gb       2024-01-01 00:00:00 UTC
λ multiverse -client -instances
Node Name     Instance Name     State       IPv4              Image
hostname      primary           Running     xxx.xxx.xxx.xxx   ??.?? ???
λ multiverse -client -info
Node Name     Instance Name     Cpu       Load               Disk                      Memory
hostname      primary           1         0.07 0.02 0.00     2.5GiB out of 4.0GiB      1.3GiB out of 4.0GiB

Architecture

Multiverse Architecture