Signed-off-by: Erik Skultety <eskultet@xxxxxxxxxx> --- docs/apps.html.in | 488 ---------------------------------------------- docs/apps.rst | 348 +++++++++++++++++++++++++++++++++ docs/meson.build | 2 +- 3 files changed, 349 insertions(+), 489 deletions(-) delete mode 100644 docs/apps.html.in create mode 100644 docs/apps.rst diff --git a/docs/apps.html.in b/docs/apps.html.in deleted file mode 100644 index bac1e36365..0000000000 --- a/docs/apps.html.in +++ /dev/null @@ -1,488 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml"> - <body> - <h1>Applications using libvirt</h1> - - <p> - This page provides an illustration of the wide variety of - applications using the libvirt management API. - </p> - - <ul id="toc"></ul> - - <h2><a id="add">Add an application</a></h2> - - <p> - To add an application not listed on this page, send a message - to the <a href="contact.html">mailing list</a>, requesting it - be added here, or simply send a patch against the documentation - in the libvirt.git docs subdirectory. - If your application uses libvirt as its API, - the following graphics are available for your website to advertise - support for libvirt: - </p> - - <p class="image"> - <img src="logos/logo-square-powered-96.png" alt="libvirt powered"/> - <img src="logos/logo-square-powered-128.png" alt="libvirt powered"/> - <img src="logos/logo-square-powered-192.png" alt="libvirt powered"/> - <img src="logos/logo-square-powered-256.png" alt="libvirt powered"/> - </p> - - <h2><a id="command">Command line tools</a></h2> - - <dl> - <dt><a href="https://libguestfs.org">guestfish</a></dt> - <dd> - Guestfish is an interactive shell and command-line tool for examining - and modifying virtual machine filesystems. It uses libvirt to find - guests and their associated disks. - </dd> - <dt>virsh</dt> - <dd> - An interactive shell, and batch scriptable tool for performing - management tasks on all libvirt managed domains, networks and - storage. This is part of the libvirt core distribution. - </dd> - <dt><a href="https://virt-manager.org/">virt-clone</a></dt> - <dd> - Allows the disk image(s) and configuration for an existing - virtual machine to be cloned to form a new virtual machine. - It automates copying of data across to new disk images, and - updates the UUID, MAC address, and name in the configuration. - </dd> - <dt><a href="https://people.redhat.com/rjones/virt-df/">virt-df</a></dt> - <dd> - Examine the utilization of each filesystem in a virtual machine - from the comfort of the host machine. This tool peeks into the - guest disks and determines how much space is used. It can cope - with common Linux filesystems and LVM volumes. - </dd> - <dt><a href="https://virt-manager.org/">virt-image</a></dt> - <dd> - Provides a way to deploy virtual appliances. It defines a - simplified portable XML format describing the pre-requisites - of a virtual machine. At time of deployment this is translated - into the domain XML format for execution under any libvirt - hypervisor meeting the pre-requisites. - </dd> - <dt><a href="https://virt-manager.org/">virt-install</a></dt> - <dd> - Provides a way to provision new virtual machines from a - OS distribution install tree. It supports provisioning from - local CD images, and the network over NFS, HTTP and FTP. - </dd> - <dt><a href="https://people.redhat.com/rjones/virt-top/">virt-top</a></dt> - <dd> - Watch the CPU, memory, network and disk utilization of all - virtual machines running on a host. - </dd> - <dt> - <a href="https://people.redhat.com/~rjones/virt-what/">virt-what</a> - </dt> - <dd> - virt-what is a shell script for detecting if the program is running - in a virtual machine. It prints out a list of facts about the - virtual machine, derived from heuristics. - </dd> - <dt><a href="https://sourceware.org/systemtap/">stap</a></dt> - <dd> - SystemTap is a tool used to gather rich information about a running - system through the use of scripts. Starting from v2.4, the front-end - application stap can use libvirt to gather data within virtual - machines. - </dd> - <dt><a href="https://github.com/pradels/vagrant-libvirt/">vagrant-libvirt</a></dt> - <dd> - Vagrant-Libvirt is a Vagrant plugin that uses libvirt to manage virtual - machines. It is a command line tool for developers that makes it very - fast and easy to deploy and re-deploy an environment of vm's. - </dd> - <dt><a href="https://github.com/virt-lightning/virt-lightning">virt-lightning</a></dt> - <dd> - Virt-Lightning uses libvirt, cloud-init and libguestfs to allow anyone - to quickly start a new VM. Very much like a container CLI, but with a - virtual machine. - </dd> - </dl> - - <h2><a id="configmgmt">Configuration Management</a></h2> - - <dl> - <dt><a href="https://wiki.lcfg.org/bin/view/LCFG/LcfgLibvirt">LCFG</a></dt> - <dd> - LCFG is a system for automatically installing and managing the - configuration of large numbers of Unix systems. It is particularly - suitable for sites with very diverse and rapidly changing - configurations. - </dd> - <dd> - The lcfg-libvirt package adds support for virtualized systems to - LCFG, with both Xen and KVM known to work. Cloning guests is - supported, as are the bridged, routed, and isolated modes for - Virtual Networking. - </dd> - </dl> - - <h2><a id="continuousintegration">Continuous Integration</a></h2> - - <dl> - <dt><a href="https://docs.buildbot.net/latest/manual/configuration/workers-libvirt.html">BuildBot</a></dt> - <dd> - BuildBot is a system to automate the compile/test cycle required - by most software projects. CVS commits trigger new builds, run on - a variety of client machines. Build status (pass/fail/etc) are - displayed on a web page or through other protocols. - </dd> - </dl> - - <dl> - <dt><a href="https://plugins.jenkins.io/libvirt-slave/">Jenkins</a></dt> - <dd> - This plugin for Jenkins adds a way to control guest domains hosted - on Xen or QEMU/KVM. You configure a Jenkins Agent, - selecting the guest domain and hypervisor. When you need to build a - job on a specific Agent, its guest domain is started, then the job is - run. When the build process is finished, the guest domain is shut - down, ready to be used again as required. - </dd> - </dl> - - <h2><a id="conversion">Conversion</a></h2> - - <dl> - <dt><a href="https://libguestfs.org/virt-p2v.1.html">virt-p2v</a></dt> - <dd> - Convert a physical machine to run on KVM. It is a LiveCD - which is booted on the machine to be converted. It collects a - little information from the user, then copies the disks over - to a remote machine and defines the XML for a domain to run - the guest. (Note this tool is included with libguestfs) - </dd> - <dt><a href="https://libguestfs.org/virt-v2v.1.html">virt-v2v</a></dt> - <dd> - virt-v2v converts guests from a foreign hypervisor to run on - KVM, managed by libvirt. It can convert guests from VMware or - Xen to run on OpenStack, oVirt (RHEV-M), or local libvirt. It - will enable VirtIO drivers in the converted guest if possible. - (Note this tool is included with libguestfs) - </dd> - <dd> - For RHEL customers of Red Hat, conversion of Windows guests is also - possible. This conversion requires some Microsoft signed pieces, - that Red Hat can provide. - </dd> - <dt><a href="https://launchpad.net/virt-goodies">vmware2libvirt</a></dt> - <dd> - Part of the <i>virt-goodies</i> package, vmware2libvirt is a python - script for migrating a vmware image to libvirt. - </dd> - </dl> - - <h2><a id="desktop">Desktop applications</a></h2> - - <dl> - <dt><a href="https://virt-manager.org/">virt-manager</a></dt> - <dd> - A general purpose desktop management tool, able to manage - virtual machines across both local and remotely accessed - hypervisors. It is targeted at home and small office usage - up to managing 10-20 hosts and their VMs. - </dd> - <dt><a href="https://virt-manager.org/">virt-viewer</a></dt> - <dd> - A lightweight tool for accessing the graphical console - associated with a virtual machine. It can securely connect - to remote consoles supporting the VNC protocol. Also provides - an optional mozilla browser plugin. - </dd> - <dt><a href="https://f1ash.github.io/qt-virt-manager">qt-virt-manager</a></dt> - <dd> - The Qt GUI for create and control VMs and another virtual entities - (aka networks, storages, interfaces, secrets, network filters). - Contains integrated LXC/SPICE/VNC viewer for accessing the graphical or - text console associated with a virtual machine or container. - </dd> - <dt><a href="https://f1ash.github.io/qt-virt-manager/#virtual-machines-viewer">qt-remote-viewer</a></dt> - <dd> - The Qt VNC/SPICE viewer for access to remote desktops or VMs. - </dd> - </dl> - - <h2><a id="iaas">Infrastructure as a Service (IaaS)</a></h2> - - <dl> - <dt><a href="http://cc1.ifj.edu.pl">Cracow Cloud One</a></dt> - <dd>The CC1 system provides a complete solution for Private - Cloud Computing. An intuitive web access interface with an - administration module and simple installation procedure make - it easy to benefit from private Cloud Computing technology. - </dd> - - <dt><a href="https://github.com/eucalyptus/eucalyptus">Eucalyptus</a></dt> - <dd> - Eucalyptus is an on-premise Infrastructure as a Service cloud - software platform that is open source and - AWS-compatible. Eucalyptus uses libvirt virtualization API to - directly interact with Xen and KVM hypervisors. - </dd> - - <dt><a href="http://www.nimbusproject.org">Nimbus</a></dt> - <dd> - Nimbus is an open-source toolkit focused on providing - Infrastructure-as-a-Service (IaaS) capabilities to the scientific - community. It uses libvirt for communication with all KVM and Xen - virtual machines. - </dd> - - <dt><a href="http://snooze.inria.fr">Snooze</a></dt> - <dd> - Snooze is an open-source scalable, autonomic, and energy-efficient - virtual machine (VM) management framework for private clouds. It - integrates libvirt for VM monitoring, live migration, and life-cycle - management. - </dd> - - <dt><a href="https://www.openstack.org">OpenStack</a></dt> - <dd> - OpenStack is a "cloud operating system" usable for both public - and private clouds. Its various parts take care of compute, - storage and networking resources and interface with the user - using a dashboard. Compute part uses libvirt to manage VM - life-cycle, monitoring and so on. - </dd> - - <dt><a href="https://kubevirt.io/">KubeVirt</a></dt> - <dd> - KubeVirt is a virtual machine management add-on for Kubernetes. The aim - is to provide a common ground for virtualization solutions on top of - Kubernetes. - </dd> - - <dt><a href="https://github.com/gustavfranssonnyvell/cherrypop">Cherrypop</a></dt> - <dd> - A cloud software with no masters or central points. Nodes - autodetect other nodes and autodistribute virtual - machines and autodivide up the workload. Also there is no - minimum limit for hosts, well, one might be nice. It's - perfect for setting up low-end servers in a cloud or a - cloud where you want the most bang for the bucks. - </dd> - - <dt><a href="https://en.zstack.io/">ZStack</a></dt> - <dd> - ZStack is an open source IaaS software that aims to automate the - management of all resources (compute, storage, networking, etc.) in a - datacenter by using APIs, thus conforming to the principles of a - software-defined datacenter. The key strengths of ZStack in terms of - management are scalability, performance, and a fast, user-friendly - deployment. - </dd> - </dl> - - <h2><a id="libraries">Libraries</a></h2> - - <dl> - <dt><a href="https://libguestfs.org">libguestfs</a></dt> - <dd> - A library and set of tools for accessing and modifying virtual - machine disk images. It can be linked with C and C++ management - programs, and has bindings for Perl, Python, Ruby, Java, OCaml, - PHP, Haskell, and C#. - </dd> - <dd> - Using its FUSE module, you can also mount guest filesystems on the - host, and there is a subproject to allow merging changes into the - Windows Registry in Windows guests. - </dd> - - <dt><a href="https://sandbox.libvirt.org">libvirt-sandbox</a></dt> - <dd> - A library and command line tools for simplifying the creation of - application sandboxes using virtualization technology. It currently - supports either KVM, QEMU or LXC as backends. Integration with - systemd facilitates sandboxing of system services like apache. - </dd> - <dt><a href="https://github.com/ohadlevy/virt#readme">Ruby - Libvirt Object bindings</a></dt> - <dd> - Allows using simple ruby objects to manipulate - hypervisors, guests, storage, network etc. It is - based on top of - the <a href="https://libvirt.org/ruby">native ruby bindings</a>. - </dd> - </dl> - - <h2><a id="livecd">LiveCD / Appliances</a></h2> - - <dl> - <dt><a href="https://libguestfs.org/virt-v2v/">virt-p2v</a></dt> - <dd> - An older tool for converting a physical machine into a virtual - machine. It is a LiveCD which is booted on the machine to be - converted. It collects a little information from the user, then - copies the disks over to a remote machine and defines the XML for a - domain to run the guest. - </dd> - </dl> - - <h2><a id="monitoring">Monitoring</a></h2> - <dl> - <dt><a href="https://collectd.org/plugins/libvirt.shtml">collectd</a></dt> - <dd> - The libvirt-plugin is part of <a href="https://collectd.org/">collectd</a> - and gathers statistics about virtualized guests on a system. This - way, you can collect CPU, network interface and block device usage - for each guest without installing collectd on the guest systems. - For a full description, please refer to the libvirt section in the - collectd.conf(5) manual page. - </dd> - <dt><a href="https://www.sflow.net/">Host sFlow</a></dt> - <dd> - Host sFlow is a lightweight agent running on KVM hypervisors that - links to libvirt library and exports standardized cpu, memory, network - and disk metrics for all virtual machines. - </dd> - <dt><a href="https://honk.sigxcpu.org/projects/libvirt/#munin">Munin</a></dt> - <dd> - The plugins provided by Guido Günther allow to monitor various things - like network and block I/O with - <a href="http://munin.projects.linpro.no/">Munin</a>. - </dd> - <dt><a href="https://people.redhat.com/rjones/nagios-virt/">Nagios-virt</a></dt> - <dd> - Nagios-virt is a configuration tool to add monitoring of your - virtualised domains to <a href="https://www.nagios.org/">Nagios</a>. - You can use this tool to either set up a new Nagios installation for - your Xen or QEMU/KVM guests, or to integrate with your existing Nagios - installation. - </dd> - <dt><a href="https://pcp.io/man/man1/pmdalibvirt.1.html">PCP</a></dt> - <dd> - The PCP libvirt PMDA (plugin) is part of the - <a href="https://pcp.io/">PCP</a> toolkit and provides - hypervisor and guest information and complete set of guest performance - metrics. It supports pCPU, vCPU, memory, block device, network interface, - and performance event metrics for each virtual guest. - </dd> - </dl> - - <h2><a id="provisioning">Provisioning</a></h2> - - <dl> - <dt><a href="https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli+Provisioning+Manager">Tivoli Provisioning Manager</a></dt> - <dd> - Part of the IBM Tivoli family, Tivoli Provisioning Manager (TPM) is - an IT lifecycle automation product. It - <a href="http://publib.boulder.ibm.com/infocenter/tivihelp/v38r1/index.jsp?topic=/com.ibm.tivoli.tpm.apk.doc/libvirt_package.html">uses libvirt</a> - for communication with virtualization hosts and guest domains. - </dd> - </dl> - - <dl> - <dt><a href="https://theforeman.org">Foreman</a></dt> - <dd> - Foreman is an open source web based application aimed to be a - Single Address For All Machines Life Cycle Management. Foreman: - - <ul> - <li>Creates everything you need when adding a new machine to - your network, its goal being automatically managing - everything you would normally manage manually (DNS, DHCP, - TFTP, Virtual Machines,CA, CMDB...)</li> - <li>Integrates with Puppet (and acts as web front end to it).</li> - <li>Takes care of provisioning until the point puppet is - running, allowing Puppet to do what it does best.</li> - <li>Shows you Systems Inventory (based on Facter) and - provides real time information about hosts status based on - Puppet reports.</li> - </ul> - </dd> - </dl> - - - <h2><a id="web">Web applications</a></h2> - - <dl> - <dt><a href="https://www.abiquo.com/">AbiCloud</a></dt> - <dd> - AbiCloud is an open source cloud platform manager which allows to - easily deploy a private cloud in your datacenter. One of the key - differences of AbiCloud is the web rich interface for managing the - infrastructure. You can deploy a new service just dragging and - dropping a VM. - </dd> - <dt><a href="https://kimchi-project.github.io/kimchi/">Kimchi</a></dt> - <dd> - Kimchi is an HTML5 based management tool for KVM. It is designed to - make it as easy as possible to get started with KVM and create your first guest. - - Kimchi manages KVM guests through libvirt. The management interface is accessed - over the web using a browser that supports HTML5. - </dd> - <dt><a href="https://ovirt.org/">oVirt</a></dt> - <dd> - oVirt provides the ability to manage large numbers of virtual - machines across an entire data center of hosts. It integrates - with FreeIPA for Kerberos authentication, and in the future, - certificate management. - </dd> - <dt><a href="https://ispsystem.com/en/software/vmmanager">VMmanager</a></dt> - <dd> - VMmanager is a software solution for virtualization management - that can be used both for hosting virtual machines and - building a cloud. VMmanager can manage not only one server, - but a large cluster of hypervisors. It delivers a number of - functions, such as live migration that allows for load - balancing between cluster nodes, monitoring CPU, memory. - </dd> - <dt><a href="https://mist.io/">mist.io</a></dt> - <dd> - Mist.io is an open source project and a service that can assist you in - managing your virtual machines on a unified way, providing a simple - interface for all of your infrastructure (multiple public cloud - providers, OpenStack based public/private clouds, Docker servers, bare - metal servers and now KVM hypervisors). - </dd> - <dt><a href="https://ravada.upc.edu/">Ravada</a></dt> - <dd> - Ravada is an open source tool for managing Virtual Desktop - Infrastructure (VDI). It is very easy to install and use. Following - the documentation, you'll be ready to deploy virtual machines in - minutes. The only requirements for the users are a Web browser and - a lightweight remote viewer. - </dd> - <dt><a href="https://github.com/cutelyst/Virtlyst">Virtlyst</a></dt> - <dd> - Virtlyst is an open source web application built with C++11, Cutelyst and Qt. - It features: - <ul> - <li>Low memory usage (around 5 MiB of RAM)</li> - <li>Look and feel easily customized with HTML templates that use the Django syntax</li> - <li>VNC/Spice console directly in the browser using websockets on the same HTTP port</li> - <li>Host and Domain statistics graphs (CPU, Memory, IO, Network)</li> - <li>Connect to multiple libvirtd instances (over local Unix domain socket, SSH, TCP and TLS)</li> - <li>Manage Storage Pools, Storage Volumes, Networks, Interfaces, and Secrets</li> - <li>Create and launch VMs</li> - <li>Configure VMs with easy panels or go pro and edit the VM's XML</li> - </ul> - </dd> - </dl> - - <h2><a id="other">Other</a></h2> - - <dl> - <dt><a href="https://cuckoosandbox.org/">Cuckoo Sandbox</a></dt> - <dd> - Cuckoo Sandbox is a malware analysis system. You can throw - any suspicious file at it and in a matter of seconds Cuckoo - will provide you back some detailed results outlining what - such file did when executed inside an isolated environment. - And libvirt is one of the backends that can be used for the - isolated environment. - </dd> - </dl> - - </body> -</html> diff --git a/docs/apps.rst b/docs/apps.rst new file mode 100644 index 0000000000..a21e2249ea --- /dev/null +++ b/docs/apps.rst @@ -0,0 +1,348 @@ +========================== +Applications using libvirt +========================== + +This page provides an illustration of the wide variety of applications +using the libvirt management API. + +.. contents:: + +Add an application +------------------ + +To add an application not listed on this page, send a message to the +`mailing list <contact.html>`__, requesting it be added here, or simply +send a patch against the documentation in the libvirt.git docs +subdirectory. If your application uses libvirt as its API, the following +graphics are available for your website to advertise support for +libvirt: + +|libvirt powered 96| |libvirt powered 128| |libvirt powered 192| |libvirt powered 256| + +Command line tools +------------------ + +`guestfish <https://libguestfs.org>`__ + Guestfish is an interactive shell and command-line tool for examining + and modifying virtual machine filesystems. It uses libvirt to find + guests and their associated disks. +virsh + An interactive shell, and batch scriptable tool for performing + management tasks on all libvirt managed domains, networks and + storage. This is part of the libvirt core distribution. +`virt-clone <https://virt-manager.org/>`__ + Allows the disk image(s) and configuration for an existing virtual + machine to be cloned to form a new virtual machine. It automates + copying of data across to new disk images, and updates the UUID, MAC + address, and name in the configuration. +`virt-df <https://people.redhat.com/rjones/virt-df/>`__ + Examine the utilization of each filesystem in a virtual machine from + the comfort of the host machine. This tool peeks into the guest disks + and determines how much space is used. It can cope with common Linux + filesystems and LVM volumes. +`virt-image <https://virt-manager.org/>`__ + Provides a way to deploy virtual appliances. It defines a simplified + portable XML format describing the pre-requisites of a virtual + machine. At time of deployment this is translated into the domain XML + format for execution under any libvirt hypervisor meeting the + pre-requisites. +`virt-install <https://virt-manager.org/>`__ + Provides a way to provision new virtual machines from a OS + distribution install tree. It supports provisioning from local CD + images, and the network over NFS, HTTP and FTP. +`virt-top <https://people.redhat.com/rjones/virt-top/>`__ + Watch the CPU, memory, network and disk utilization of all virtual + machines running on a host. +`virt-what <https://people.redhat.com/~rjones/virt-what/>`__ + virt-what is a shell script for detecting if the program is running + in a virtual machine. It prints out a list of facts about the virtual + machine, derived from heuristics. +`stap <https://sourceware.org/systemtap/>`__ + SystemTap is a tool used to gather rich information about a running + system through the use of scripts. Starting from v2.4, the front-end + application stap can use libvirt to gather data within virtual + machines. +`vagrant-libvirt <https://github.com/pradels/vagrant-libvirt/>`__ + Vagrant-Libvirt is a Vagrant plugin that uses libvirt to manage + virtual machines. It is a command line tool for developers that makes + it very fast and easy to deploy and re-deploy an environment of vm's. +`virt-lightning <https://github.com/virt-lightning/virt-lightning>`__ + Virt-Lightning uses libvirt, cloud-init and libguestfs to allow + anyone to quickly start a new VM. Very much like a container CLI, but + with a virtual machine. + +Configuration Management +------------------------ + +`LCFG <https://wiki.lcfg.org/bin/view/LCFG/LcfgLibvirt>`__ + LCFG is a system for automatically installing and managing the + configuration of large numbers of Unix systems. It is particularly + suitable for sites with very diverse and rapidly changing + configurations. + The lcfg-libvirt package adds support for virtualized systems to + LCFG, with both Xen and KVM known to work. Cloning guests is + supported, as are the bridged, routed, and isolated modes for Virtual + Networking. + +Continuous Integration +---------------------- + +`BuildBot <https://docs.buildbot.net/latest/manual/configuration/workers-libvirt.html>`__ + BuildBot is a system to automate the compile/test cycle required by + most software projects. CVS commits trigger new builds, run on a + variety of client machines. Build status (pass/fail/etc) are + displayed on a web page or through other protocols. + +`Jenkins <https://plugins.jenkins.io/libvirt-slave/>`__ + This plugin for Jenkins adds a way to control guest domains hosted on + Xen or QEMU/KVM. You configure a Jenkins Agent, selecting the guest + domain and hypervisor. When you need to build a job on a specific + Agent, its guest domain is started, then the job is run. When the + build process is finished, the guest domain is shut down, ready to be + used again as required. + +Conversion +---------- + +`virt-p2v <https://libguestfs.org/virt-p2v.1.html>`__ + Convert a physical machine to run on KVM. It is a LiveCD which is + booted on the machine to be converted. It collects a little + information from the user, then copies the disks over to a remote + machine and defines the XML for a domain to run the guest. (Note this + tool is included with libguestfs) +`virt-v2v <https://libguestfs.org/virt-v2v.1.html>`__ + virt-v2v converts guests from a foreign hypervisor to run on KVM, + managed by libvirt. It can convert guests from VMware or Xen to run + on OpenStack, oVirt (RHEV-M), or local libvirt. It will enable VirtIO + drivers in the converted guest if possible. (Note this tool is + included with libguestfs) + For RHEL customers of Red Hat, conversion of Windows guests is also + possible. This conversion requires some Microsoft signed pieces, that + Red Hat can provide. +`vmware2libvirt <https://launchpad.net/virt-goodies>`__ + Part of the *virt-goodies* package, vmware2libvirt is a python script + for migrating a vmware image to libvirt. + +Desktop applications +-------------------- + +`virt-manager <https://virt-manager.org/>`__ + A general purpose desktop management tool, able to manage virtual + machines across both local and remotely accessed hypervisors. It is + targeted at home and small office usage up to managing 10-20 hosts + and their VMs. +`virt-viewer <https://virt-manager.org/>`__ + A lightweight tool for accessing the graphical console associated + with a virtual machine. It can securely connect to remote consoles + supporting the VNC protocol. Also provides an optional mozilla + browser plugin. +`qt-virt-manager <https://f1ash.github.io/qt-virt-manager>`__ + The Qt GUI for create and control VMs and another virtual entities + (aka networks, storages, interfaces, secrets, network filters). + Contains integrated LXC/SPICE/VNC viewer for accessing the graphical + or text console associated with a virtual machine or container. +`qt-remote-viewer <https://f1ash.github.io/qt-virt-manager/#virtual-machines-viewer>`__ + The Qt VNC/SPICE viewer for access to remote desktops or VMs. + +Infrastructure as a Service (IaaS) +---------------------------------- + +`Cracow Cloud One <http://cc1.ifj.edu.pl>`__ + The CC1 system provides a complete solution for Private Cloud + Computing. An intuitive web access interface with an administration + module and simple installation procedure make it easy to benefit from + private Cloud Computing technology. +`Eucalyptus <https://github.com/eucalyptus/eucalyptus>`__ + Eucalyptus is an on-premise Infrastructure as a Service cloud + software platform that is open source and AWS-compatible. Eucalyptus + uses libvirt virtualization API to directly interact with Xen and KVM + hypervisors. +`Nimbus <http://www.nimbusproject.org>`__ + Nimbus is an open-source toolkit focused on providing + Infrastructure-as-a-Service (IaaS) capabilities to the scientific + community. It uses libvirt for communication with all KVM and Xen + virtual machines. +`Snooze <http://snooze.inria.fr>`__ + Snooze is an open-source scalable, autonomic, and energy-efficient + virtual machine (VM) management framework for private clouds. It + integrates libvirt for VM monitoring, live migration, and life-cycle + management. +`OpenStack <https://www.openstack.org>`__ + OpenStack is a "cloud operating system" usable for both public and + private clouds. Its various parts take care of compute, storage and + networking resources and interface with the user using a dashboard. + Compute part uses libvirt to manage VM life-cycle, monitoring and so + on. +`KubeVirt <https://kubevirt.io/>`__ + KubeVirt is a virtual machine management add-on for Kubernetes. The + aim is to provide a common ground for virtualization solutions on top + of Kubernetes. +`Cherrypop <https://github.com/gustavfranssonnyvell/cherrypop>`__ + A cloud software with no masters or central points. Nodes autodetect + other nodes and autodistribute virtual machines and autodivide up the + workload. Also there is no minimum limit for hosts, well, one might + be nice. It's perfect for setting up low-end servers in a cloud or a + cloud where you want the most bang for the bucks. +`ZStack <https://en.zstack.io/>`__ + ZStack is an open source IaaS software that aims to automate the + management of all resources (compute, storage, networking, etc.) in a + datacenter by using APIs, thus conforming to the principles of a + software-defined datacenter. The key strengths of ZStack in terms of + management are scalability, performance, and a fast, user-friendly + deployment. + +Libraries +--------- + +`libguestfs <https://libguestfs.org>`__ + A library and set of tools for accessing and modifying virtual + machine disk images. It can be linked with C and C++ management + programs, and has bindings for Perl, Python, Ruby, Java, OCaml, PHP, + Haskell, and C#. + Using its FUSE module, you can also mount guest filesystems on the + host, and there is a subproject to allow merging changes into the + Windows Registry in Windows guests. +`libvirt-sandbox <https://sandbox.libvirt.org>`__ + A library and command line tools for simplifying the creation of + application sandboxes using virtualization technology. It currently + supports either KVM, QEMU or LXC as backends. Integration with + systemd facilitates sandboxing of system services like apache. +`Ruby Libvirt Object bindings <https://github.com/ohadlevy/virt#readme>`__ + Allows using simple ruby objects to manipulate hypervisors, guests, + storage, network etc. It is based on top of the `native ruby + bindings <https://libvirt.org/ruby>`__. + +LiveCD / Appliances +------------------- + +`virt-p2v <https://libguestfs.org/virt-v2v/>`__ + An older tool for converting a physical machine into a virtual + machine. It is a LiveCD which is booted on the machine to be + converted. It collects a little information from the user, then + copies the disks over to a remote machine and defines the XML for a + domain to run the guest. + +Monitoring +---------- + +`collectd <https://collectd.org/plugins/libvirt.shtml>`__ + The libvirt-plugin is part of `collectd <https://collectd.org/>`__ + and gathers statistics about virtualized guests on a system. This + way, you can collect CPU, network interface and block device usage + for each guest without installing collectd on the guest systems. For + a full description, please refer to the libvirt section in the + collectd.conf(5) manual page. +`Host sFlow <https://www.sflow.net/>`__ + Host sFlow is a lightweight agent running on KVM hypervisors that + links to libvirt library and exports standardized cpu, memory, + network and disk metrics for all virtual machines. +`Munin <https://honk.sigxcpu.org/projects/libvirt/#munin>`__ + The plugins provided by Guido Günther allow to monitor various things + like network and block I/O with + `Munin <http://munin.projects.linpro.no/>`__. +`Nagios-virt <https://people.redhat.com/rjones/nagios-virt/>`__ + Nagios-virt is a configuration tool to add monitoring of your + virtualised domains to `Nagios <https://www.nagios.org/>`__. You can + use this tool to either set up a new Nagios installation for your Xen + or QEMU/KVM guests, or to integrate with your existing Nagios + installation. +`PCP <https://pcp.io/man/man1/pmdalibvirt.1.html>`__ + The PCP libvirt PMDA (plugin) is part of the + `PCP <https://pcp.io/>`__ toolkit and provides hypervisor and guest + information and complete set of guest performance metrics. It + supports pCPU, vCPU, memory, block device, network interface, and + performance event metrics for each virtual guest. + +Provisioning +------------ + +`Tivoli Provisioning Manager <https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli+Provisioning+Manager>`__ + Part of the IBM Tivoli family, Tivoli Provisioning Manager (TPM) is + an IT lifecycle automation product. It `uses + libvirt <http://publib.boulder.ibm.com/infocenter/tivihelp/v38r1/index.jsp?topic=/com.ibm.tivoli.tpm.apk.doc/libvirt_package.html>`__ + for communication with virtualization hosts and guest domains. + +`Foreman <https://theforeman.org>`__ + Foreman is an open source web based application aimed to be a Single + Address For All Machines Life Cycle Management. Foreman: + + - Creates everything you need when adding a new machine to your + network, its goal being automatically managing everything you + would normally manage manually (DNS, DHCP, TFTP, Virtual + Machines,CA, CMDB...) + - Integrates with Puppet (and acts as web front end to it). + - Takes care of provisioning until the point puppet is running, + allowing Puppet to do what it does best. + - Shows you Systems Inventory (based on Facter) and provides real + time information about hosts status based on Puppet reports. + +Web applications +---------------- + +`AbiCloud <https://www.abiquo.com/>`__ + AbiCloud is an open source cloud platform manager which allows to + easily deploy a private cloud in your datacenter. One of the key + differences of AbiCloud is the web rich interface for managing the + infrastructure. You can deploy a new service just dragging and + dropping a VM. +`Kimchi <https://kimchi-project.github.io/kimchi/>`__ + Kimchi is an HTML5 based management tool for KVM. It is designed to + make it as easy as possible to get started with KVM and create your + first guest. Kimchi manages KVM guests through libvirt. The + management interface is accessed over the web using a browser that + supports HTML5. +`oVirt <https://ovirt.org/>`__ + oVirt provides the ability to manage large numbers of virtual + machines across an entire data center of hosts. It integrates with + FreeIPA for Kerberos authentication, and in the future, certificate + management. +`VMmanager <https://ispsystem.com/en/software/vmmanager>`__ + VMmanager is a software solution for virtualization management that + can be used both for hosting virtual machines and building a cloud. + VMmanager can manage not only one server, but a large cluster of + hypervisors. It delivers a number of functions, such as live + migration that allows for load balancing between cluster nodes, + monitoring CPU, memory. +`mist.io <https://mist.io/>`__ + Mist.io is an open source project and a service that can assist you + in managing your virtual machines on a unified way, providing a + simple interface for all of your infrastructure (multiple public + cloud providers, OpenStack based public/private clouds, Docker + servers, bare metal servers and now KVM hypervisors). +`Ravada <https://ravada.upc.edu/>`__ + Ravada is an open source tool for managing Virtual Desktop + Infrastructure (VDI). It is very easy to install and use. Following + the documentation, you'll be ready to deploy virtual machines in + minutes. The only requirements for the users are a Web browser and a + lightweight remote viewer. +`Virtlyst <https://github.com/cutelyst/Virtlyst>`__ + Virtlyst is an open source web application built with C++11, Cutelyst + and Qt. It features: + + - Low memory usage (around 5 MiB of RAM) + - Look and feel easily customized with HTML templates that use the + Django syntax + - VNC/Spice console directly in the browser using websockets on the + same HTTP port + - Host and Domain statistics graphs (CPU, Memory, IO, Network) + - Connect to multiple libvirtd instances (over local Unix domain + socket, SSH, TCP and TLS) + - Manage Storage Pools, Storage Volumes, Networks, Interfaces, and + Secrets + - Create and launch VMs + - Configure VMs with easy panels or go pro and edit the VM's XML + +Other +----- + +`Cuckoo Sandbox <https://cuckoosandbox.org/>`__ + Cuckoo Sandbox is a malware analysis system. You can throw any + suspicious file at it and in a matter of seconds Cuckoo will provide + you back some detailed results outlining what such file did when + executed inside an isolated environment. And libvirt is one of the + backends that can be used for the isolated environment. + +.. |libvirt powered 96| image:: logos/logo-square-powered-96.png +.. |libvirt powered 128| image:: logos/logo-square-powered-128.png +.. |libvirt powered 192| image:: logos/logo-square-powered-192.png +.. |libvirt powered 256| image:: logos/logo-square-powered-256.png diff --git a/docs/meson.build b/docs/meson.build index 942cce6fdc..b61377ea8b 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -32,7 +32,6 @@ docs_assets = [ docs_html_in_files = [ '404', - 'apps', 'architecture', 'auditlog', 'auth', @@ -107,6 +106,7 @@ docs_rst_files = [ 'advanced-tests', 'api_extension', 'api', + 'apps', 'best-practices', 'ci', 'coding-style', -- 2.29.2