Dear libvir[t] hackers,
## Intro
I'd like to tell you about a project I'm working on, how it pertains to
libvirt, and to inspire you about this idea.
I thought I'd first give you some quick background about myself... Skip
to '## Project' if you'd prefer... I'm James, but I go by purpleidea on
a lot of the internet. I've been a happy libvirt user for very many
years, and I'm a huge fan of the project. I'm also a Red Hat engineer.
I remember using libvirt for both lxc and regular vm's. I even remember
being sad when virt-system-service died. I love using both virsh and
virt-manager.
I think libvirt is such a nice approach, I even went out of my way and
hacked on vagrant-libvirt, and Oh-My-Vagrant, since I wanted to use
libvirt instead of virtualbox, even though virtualbox was much more
popular and apparently easier.
## Project
I started a Next Generation Config Mgmt project called "mgmt". Think
declarative management similar to puppet and chef, although my system
is better because:
* it runs in parallel
* is event based
* functions as a distributed system
There's an introductory blog post [2], two other posts [3,4] and a
video:
https://www.youtube.com/watch?v=GVhpPF0j-iE&html5=1
## Why Libvirt?
The reason this is all very relevant to libvirt, is that since we are
event based, a native libvirt "resource" would be a particularly cool
and powerful thing to have in mgmt. This would enable a user to
declaratively manage libvirt resources, *and* work out automatically
how to change and modify the resource when a configuration change
happens.
This is a highly sought after property. I'd like for mgmt+libvirt to be
the first to do this right. Since there haven't been any event based
management systems that this would work with, we'd be pioneers.
## Help
I don't have enough knowledge of the internals or time to drive
creation of this resource. I was hoping one or more of you might be
interested in working on this, and or suggesting the project to others.
I will of course mentor the developers(s) if they so wish, and help as
much as possible. The project is in golang, and so recommendations on
how best to communicate with and receive events from libvirtd in golang
are welcome. I'm currently considering one of the two libvirt golang
bindings that I've found but other ideas are welcome too.
## Thanks
Thank you in advance, and please let me know if you're interested. We
also have an IRC channel: #mgmtconfig if you'd prefer to talk over IRC.
Cheers,
James
@purpleidea
[
1] https://ttboj.wordpress.com/?s=vagrant
[
2] https://ttboj.wordpress.com/2016/01/18/next-generation-configuratio
n-mgmt/
[
3] https://ttboj.wordpress.com/2016/03/14/automatic-edges-in-mgmt/
[
4] https://ttboj.wordpress.com/2016/03/30/automatic-grouping-in-mgmt/