I'm trying to clean up the testing workflow for a project I'm working on, a database built on top of io_uring and NVMe.
Right now I'm using KVM and its NVMe device emulator to power the dev environment, but the developer experience is poor: I have a script to recreate the KVM image but it requires some manual steps, and I don't want to commit the KVM image itself for obvious reasons
My questions are:
Is there an alternative to dockerfiles for KVM images?
If not, what are my best options for my use case?
Things I tried:
Running an nvmevirt device emulator, but it's not suitable for my test environment because it requires to load a kernel module
Mocking an NVMe device with some code and a memory backed file, but it's not real testing