# Documentation

## Deployment / operation

Applications
  Applications known to use libvirt
Manual pages
  Manual pages for libvirt tools / daemons
Windows
  Downloads for Windows
macOS
  Working with libvirt on macOS
Migration
  Migrating guests between machines
Daemons
  Overview of the daemons provided by libvirt
Remote access
  Enable remote access over TCP
TLS certs
  Generate and deploy x509 certificates for TLS
Authentication
  Configure authentication for the libvirt daemon
Access control
  Configure access control libvirt APIs with polkit
Logging
  The library and the daemon logging support
Audit log
  Audit trail logs for host operations
Firewall
  Firewall and network filter configuration
Hooks
  Hooks for system specific management
NSS module
  Enable domain host name translation to IP addresses
FAQ
  Frequently asked questions

## Application development

API reference
  Reference manual for the C public API, split in common, domain, domain checkpoint, domain snapshot, error, event, host, interface, network, node device, network filter, secret, storage, stream and admin, QEMU, LXC libs
Language bindings and API modules
  Bindings of the libvirt API for c#, go, java, ocaml, perl, python, php, ruby and integration API modules for D-Bus
XML schemas
  Description of the XML schemas for domains, networks, network ports, network filtering, storage, storage encryption, capabilities, domain capabilities, storage pool capabilities, node devices, secrets, snapshots, checkpoints, backup jobs
URI format
  The URI formats used for connecting to libvirt
CGroups
  Control groups integration
Drivers
  Hypervisor specific driver information
Support guarantees
  Details of support status for various interfaces
Driver support
  matrix of API support per hypervisor per release
Knowledge Base
  Task oriented guides to key features

## Project development

Contributor guidelines
  General hacking guidelines for contributors
Docs style guide
  Style guidelines for reStructuredText docs
Project strategy
  Sets a vision for future direction & technical choices
CI Testing
  Details of the Continuous Integration testing strategy
Bug reports
  How and where to report bugs and request features
Compiling
  How to compile libvirt
Goals
  Terminology and goals of libvirt API
API concepts
  The libvirt API concepts
API extensions
  Adding new public libvirt APIs
Event loop and worker pool
  Libvirt's event loop and worker pool mode
Spawning commands
  Spawning commands from libvirt driver code
RPC protocol & APIs
  RPC protocol information and API / dispatch guide
Lock managers
  Use lock managers to protect disk content
Functional testing
  Testing libvirt with TCK test suite and Libvirt-test-API
New repo setup
  Procedure for configuring new git repositories for libvirt