Skip to content

Libvirt backend support #1030

@clarfonthey

Description

@clarfonthey

Clear and concise description of the problem

Docker containers offer a majority of the cases needed for builds, but in the case of non-Linux systems like OpenBSD, NetBSD, etc., launching complete virtual machines for builds may be required. We need a new backend to support this.

Suggested solution

Libvirt is probably the most versatile system for doing this, since it provides a common API for running things under several different hypervisors.

Alternative

Without libvirt, we'd probably have to manage multiple hypervisor platforms individually. However, it does require a separate runtime layer, meaning that it does add an extra dependency. If we were to implement these hypervisor backends directly, it wouldn't make libvirt redundant completely, but it would make the need for it less pronounced.

Additional context

Most commercial CI systems allow launching full VMs for their versatility, although it's obviously much slower than using containers. To fully replace these providers, woodpecker would need a VM-based runtime.

Validations

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureadd new functionality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions