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

Select Status

RSS

patch (9) Versions 2.1.1

Some handy Chef resources for when you want to append, replace or delete and lines in files.

Policyfile
Berkshelf
Knife
cookbook 'patch', '= 2.1.1', :supermarket
cookbook 'patch', '= 2.1.1'
knife supermarket install patch
knife supermarket download patch
README
Dependencies
Quality 0%

Patch

Build Status

Some handy Chef resources for when you want to append, replace or delete and lines in files.

WARNING: Minimum Chef version required is 12.5

replace

Search the file line by line and match each line with the given regex if matched, replace the match (all occurances) with the replace parameter.

replace "/etc/sysctl.conf" do
    replace "#net.ipv4.ip_forward=1"
    with    "net.ipv4.ip_forward=1"
end

Or with a regex:

replace"/etc/sysctl.conf" do
    replace /^.*ip_forward=.*$/
    with    "net.ipv4.ip_forward=1"
end

replace_line

Search the file line by line and match each line with the given regex if matched, replace the whole line with the replace parameter.

replace_line "/etc/sysctl.conf" do
    replace "vm.swappiness"
    with    "vm.swappiness=60"
end

Or with a regex:

replace_line "/etc/sysctl.conf" do
    replace /.*vm.swappiness.*/
    with    "vm.swappiness=60"
end

append_line

Append a line to a file. It will not append the line if it is in the file already.

append_line "/etc/sysctl.conf" do
    line "vm.swappiness=60"
end

inser_line_after

Append a line to a file. It will not append the line if it is in the file already.

insert_line_after "/etc/sysctl.conf" do
    line "vm.swappiness=60"
    insert "net.ipv4.ip_forward = 1"
end 

delete_line

Delete a line from a file.

delete_line "/etc/sysctl.conf" do
    line "vm.swappiness=60"
end

Or with a regex:

delete_line "/etc/sysctl.conf" do
    line /.*vm.swappiness.*/
end

Attributes

All resources support a path attribute to specify the location of the file if you have to do multiple operations on a file:

replace_line "unique_resource_name" do
    replace  "#net.ipv4.ip_forward=1"
    with     "net.ipv4.ip_forward=1"
    path     "/etc/sysctl.conf"
end

Testing

Basic chefspec testing has been added. Please include tests with your pull requests.

bundle install
rspec

Foodcritic Metric
            

2.1.1 failed this metric

FC002: Avoid string interpolation where not required: /tmp/cook/b0d95c60b0a8443f829c4b71/patch/resources/append_line.rb:19
FC002: Avoid string interpolation where not required: /tmp/cook/b0d95c60b0a8443f829c4b71/patch/resources/delete_line.rb:26
FC002: Avoid string interpolation where not required: /tmp/cook/b0d95c60b0a8443f829c4b71/patch/resources/insert_line_after.rb:27
FC002: Avoid string interpolation where not required: /tmp/cook/b0d95c60b0a8443f829c4b71/patch/resources/replace.rb:27
FC002: Avoid string interpolation where not required: /tmp/cook/b0d95c60b0a8443f829c4b71/patch/resources/replace_line.rb:27