[chef] Re: Re: Is Supermarket replacing Berkshelf-API server?


Chronological Thread 
  • From: Christopher Webber < >
  • To:
  • Subject: [chef] Re: Re: Is Supermarket replacing Berkshelf-API server?
  • Date: Tue, 26 Aug 2014 07:21:37 -0700

Probably worth mentioning at this point that neither the Berkshelf API server nor Supermarket do any depsolving. They provide a complete index of what they know about and Berkshelf the client handles the actual depsolving.

— cwebber

On Aug 26, 2014, at 7:16 AM, Seth Vargo < "> > wrote:

no
On Aug 26, 2014, at 10:02 AM, Anton Koldaev < " class=""> > wrote:

Is there any difference in how berkshelf-api and supermarket resolve cookbook's dependencies? We used berkshelf-api a while ago and having multiple sources in Berksfile it's wasn't clear which one will be used for each dependency. 


On Tue, Aug 26, 2014 at 5:06 PM, Jeff Byrnes < " target="_blank" class=""> > wrote:
Bernie,

That’s exactly what Supermarket/Chef Server are. In fact, the Chef Server, once it has the Berkshelf-style universe endpoint, will work pretty much exactly like a yum/apt repo; you’ll query it for the collection of cookbooks is has, then dependency resolve based on the results & what you need.

Right now, you need your own Berkshelf API server that’s indexing your Chef Server to do that for your private cookbooks. For public, community cookbooks, the Supermarket provides its own Berkshelf `universe` endpoint to provide that sort of depsolving.

Supermarket just happens to offer a web UI on top of all of that, which does require the “fancy” bits you speak of, but at its heart, it’s an artifact store & dependency tree.

-- 
Jeff Byrnes
@berkleebassist
Operations Engineer
704.516.4628

On August 26, 2014 at 8:43:11 AM, Durfee, Bernie (GE Global Research) ( " target="_blank" class=""> ) wrote:

Why does a cookbook repository need to live behind a fancy server anyway?
A repository, by nature, is static. Wouldn¹t a Yum or Apt style repo with
just files and an index be good enough and simpler? Seems like an S3
bucket and an indexer would be all you need, no?

Bernie




On 8/25/14, 7:32 PM, "AJ Christensen" < " target="_blank" class=""> > wrote:

>Another alternative if you need a /universe endpoint is to use Goiardi
>[0], the golang chefserver. It's extremely light weight. The
>functionality was added recently! [1]
>
>It can run in-memory with optional journals to disk and is completely
>suitable for a few hundred cookbooks. For over a couple of thousand
>(the full Supermarket universe has been tested!) you'll want
>MySQL/PGSQL.
>
>we have heard some reports of users making use of temporal goiardi
>instances as part of continuous integration pipeline "environment
>generators" where a job can push cookbooks to, automatically!
>
>cheers,
>
>--aj
>
>[0] https://ctdk.github.io/goiardi/
>[1] https://github.com/ctdk/goiardi/blob/master/CHANGELOG#L21-L24
>
>P.S:
>
>launch like this:
>`goiardi -VVVV -I 127.0.0.1 -H localhostchef.junglist.io -P 1025 -i
>goiardi.index -D goiardi.data -A --disable-webui --log-events`
>
>On Tue, Aug 26, 2014 at 10:32 AM, Christopher Webber
>< " target="_blank" class=""> > wrote:
>> So here is where I stand on things (full disclosure, Supermarket is
>>kinda my thing at Chef):
>>
>> The Berkshelf API server is perfect if what you want to do is index
>>what you Chef Server has. It is simple and lightweight.
>>
>> On the other hand, if what you are trying to do is build an internal
>>community around cookbooks and want to have a Berkshelf endpoint that
>>has more than what is on your Chef Server, Supermarket may make more
>>sense but there is more involved in running it, especially since we
>>haven¹t built an omnibus package yet.
>>
>> Supermarket at a base level is a rails app with sidekiq, using postgres
>>and redis. If you plan to support more than one frontend you will need
>>to have an S3 compatible backend for storage as well.
>>
>> Thanks.
>>
>> ‹ cwebber
>>
>> On Aug 25, 2014, at 2:23 PM, Daniel DeLeo < " target="_blank" class=""> > wrote:
>>
>>> On Monday, August 25, 2014 at 2:14 PM, Durfee, Bernie (GE Global
>>>Research) wrote:
>>>> Should I be spending time setting up a Berkshelf API server or a
>>>>Supermarket server?
>>>>
>>>>
>>>> Thanks,
>>>> Bernie
>>>
>>>
>>> The answer to this is, it depends on what you want to do.
>>>
>>> Supermarket is open source and you are certainly welcome to set up
>>>your own if you like. To run it, you¹ll need to manage a few services
>>>(I haven¹t done this personally, but I think you at least need the
>>>supermarket service and a service called oc-id that uses oauth2 to
>>>authenticate you to supermarket using your enterprise chef credentials).
>>>
>>> That said, we have accepted an RFC to implement a ³universe² endpoint
>>>for chef-server that will provide a tool like berkshelf with the data
>>>it needs to solve dependencies so you can host your cookbooks on your
>>>regular Chef server. See:
>>>https://github.com/opscode/chef-rfc/blob/master/rfc014-universe-endpoint
>>>.md
>>>
>>> How are you using Berkshelf API now (or, what configuration were you
>>>considering)?
>>>
>>> --
>>> Daniel DeLeo
>>>
>>>
>>>
>>




--
Best regards,
Koldaev Anton





Archive powered by MHonArc 2.6.16.

§