Skip to content

Application cookbook which provides a custom resource for updating Chef Client.

License

Notifications You must be signed in to change notification settings

jjustice6/chef-updater-cookbook

 
 

Repository files navigation

chef-updater cookbook

Build Status Code Quality Test Coverage Cookbook Version License

Application cookbook which provides a simple recipe for updating the Chef Client package on an instance.

This cookbook supports updating a minimum Chef version of 12.1.0 and above. The inspiration for this cookbook comes from the Omnibus Updater cookbook which specifically targets the Omnitruck API for obtaining Chef client artifacts. Unfortunately those of us in the enterprise likely already have our own mechanisms for distributing packages, and most of the time they integrate very well with the operating system's package manager.

Platforms

This cookbook is tested and used in production on the following platforms:

  • RHEL 5/6/7
  • CentOS 5/6/7
  • Ubuntu 12.04/14.04
  • Windows 2008r2/2012r2
  • AIX 7.1
  • Solaris 11.2

Basic Usage

Because of how this cookbook short-circuits the Chef convergence it cannot be run at the compile phase of the run. It should be included as early as possible in a node's expanded run-list in order to stop a near-immediately when the client is upgraded.

Resource/Provider

The default recipe passes in some tuning attributes to the resource/provider. These attributes should only be tweaked if you understand what you're doing. It is important to note that by default the package_source is nil. This means that the system package provider will attempt to grab it from a potential package repository (if configured).

Additionally, the package_version should be the semantic version of the Chef Client that you would like the node to be upgraded to. In the background a helper transforms this into the version necessary for the platform that the provider is operating on (e.g. 12.4.0-1.el5).

Property Type Description Default
package_name String Name of package to be upgraded. 'chef'
package_version String Version of the package to be upgraded. '12.9.38'
package_source [String, NilClass] Remote URL of where package resides. nil

About

Application cookbook which provides a custom resource for updating Chef Client.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%