KVM / Libvirt

KVM / Libvirt

Certified

Manage KVM virtual machines using the Libvirt API.

Use these tasks to define, start, stop, and delete virtual machines, update configurations, and list active or inactive domains directly from Kestra workflows. They require access to a libvirtd daemon (via local socket, SSH, or TLS) and accept task-specific settings such as XML definitions, power-state flags, and resource cleanup options for persistent storage. The included trigger allows for automated responses to VM lifecycle events, such as state transitions or unexpected shutdowns.

How to use the KVM plugin

Manage KVM virtual machines through the Libvirt API from Kestra flows: create, start, stop, update, delete, and list VMs, and react to VM events.

Connection

Tasks connect to a Libvirt daemon through a connection URI (for example qemu:///system for the local host or qemu+ssh://user@host/system for a remote host). Provide any required credentials as secrets and share connection settings with plugin defaults.

Tasks

CreateVm defines and creates a VM, StartVm and StopVm control its power state, UpdateVm changes its configuration, and DeleteVm removes it. ListVms returns the known VMs with their UUID and state, and supports a status filter.

VmEventTrigger starts a flow when a VM lifecycle event occurs.