I am starting to get comfortable with Berkshelf (which was a great way to learn chef by the way) and now I am wondering how I should go about managing / rolling out development environments for our PHP developers that I want to provide local/VM environments that are provisioned from Chef cookbooks.
I want to figure out what the ideal environment would be for both Chef developers, and the application developers (PHP devs in my case). I need repeatable local (or VM) environments for PHP developers that use my Cookbooks.
I was thinking to use Vagrantfile so the developer could configure a chef server with his or her certs, provision it, and start using the environment. What I am unsure about: should each developer have his or her own Vagrant node listed in Chef Server for each application? Or is there a way to use the Chef client provisioner without registering the vagrant node?
Basically, I don't really care about the nodes on local machines, but it would be awesome if the developer could provision with Vagrant from the Chef server so it matches other environments.
Secondly, all my Berkshelf-generated repos are using the Chef Client to provision. Is that good practice, or should I use chef-solo only for developing/testing cookbooks as a dev ops?