Skip to content
/ maimok Public

A web interface for virtual machines running on KVM/libvirt

License

Notifications You must be signed in to change notification settings

fotcorn/maimok

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maimok

A web interface for virtual machines running on KVM/libvirt written in Go and Vue.js

Features

  • Create virtual machines from base images supporting cloud-init (currently, only Ubuntu based images are tested and supported)
  • Configure RAM and disk space on creation
  • Setup network inside VM: IP address, netmask, gateway
  • Create user sysadmin with sudo permissions (without password)
  • Inject ssh keys into VM (sysadmin user)
  • Set hostname of VM
  • Install all updates on first bootup
  • Install all apt upgrades and reboot VM at 04:00 if necessary (unattended-upgrades)

Tested with base images from https://cloud-images.ubuntu.com/.

Screenshots

Screentshot1 Screentshot2

Setup

Development

Backend

The REST API backend is written in Go using the chi router. To start hacking on the backend:

  • Install Go
  • Create a config.toml file from the provided example-config.toml file
  • Run the backend with go run main.go

Frontend

The web frontend is a TypeScript SPA using Vue.js and the Vuetify.js component frameowrk.

  • Install a current version of node.js, npm and yarn
  • Install dependencies: yarn
  • Run the development server: yarn serve

About

A web interface for virtual machines running on KVM/libvirt

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published