All Projects → subuk → Vmango

subuk / Vmango

Licence: mit
Your own personal IaaS cloud

Programming Languages

javascript
184084 projects - #8 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Vmango

gpu-passthrough
A GPU passthrough tutorial using libvirt and KVM on GNU/Linux
Stars: ✭ 57 (-78.49%)
Mutual labels:  kvm, libvirt
evcloud
EVCloud是一个基于ceph和libvirt的轻量级云主机管理平台,实用稳定,维护简易
Stars: ✭ 44 (-83.4%)
Mutual labels:  kvm, libvirt
Linchpin
ansible based multicloud orchestrator
Stars: ✭ 107 (-59.62%)
Mutual labels:  cloud, libvirt
Multipass
Multipass orchestrates virtual Ubuntu instances
Stars: ✭ 3,978 (+1401.13%)
Mutual labels:  cloud, libvirt
deploy-vm
Libvirt wrapper to spawn VMs using cloud images
Stars: ✭ 56 (-78.87%)
Mutual labels:  kvm, libvirt
Nixops
NixOps is a tool for deploying to NixOS machines in a network or cloud.
Stars: ✭ 838 (+216.23%)
Mutual labels:  cloud, libvirt
vagrant-travisci-libvrt
Example project showing how to run Vagrant on TravisCI using libvrt & KVM
Stars: ✭ 25 (-90.57%)
Mutual labels:  kvm, libvirt
Virtlyst
Web interface to manage virtual machines with libvirt
Stars: ✭ 167 (-36.98%)
Mutual labels:  kvm, libvirt
yosild
Yosild is a single shell script that builds a full, minimal Linux distribution based on BusyBox.
Stars: ✭ 97 (-63.4%)
Mutual labels:  kvm, libvirt
lightstars
Makes it easier for you to control virtual resource.
Stars: ✭ 14 (-94.72%)
Mutual labels:  kvm, libvirt
Ravada
Remote Virtual Desktops Manager
Stars: ✭ 253 (-4.53%)
Mutual labels:  kvm, libvirt
virtnbdbackup
Backup utiliy for Libvirt / qemu / kvm supporting incremental and differencial backups.
Stars: ✭ 62 (-76.6%)
Mutual labels:  kvm, libvirt
Kvm Install Vm
Bash script to build local virtual machines using KVM/libvirt and cloud-init.
Stars: ✭ 248 (-6.42%)
Mutual labels:  kvm, libvirt
Mist Ce
Mist is an open source, multi-cloud management platform
Stars: ✭ 1,391 (+424.91%)
Mutual labels:  cloud, kvm
Kimchi
An HTML5 management interface for KVM guests
Stars: ✭ 2,773 (+946.42%)
Mutual labels:  kvm, libvirt
Jimv C
JimV 的控制节点。私有云、虚拟化、kvm、云计算。
Stars: ✭ 158 (-40.38%)
Mutual labels:  cloud, kvm
Terrible
An Ansible playbook that apply the principle of the Infrastructure as Code on a QEMU/KVM environment.
Stars: ✭ 161 (-39.25%)
Mutual labels:  kvm, libvirt
Node Libvirt
libvirt bindings for google v8 javascript engine (nodejs addon)
Stars: ✭ 162 (-38.87%)
Mutual labels:  kvm, libvirt
vmdashboard
web-based open source virtualization management interface for QEMU and KVM virtual machines
Stars: ✭ 66 (-75.09%)
Mutual labels:  kvm, libvirt
md server
Standalone EC2 metadata server to simplify the user of vendor cloud images with standalone kvm/libvirt
Stars: ✭ 36 (-86.42%)
Mutual labels:  kvm, libvirt

vmango

Chat

Vmango is a virtual machines management web interface written using Go.

The main goal of project is not to provide a hypervisor configuration tool, because that problem already solved by many configuration management systems like Ansible or Puppet, but provide a convenient way to manage virtual machines on existing hypervisors.

Current features:

  • SSH keys management and injection
  • Volume management
  • KVM machines via libvirt
  • Web console
  • Support for cloud OS images (with cloud-init installed)
  • Custom userdata for cloud-init
  • Bridged network

Installation

There are two RPM repositories:

  • vmango for the latest tagged release, it may be considered stable
  • vmango-devel contains packages built automatically from the latest commit in master branch

CentOS 7 and 8

  1. Enable copr reposotory, use subuk/vmango-devel for the latest version, subuk/vmango for stable
  2. Install package
  3. Edit configuration file /etc/vmango.conf
  4. Start and enable systemd service vmango
yum install -y yum-plugin-copr && yum copr -y enable subuk/vmango
yum install -y vmango
systemctl enable --now vmango

Ubuntu 18.04

  1. Follow instructions on vmango or vmango-devel ppa page https://launchpad.net/~subuk/+archive/ubuntu/vmango
  2. Install package
  3. Edit configuration file /etc/vmango.conf
sudo add-apt-repository ppa:subuk/vmango
sudo apt-get install vmango

Hypervisor configuration

Install libvirt and qemu-kvm.

Ubuntu:

sudo apt-get install libvirt-bin qemu-kvm qemu-system

Centos:

yum install -y libvirt qemu-kvm
systemctl enable --now libvirtd

Allow your user to access libvirt socket:

sudo usermod -aG libvirtd [username]
newgrp libvirtd

Download vm images to default libvirt pool location:

cd /var/lib/libvirt/images/
wget https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1901.qcow2
wget https://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img

Define default volume pool (if not exists) and start it:

virsh pool-define-as default dir --target /var/lib/libvirt/images/
virsh pool-start default
virsh pool-autostart default

Local run

Copy vmango.dist.conf to vmango.conf and change configuration if needed.

Run app

make && ./bin/vmango web

View it on http://localhost:8080 (login with admin / admin by default)

Dependencies for Ubuntu 14.04+

Install libvirt and kvm

sudo apt-get install libvirt-dev libvirt-bin qemu-kvm qemu-system genisoimage

Install Go compiler. Configure libvirt as described above. Now you can use your own computer as hypervisor.

Dependencies for MacOS

Install Go compiler, libvirt C library and mkisofs util (for configdrive creation)

brew install go
brew install libvirt
brew install dvdrtools

You need a linux hypervisor somewhere in the world, because libvirt doesn't support MacOS. Make sure to add ?socket option to remote libvirt urls.

Build RPM

With docker for Centos 7:

./dockerbuild.sh centos-7 make rpm

Locally:

make rpm

Build DEB

With docker for Ubuntu 18.04:

./dockerbuild.sh ubuntu-1804 make deb

Locally:

make deb
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].