Aprovisionamiento de Vagrant y control de versión

Creé una stack LAMP básica para mi caja de Vagrant usando Anisible. Todo está funcionando bien, etc. y ahora quiero que los miembros de mi equipo utilicen la misma caja.

Vagrant recomienda un file Vagrant por proyecto, no es un problema, pero ¿qué pasa con los resources de provisión, los libros de jugadas, los hosts, etc.? Estoy bastante seguro de que no deberían estar comprometidos con ese repository de proyectos de Git, entonces, ¿qué hago con ellos?

¿Los comprometo a un repository separado y simplemente los clono como un submodule? Si ese es el caso, ¿debería include también el file Vagrant o me estoy perdiendo algo?

Tomando la idea del submodule aún más, ¿tendría sentido crear twigs específicas del proyecto de este repository y clonarlas como un submodule o estoy mirando esto de la manera incorrecta?

Cometa todo lo que necesite para abrir su caja (s) para ese proyecto. Puede copyr y pegar fácilmente files de un proyecto a otro para su reutilización (o hacer un repository general), pero la idea general sería que una vez que se comprometen con un proyecto, lo único que tienen que hacer los desarrolladores es extraer ese proyecto y vagar. Si hay algún cambio en el desarrollo medio, pueden desplegar nuevamente y la disposition vagabunda y son actuales. Esa es la idea completa.

Eche un vistazo a los repositorys de Github para Anisible , Chef y Puppet . Los files están ahí para sus cajas vagas por proyecto.