-
-
Notifications
You must be signed in to change notification settings - Fork 511
Description
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
- Read the Contributing Guidelines.
- Read the docs.
- Check that there isn't already an issue that request the same feature to avoid creating a duplicate.