Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms


augeas (4) Versions 0.1.1

Installs/Configures augeas

cookbook 'augeas', '= 0.1.1'
cookbook 'augeas', '= 0.1.1', :supermarket
knife cookbook site install augeas
knife cookbook site download augeas

augeas cookbook

Augeas is a library that allows files of different formats to be edited in a mostly generic manner. It does this by using a lens to transform the file into a generic tree like structure which can then be modified and transformed back into the original format of the file. This cookbook provides a resource that allows recipes to modify files using augeas.

Right now it should work on RHEL/Fedora platforms. I think the only change needed to support other platforms is modifying the geminstall recipe to install the right packages.



  • RHEL Family

Resources and Providers


The augeas provider is used to make changes to files using the augeas library.


  • changes(required) - A string or list of strings that contain augeas commands to run
  • lens(optional) - A specific lens to use to transform the file being modified
  • incl(optional) - Only include the specified file in the augeas context. If this is set lens must also be specified.
  • run_if(optional) - Only run if the given augeas matcher is true


Set the sysconfig variable TEST in the /etc/sysconfig/test file to b augeas 'sysconfig_test' do changes 'set /files/etc/sysconfig/test/TEST b' end

In the above case augeas already knows which lens to use to transform files in /etc/sysconfig. If it didn't we could tell it more explicitly like

augeas 'sysconfig_lens' do
  changes 'set /files/etc/sysconfig/test/TEST b'
  lens    'Sysconfig.lns'
  incl    '/etc/sysconfig/test'

I can also make changes conditionaly based on augeas match statements. The following will set TEST to c only if it is currently set to a.

augeas 'sysconfig_get_equal_test' do
  changes 'set /files/etc/sysconfig/test/TEST c'
  run_if  'get /files/etc/sysconfig/test/TEST == a'



This recipe will install the augeas development libraries and then use chef_gem to make the ruby-augeas gem available to the resource.

TODO: This has the redhat package name hard coded right now.


Author:: Nathan Huff (


The interface for this resource is pretty much a copy of the Puppet resource of the same name. While the code is rewritten the general flow of how it interacts with augeas is also highly influenced by what the Puppet provider does.

No quality metric results found