- From: Tensibai Zhaoying <
>
- To:
- Subject: [chef] Re: Using Berkshelf 3 with multiple sources
- Date: Wed, 03 Sep 2014 23:16:02 +0200
I'm not a skilled user of Berkshire, but what I understood is that your 4th option is the way Berkshire was intended, each cookbook should specify which cookbook in which version it needs.
You may even give a github or local path to a cookbook you modified fir your needs and so overwriting the sources...
---- Anton Koldaev a écrit ----
Are there some good practices on using Chef with multiple sources?
Let's assume I have the following setup:
1. Private cookbooks repo
- apt v0.0.1
- apt v0.0.2
3. Cookbook mycook depends on apt cookbook.
4. Both apt v0.0.1 and v0.0.2 are already installed(as dependencies of some other cookbooks) in ~/.berkshelf/cookbooks
5. mycook/Berksfile:
source 'my-private-repo'
source 'supermarket'
metadata
In such setup `berks install` from 'mycoook' cookbook will always be using the highest available version found in ~/.berkshelf/cookbooks, in this case it's apt v0.0.2. It doesn't care about the order of sources in Berksfile. I understand why it happens but it doesn't suit me.
To make Berkshelf using apt v.0.0.1 I can:
1. remove apt 0.0.2 from ~/.berkshelf/cookbooks
or
2. `berks vendor` cookbook in dir other than ~/.berkshelf/cookbooks
or
3. specify private source for 'apt' cookbook in Berksfile
or
4. specify v0.0.1 version for 'apt' cookbook in Berksfile
Since I have a lot of private cookbooks intersecting with community's cookbooks specifying source or version in Berksfile for each dependent cookbook is not a great idea.
Options 1 and 2 require extra actions instead of simple `berks install`.
Is there a better way of handling such workflow?
--
Best regards,
Koldaev Anton
Archive powered by MHonArc 2.6.16.