2.0 KiB
layout | page_title | sidebar_current | description |
---|---|---|---|
libvirt | Provider: libvirt | docs-libvirt-index | The Libvirt provider is used to interact with Linux KVM/libvirt hypervisors. The provider needs to be configured with the proper connection information before it can be used. |
Libvirt Provider
The Libvirt provider is used to interact with Linux libvirt hypervisors.
The provider needs to be configured with the proper connection information before it can be used.
~> Note: while libvirt can be used with several types of hypervisors, this provider focuses on KVM. Other drivers may not be working and haven't been tested.
The connection URI
The provider understands connection URIs. The supported transports are:
tcp
(non-encrypted connection)unix
(UNIX domain socket)tls
(See here for information how to setup certificates)ssh
(Secure shell)
Unlike the original libvirt, the ssh
transport is not implemented using the ssh command and therefore does not require nc
(netcat) on the server side.
Additionally, the ssh
URI supports passwords using the driver+ssh://[username:PASSWORD@][hostname][:port]/[path]?sshauth=ssh-password
syntax.
As the provider does not use libvirt on the client side, not all connection URI options are supported or apply.
Example Usage
# Configure the Libvirt provider
provider "libvirt" {
uri = "qemu:///system"
}
# Create a new domain
resource "libvirt_domain" "test1" {
...
}
Configuration Reference
The following keys can be used to configure the provider.
uri
- (Required) The connection URI used to connect to the libvirt host.
Environment variables
The libvirt connection URI can also be specified with the LIBVIRT_DEFAULT_URI
shell environment variable.
$ export LIBVIRT_DEFAULT_URI="qemu+ssh://root@192.168.1.100/system"
$ terraform plan