Firstly let me apologise for this post as it is not really an issue, but a question about how to manage Chef environments using Berkshelf.
I am just moving my chef repo over to using Berkshelf and I have pretty much got my head around it, however I do not understand how the environment files are managed.
Should they be managed in a separate git repository or just using the berkshelf command line tool to apply the locks? If the latter how are environment specific attributes set?
Any help or advice is greatly appreciated.
Thanks very much, Russell
Berkshelf is primarily a cookbook manager and only has cookbook related environment features, such as version locking.
You will still want to maintain your environment attributes as you have been doing (in chef-repo or otherwise) as Berkshelf doesn't have any features that replace that functionality.
Berkshelf can examine a Berksfile.lock and apply the solution found there as explicit constraints onto an environment by directly writing to the Chef server. It doesn't handle anything else involving environments.
If you are using the berks apply command, you probably aren't keeping your environment files in version control and you are instead letting the Chef server manage that for you.