Packaging additional chef gems


#1

Hello,

I ran into couple of situations, when installing additional gems using
chef_gem resource generates troubles. This hits us really hard from
time-to-time, and I want to make this more stable and predictable.

What I aim to do is:

  • Reduce need to access public internet on production servers
    (access to rubygems.org)
  • Lock versions of all gems
  • Compile package once, install faster on destination server

I try to achieve most of that by pre-building RPM packages for gems
(first try here [1] ). After that I can store them all in on-premises
repository, and use system package manager (yum on centos) to install
chef gems.

I would appreciate any feedback/answer for questions :

  • Is there better way to achieve my goals?
  • Where can I find source packages/spec files for chef packages
    available on chef site ? [3]

Regards,

[1]
https://github.com/rafaltrojniak/chef-gems
[2]
http://www.redhat.com/en/technologies/linux-platforms/satellite
[3]
https://www.chef.io/download-chef-client/

Rafał Trójniak
WEB : http://trojniak.net/
m@il : rafal@trojniak.net
Jid : rafal@trojniak.net
GPG key-ID : 9A9A9E98
ABC8 83DF E717 6B76 CE49
BAFD 4F6F 854F 9A9A 9E98


#2

I’d suggest not starting from the omnibus-chef sources and building from
scratch, but to install the omnibus client you want, then install the
gems you want over the top of that, then package /opt/chef into an RPM
or deb with fpm that you then put on an internal mirror of some sort.

On 3/22/15 1:58 PM, Rafał Trójniak wrote:

Hello,

I ran into couple of situations, when installing additional gems using
chef_gem resource generates troubles. This hits us really hard from
time-to-time, and I want to make this more stable and predictable.

What I aim to do is:

  • Reduce need to access public internet on production servers
    (access to rubygems.org)
  • Lock versions of all gems
  • Compile package once, install faster on destination server

I try to achieve most of that by pre-building RPM packages for gems
(first try here [1] ). After that I can store them all in on-premises
repository, and use system package manager (yum on centos) to install
chef gems.

I would appreciate any feedback/answer for questions :

  • Is there better way to achieve my goals?
  • Where can I find source packages/spec files for chef packages
    available on chef site ? [3]

Regards,

[1]
https://github.com/rafaltrojniak/chef-gems
[2]
http://www.redhat.com/en/technologies/linux-platforms/satellite
[3]
https://www.chef.io/download-chef-client/