What do you all use for quick one-command (non gui) new vm bringup?

I haven't had much luck with terraform with libvirt, and I miss Vagrant but don't want to lock myself into its syntax. Maybe I should just start using it again but I feel like there has got to be a good libvirt-based way.

Provisioning new test vms with userdata embedded into an kickstart-or-whatever iso that is provided to libvirt also seems clunky. docker-machine is no longer maintained so I can't use it as a vagrant replacement to just bring up sshable hosts. Multipass?

Curious as to how others have solved this.

virt-install or virt-builder.

I have some extremely clunky 50 line shell scripts around virt-install presently but was hoping to find something a little more streamlined (like the usual Vagrant or docker-machine workflow).

Do you just manually run a huge virt-install command each time?

Have you looked into Weaveworks Ignite?

https://github.com/weaveworks/ignite