discourse/chef/cookbooks/omnibus_updater
Elliot Murphy f3bcbd8bc3 Use chef-solo to install phantomjs into Vagrant VM.
This introduces two configuration management runs into the
Vagrant provisioning phase. The first chef-solo run ensures that
a current version of chef is installed using the omnibus updater.
The second chef-solo run installs vim and phantomjs.

Much more is possible, this is a proof of concept.
Cookbooks are stored in the chef directory, and managed by
librarian-chef, which is like a bundler for cookbooks.

Chef is run when VM is first downloaded and booted, but not on
subsequent halt/up cycles. To force chef to run again, use
`vagrant provision`.
2013-02-07 14:09:57 -05:00
..
attributes Use chef-solo to install phantomjs into Vagrant VM. 2013-02-07 14:09:57 -05:00
libraries Use chef-solo to install phantomjs into Vagrant VM. 2013-02-07 14:09:57 -05:00
recipes Use chef-solo to install phantomjs into Vagrant VM. 2013-02-07 14:09:57 -05:00
.gitignore Use chef-solo to install phantomjs into Vagrant VM. 2013-02-07 14:09:57 -05:00
CHANGELOG.md Use chef-solo to install phantomjs into Vagrant VM. 2013-02-07 14:09:57 -05:00
Gemfile Use chef-solo to install phantomjs into Vagrant VM. 2013-02-07 14:09:57 -05:00
metadata.json Use chef-solo to install phantomjs into Vagrant VM. 2013-02-07 14:09:57 -05:00
metadata.rb Use chef-solo to install phantomjs into Vagrant VM. 2013-02-07 14:09:57 -05:00
README.md Use chef-solo to install phantomjs into Vagrant VM. 2013-02-07 14:09:57 -05:00

OmnibusUpdater

Update your omnibus! This cookbook can install the omnibus Chef package into your system if you are currently running via gem install, and it can keep your omnibus install up to date.

Usage

Add the recipe to your run list and specify what version should be installed on the node:

knife node run_list add recipe[omnibus_updater]

In your role you'll likely want to set the version (it defaults to the 0.10.10 version of Chef):

override_attributes(
  :omnibus_updater => {
    :version => '10.16.2'
  }
)

It can also uninstall Chef from the system Ruby installation if you tell it to:

override_attributes(
  :omnibus_updater => {
    :remove_chef_system_gem => true
  }
)

If you are using a Chef version earlier than 10.12.0 you may want to take a look at the chef_gem cookbook to ensure gems are going where expected.


The default recipe will install the omnibus package based on system information but you can override that by using the install_via attribute which accepts: deb, rpm or script.

Features

Auto version expansion

Versions for the omnibus installer are defined as: x.y.z-n If the :version attribute only provides x.y.z the n value will be automatically filled in with the latest available version.

Auto version searching

Using the :version_search attribute, the latest stable version of the omnibus installer will be installed automatically as they become available.

Release clients

Release clients can be installed via the auto-installation using :allow_release_clients attribute.

Disable

If you want to disable the updater you can set the disabled attribute to true. This might be useful if the cookbook is added to a role but should then be skipped for example on a Chef server.

Infos