You need to install a berkshelf API server as the API presented by Chef server itself is not what berkshelf itself uses to create the dependency tree. This will read the cookbooks from your chef server using a chef client and present them (under that universe path) as available objects when using berks commands.There's a cookbook to configure this here: https://supermarket.chef.io/cookbooks/berkshelf-api-server/versions/2.1.1It doesn't configure https by default but it just runs via nginx so it's easy enough to configure yourself.On 6 October 2015 at 13:35, Douglas Garstang < " target="_blank"> > wrote:What am I doing wrong?In our Berksfile's, we've been specifying the location of dependent cookbooks as paths to local files. It would seem that a better approach would be to retrieve them from our own chef server. I can't get this to work however.
My Berksfile now has the following:
source "https://api.berkshelf.com"
source "https://chef-004.dev.slicetest.com"
metadataAfter setting the path to the certificate for our chef server with:When I run 'berks install', this is what I get:
export SSL_CERT_FILE=/Users/doug/.chefvm/configurations/dev/trusted_certs/chef-004_dev_slicetest_com.crt
Fetching cookbook index from https://api.berkshelf.com...
Fetching cookbook index from https://chef-004.dev.slicetest.com...
Error retrieving universe from source: https://chef-004.dev.slicetest.com
* [Berkshelf::APIClient::ServiceNotFound] service not found at: https://chef-004.dev.slicetest.com
/opt/chefdk/embedded/lib/ruby/2.1.0/net/http.rb:920:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (Faraday::SSLError)Thanks,Doug
Archive powered by MHonArc 2.6.16.