[chef] Re: geminabox

Chronological Thread 
  • From: Nick Willever < >
  • To:
  • Subject: [chef] Re: geminabox
  • Date: Tue, 25 Sep 2012 23:11:57 -0700


We've implemented geminabox behind our firewall, we use a couple cookbooks to stand it up, one of them is custom application deployment the rest is standard ruby, nginx, passenger install cookbooks.

We only use geminabox for custom internal gems, we then have a separate location for the mirror of rubygems itself - we use the nginx cookbook to deploy this and a custom cookbook to deploy a cron job and the nginx configuration for the mirror.  This is the cron I use to mirror and index for rubygems.org:

45 1-11,13-23 * * * gem mirror; gem generate_index -d /data/rubygems --update;
0 12 * * * gem generate_index -d /data/rubygems --no-legacy;

The first is incremental updates, the second is recreating the entire index.  Make sure you update rubygems itself to the newest version (gem update --system) via your cookbook and make sure you install the builder 3.0 gem too (rubygems-mirror doesn't specify it as a dependency, nor does rubygems itself)

Our setup is multiple nginx servers running those crons and all sharing the same NFS mount (rubygems mirror takes about 60GB), then in our gemrc file we put this:

- https://gems/public/


Have had no scaling issues with using just nginx to serve up gems from rubygems.org, geminabox doesn't scale well when looking at a very large set of gems in its index, that's why we kept those separate and only for private internal gems.

And we do point our bootstrapper script/chef to use the private and public gem hosts behind our firewall.

Nick Willever

On Tue, Sep 25, 2012 at 2:32 PM, Nguyen, Dang < " target="_blank"> > wrote:
Hi All!

Sort of off-topic, but related to chef in that we need ruby gems to run chef-client.

Has anybody implemented "geminabox" or "geminaboxplus"? We've been using the rubygems-mirror gem to mirror rubygems.org behind our firewall and like everyone else, have run into the SystemStackError when "gem generate_index" is run against the full gem set. Any known scaling problems with geminabox or geminaboxplus that you know of? What have you done to mirror rubygems.org behind your firewall?

Dang H. Nguyen

Archive powered by MHonArc 2.6.16.