cookbook 'patch', '~> 2.2.1'
patch (9) Versions 2.2.1 Follow9
Some handy Chef resources for when you want to append, replace or delete and lines in files.
cookbook 'patch', '~> 2.2.1', :supermarket
knife supermarket install patch
knife supermarket download patch
Patch
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
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
Collaborator Number Metric
2.2.1 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
2.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
2.2.1 failed this metric
FC092: Custom resources should not define actions: patch/resources/append_line.rb:2
FC092: Custom resources should not define actions: patch/resources/delete_line.rb:2
FC092: Custom resources should not define actions: patch/resources/insert_line_after.rb:2
FC092: Custom resources should not define actions: patch/resources/replace.rb:2
FC092: Custom resources should not define actions: patch/resources/replace_line.rb:2
FC108: Resource should not define a property named 'name': patch/resources/append_line.rb:5
FC108: Resource should not define a property named 'name': patch/resources/delete_line.rb:5
FC108: Resource should not define a property named 'name': patch/resources/insert_line_after.rb:5
FC108: Resource should not define a property named 'name': patch/resources/replace.rb:5
FC108: Resource should not define a property named 'name': patch/resources/replace_line.rb:5
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
2.2.1 passed this metric
Testing File Metric
2.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
2.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
2.2.1 failed this metric
2.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
2.2.1 failed this metric
FC092: Custom resources should not define actions: patch/resources/append_line.rb:2
FC092: Custom resources should not define actions: patch/resources/delete_line.rb:2
FC092: Custom resources should not define actions: patch/resources/insert_line_after.rb:2
FC092: Custom resources should not define actions: patch/resources/replace.rb:2
FC092: Custom resources should not define actions: patch/resources/replace_line.rb:2
FC108: Resource should not define a property named 'name': patch/resources/append_line.rb:5
FC108: Resource should not define a property named 'name': patch/resources/delete_line.rb:5
FC108: Resource should not define a property named 'name': patch/resources/insert_line_after.rb:5
FC108: Resource should not define a property named 'name': patch/resources/replace.rb:5
FC108: Resource should not define a property named 'name': patch/resources/replace_line.rb:5
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
2.2.1 passed this metric
Testing File Metric
2.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
2.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
2.2.1 failed this metric
FC092: Custom resources should not define actions: patch/resources/delete_line.rb:2
FC092: Custom resources should not define actions: patch/resources/insert_line_after.rb:2
FC092: Custom resources should not define actions: patch/resources/replace.rb:2
FC092: Custom resources should not define actions: patch/resources/replace_line.rb:2
FC108: Resource should not define a property named 'name': patch/resources/append_line.rb:5
FC108: Resource should not define a property named 'name': patch/resources/delete_line.rb:5
FC108: Resource should not define a property named 'name': patch/resources/insert_line_after.rb:5
FC108: Resource should not define a property named 'name': patch/resources/replace.rb:5
FC108: Resource should not define a property named 'name': patch/resources/replace_line.rb:5
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
2.2.1 passed this metric
Testing File Metric
2.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
2.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
2.2.1 failed this metric
2.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number