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

RSS

augeas (4) Versions 0.1.1

Installs/Configures augeas

Berkshelf/Librarian
Policyfile
Knife
cookbook 'augeas', '= 0.1.1'
cookbook 'augeas', '= 0.1.1', :supermarket
knife cookbook site install augeas
knife cookbook site download augeas
README
Dependencies
Quality

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.

Requirements

Platforms:

  • RHEL Family

Resources and Providers

augeas

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

Attributes

  • 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

Examples

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'
end

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'
end

Recipes

augeas::geminstall

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

Author:: Nathan Huff (nhuff@acm.org)

Acknowledgements

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