foodcritic 10.4.1 → 11.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -1
- data/Rakefile +7 -1
- data/features/step_definitions/cookbook_steps.rb +0 -96
- data/lib/foodcritic/api.rb +77 -79
- data/lib/foodcritic/rules/fc008.rb +2 -2
- data/lib/foodcritic/rules/fc029.rb +1 -1
- data/lib/foodcritic/rules/fc042.rb +1 -1
- data/lib/foodcritic/rules/fc052.rb +1 -1
- data/lib/foodcritic/rules/fc053.rb +1 -1
- data/lib/foodcritic/rules/fc057.rb +1 -1
- data/lib/foodcritic/rules/fc058.rb +1 -1
- data/lib/foodcritic/rules/fc060.rb +1 -1
- data/lib/foodcritic/rules/fc061.rb +3 -3
- data/lib/foodcritic/rules/fc063.rb +1 -2
- data/lib/foodcritic/rules/fc069.rb +2 -4
- data/lib/foodcritic/rules/fc078.rb +2 -3
- data/lib/foodcritic/rules/fc079.rb +6 -0
- data/lib/foodcritic/rules/fc080.rb +6 -0
- data/lib/foodcritic/rules/fc081.rb +6 -0
- data/lib/foodcritic/rules/fc082.rb +9 -0
- data/lib/foodcritic/rules/fc083.rb +6 -0
- data/lib/foodcritic/rules/fc084.rb +9 -0
- data/lib/foodcritic/rules/fc085.rb +12 -0
- data/lib/foodcritic/version.rb +1 -1
- data/spec/functional/fc007_spec.rb +127 -0
- data/spec/functional/fc049_spec.rb +56 -0
- data/spec/functional/fc050_spec.rb +85 -0
- data/spec/functional/fc066_spec.rb +20 -0
- data/spec/functional/fc069_spec.rb +15 -0
- data/spec/functional/fc070_spec.rb +9 -0
- data/spec/functional/fc076_spec.rb +2 -2
- data/spec/functional/fc077_spec.rb +2 -2
- data/spec/functional/fc078_spec.rb +14 -4
- data/spec/functional/fc079_spec.rb +21 -0
- data/spec/functional/fc080_spec.rb +68 -0
- data/spec/functional/fc081_spec.rb +25 -0
- data/spec/functional/fc082_spec.rb +23 -0
- data/spec/functional/fc083_spec.rb +34 -0
- data/spec/functional/fc084_spec.rb +49 -0
- data/spec/functional/fc085_spec.rb +58 -0
- data/spec/regression/expected/aix.txt +1 -0
- data/spec/regression/expected/aws.txt +3 -0
- data/spec/regression/expected/chef-client.txt +2 -0
- data/spec/regression/expected/chef.txt +67 -0
- data/spec/regression/expected/database.txt +1 -0
- data/spec/regression/expected/drbd.txt +1 -0
- data/spec/regression/expected/jetty.txt +1 -0
- data/spec/regression/expected/mysql.txt +4 -0
- data/spec/regression/expected/openssh.txt +1 -0
- data/spec/regression/expected/postfix.txt +1 -0
- data/spec/regression/expected/rsyslog.txt +1 -0
- data/spec/regression/expected/smokeping.txt +1 -0
- data/spec/regression/expected/sql_server.txt +1 -0
- data/spec/regression/expected/ufw.txt +1 -0
- data/spec/regression/expected/users.txt +2 -0
- data/spec/regression/expected/xml.txt +1 -0
- data/spec/regression/expected/yum.txt +0 -1
- data/spec/regression/regression_spec.rb +2 -2
- data/spec/unit/api_spec.rb +130 -149
- metadata +20 -32
- data/features/007_check_for_undeclared_recipe_dependencies.feature +0 -59
- data/features/049_check_for_role_name_mismatch_with_file_name.feature +0 -31
- data/features/050_check_for_invalid_name.feature +0 -33
- data/man/foodcritic.1 +0 -81
- data/spec/foodcritic/coverage/assets/0.10.0/application.css +0 -799
- data/spec/foodcritic/coverage/assets/0.10.0/application.js +0 -1707
- data/spec/foodcritic/coverage/assets/0.10.0/colorbox/border.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/colorbox/controls.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/colorbox/loading.gif +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/colorbox/loading_background.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/favicon_green.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/favicon_red.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/favicon_yellow.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/loading.gif +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/magnify.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/foodcritic/coverage/assets/0.10.0/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/foodcritic/coverage/index.html +0 -72
@@ -10,4 +10,24 @@ describe "FC066" do
|
|
10
10
|
metadata_file "chef_version '>= 12.1'"
|
11
11
|
it { is_expected.to_not violate_rule("FC066") }
|
12
12
|
end
|
13
|
+
|
14
|
+
context "with a cookbook with a metadata file that specifies a chef_version with a guard" do
|
15
|
+
metadata_file "chef_version '>= 12.1' if defined?(chef_version)"
|
16
|
+
it { is_expected.to_not violate_rule("FC066") }
|
17
|
+
end
|
18
|
+
|
19
|
+
context "with a cookbook with a metadata file that specifies a chef_version with parens" do
|
20
|
+
metadata_file "chef_version('>= 12.1')"
|
21
|
+
it { is_expected.to_not violate_rule("FC066") }
|
22
|
+
end
|
23
|
+
|
24
|
+
context "with a cookbook with a metadata file that specifies a chef_version with multiple arguments" do
|
25
|
+
metadata_file "chef_version '>= 12.1', '< 14'"
|
26
|
+
it { is_expected.to_not violate_rule("FC066") }
|
27
|
+
end
|
28
|
+
|
29
|
+
context "with a cookbook with a metadata file that specifies a chef_version with a splat" do
|
30
|
+
metadata_file "chef_version(*['>= 12.1', '< 14'])"
|
31
|
+
it { is_expected.to_not violate_rule("FC066") }
|
32
|
+
end
|
13
33
|
end
|
@@ -20,4 +20,19 @@ describe "FC069" do
|
|
20
20
|
metadata_file "license 'All Rights Reserved'"
|
21
21
|
it { is_expected.to_not violate_rule("FC069") }
|
22
22
|
end
|
23
|
+
|
24
|
+
context "with a cookbook with a metadata file that specifies ChefDK's non-SPDX all rights reserved string with a different casing" do
|
25
|
+
metadata_file "license 'All rights reserved'"
|
26
|
+
it { is_expected.to_not violate_rule("FC069") }
|
27
|
+
end
|
28
|
+
|
29
|
+
context "with a cookbook with a metadata file that specifies a license with parens" do
|
30
|
+
metadata_file "license('Apache-2.0')"
|
31
|
+
it { is_expected.to_not violate_rule }
|
32
|
+
end
|
33
|
+
|
34
|
+
context "with a cookbook with a metadata file that does not specifiy a license" do
|
35
|
+
metadata_file
|
36
|
+
it { is_expected.to violate_rule }
|
37
|
+
end
|
23
38
|
end
|
@@ -53,4 +53,13 @@ describe "FC070" do
|
|
53
53
|
EOH
|
54
54
|
it { is_expected.to_not violate_rule("FC070") }
|
55
55
|
end
|
56
|
+
|
57
|
+
context "with a word list and a version constraint" do
|
58
|
+
metadata_file <<-EOH
|
59
|
+
%w{ redhat centos scientific amazon }.each do |os|
|
60
|
+
supports os, ">= 5.0"
|
61
|
+
end
|
62
|
+
EOH
|
63
|
+
it { is_expected.to_not violate_rule("FC070") }
|
64
|
+
end
|
56
65
|
end
|
@@ -3,11 +3,11 @@ require "spec_helper"
|
|
3
3
|
describe "FC076" do
|
4
4
|
context "with a cookbook with a metadata file that does contain the conflicts keyword" do
|
5
5
|
metadata_file "conflicts 'runit'"
|
6
|
-
it { is_expected.to violate_rule
|
6
|
+
it { is_expected.to violate_rule }
|
7
7
|
end
|
8
8
|
|
9
9
|
context "with a cookbook with a metadata file that does not contain the conflicts keyword" do
|
10
10
|
metadata_file
|
11
|
-
it { is_expected.to_not violate_rule
|
11
|
+
it { is_expected.to_not violate_rule }
|
12
12
|
end
|
13
13
|
end
|
@@ -3,11 +3,11 @@ require "spec_helper"
|
|
3
3
|
describe "FC077" do
|
4
4
|
context "with a cookbook with a metadata file that does contain the replaces keyword" do
|
5
5
|
metadata_file "replaces 'runit'"
|
6
|
-
it { is_expected.to violate_rule
|
6
|
+
it { is_expected.to violate_rule }
|
7
7
|
end
|
8
8
|
|
9
9
|
context "with a cookbook with a metadata file that does not contain the replaces keyword" do
|
10
10
|
metadata_file
|
11
|
-
it { is_expected.to_not violate_rule
|
11
|
+
it { is_expected.to_not violate_rule }
|
12
12
|
end
|
13
13
|
end
|
@@ -4,22 +4,32 @@ describe "FC078" do
|
|
4
4
|
context "with a cookbook with a metadata file that specifies" do
|
5
5
|
context "a license generated by knife cookbook create" do
|
6
6
|
metadata_file "license 'Apache 2.0'"
|
7
|
-
it { is_expected.to violate_rule
|
7
|
+
it { is_expected.to violate_rule }
|
8
8
|
end
|
9
9
|
|
10
10
|
context "a license generated by chef generate cookbook" do
|
11
11
|
metadata_file "license 'apache_2'"
|
12
|
-
it { is_expected.to violate_rule
|
12
|
+
it { is_expected.to violate_rule }
|
13
13
|
end
|
14
14
|
|
15
15
|
context "a valid OSI-approved open source license in SPDX format" do
|
16
16
|
metadata_file "license 'Apache-2.0'"
|
17
|
-
it { is_expected.to_not violate_rule
|
17
|
+
it { is_expected.to_not violate_rule }
|
18
18
|
end
|
19
19
|
|
20
20
|
context "ChefDK's non-SPDX all rights reserved string" do
|
21
21
|
metadata_file "license 'All Rights Reserved'"
|
22
|
-
it { is_expected.to violate_rule
|
22
|
+
it { is_expected.to violate_rule }
|
23
|
+
end
|
24
|
+
|
25
|
+
context "a license with parens" do
|
26
|
+
metadata_file "license('Apache-2.0')"
|
27
|
+
it { is_expected.to_not violate_rule }
|
28
|
+
end
|
29
|
+
|
30
|
+
context "no license" do
|
31
|
+
metadata_file
|
32
|
+
it { is_expected.to violate_rule }
|
23
33
|
end
|
24
34
|
end
|
25
35
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "FC079" do
|
4
|
+
context "with a cookbook with a recipe that includes an easy_install_package resource" do
|
5
|
+
recipe_file <<-EOF
|
6
|
+
easy_install_package "foo" do
|
7
|
+
action :install
|
8
|
+
end
|
9
|
+
EOF
|
10
|
+
it { is_expected.to violate_rule }
|
11
|
+
end
|
12
|
+
|
13
|
+
context "with a cookbook with a recipe that doesn't include an easy_install_package resource" do
|
14
|
+
recipe_file <<-EOF
|
15
|
+
package "foo" do
|
16
|
+
action :install
|
17
|
+
end
|
18
|
+
EOF
|
19
|
+
it { is_expected.not_to violate_rule }
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "FC080" do
|
4
|
+
context "with a cookbook with a recipe that includes a user resource using supports" do
|
5
|
+
recipe_file <<-EOF
|
6
|
+
user 'betty' do
|
7
|
+
action :create
|
8
|
+
supports({
|
9
|
+
manage_home: true,
|
10
|
+
non_unique: true
|
11
|
+
})
|
12
|
+
end
|
13
|
+
EOF
|
14
|
+
it { is_expected.to violate_rule }
|
15
|
+
end
|
16
|
+
|
17
|
+
context "with a cookbook with a recipe that includes a user resource using supports w/o parens" do
|
18
|
+
recipe_file <<-EOF
|
19
|
+
user 'betty' do
|
20
|
+
action :create
|
21
|
+
supports manage_home: true
|
22
|
+
end
|
23
|
+
EOF
|
24
|
+
it { is_expected.to violate_rule }
|
25
|
+
end
|
26
|
+
|
27
|
+
context "with a cookbook with a recipe that includes a user resource not using supports" do
|
28
|
+
recipe_file <<-EOF
|
29
|
+
user username do
|
30
|
+
shell '/bin/false'
|
31
|
+
home deploy_path
|
32
|
+
system true
|
33
|
+
action :create
|
34
|
+
end
|
35
|
+
EOF
|
36
|
+
it { is_expected.not_to violate_rule }
|
37
|
+
end
|
38
|
+
|
39
|
+
context "with a cookbook with a recipe that includes a resource with supports" do
|
40
|
+
recipe_file <<-EOF
|
41
|
+
service 'foo' do
|
42
|
+
action :start
|
43
|
+
supports :restart
|
44
|
+
EOF
|
45
|
+
it { is_expected.not_to violate_rule }
|
46
|
+
end
|
47
|
+
|
48
|
+
context "with a cookbook with a recipe that includes a user resource and other supports uses" do
|
49
|
+
recipe_file <<-EOF
|
50
|
+
user 'foo' do
|
51
|
+
system true
|
52
|
+
action :create
|
53
|
+
end
|
54
|
+
|
55
|
+
def supports(thing)
|
56
|
+
puts thing
|
57
|
+
end
|
58
|
+
|
59
|
+
supports('something')
|
60
|
+
|
61
|
+
service 'foo' do
|
62
|
+
supports restart: true, status: true
|
63
|
+
action [:enable, :start]
|
64
|
+
end
|
65
|
+
EOF
|
66
|
+
it { is_expected.not_to violate_rule }
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "FC081" do
|
4
|
+
context "with a cookbook with a metadata file that depends on partial_search cookbook" do
|
5
|
+
metadata_file <<-META
|
6
|
+
name 'my_cookbook'
|
7
|
+
depends 'partial_search'
|
8
|
+
META
|
9
|
+
it { is_expected.to violate_rule }
|
10
|
+
end
|
11
|
+
|
12
|
+
context "with a cookbook with a metadata file that depends on partial_search cookbook and others" do
|
13
|
+
metadata_file <<-META
|
14
|
+
name 'my_cookbook'
|
15
|
+
depends 'partial_search'
|
16
|
+
depends 'windows'
|
17
|
+
META
|
18
|
+
it { is_expected.to violate_rule }
|
19
|
+
end
|
20
|
+
|
21
|
+
context "with a cookbook with a metadata file that depends on no cookbooks" do
|
22
|
+
metadata_file "name 'my_cookbook'"
|
23
|
+
it { is_expected.not_to violate_rule }
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "FC082" do
|
4
|
+
context "with a cookbook with a recipe that sets an attribute with node.set" do
|
5
|
+
recipe_file "node.set['foo']['bar'] = baz"
|
6
|
+
it { is_expected.to violate_rule }
|
7
|
+
end
|
8
|
+
|
9
|
+
context "with a cookbook with a recipe that sets an attribute with node.set_unless" do
|
10
|
+
recipe_file "node.set_unless['foo']['bar'] = baz"
|
11
|
+
it { is_expected.to violate_rule }
|
12
|
+
end
|
13
|
+
|
14
|
+
context "with a cookbook with a recipe that sets an attribute with node.normal" do
|
15
|
+
recipe_file "node.normal['foo']['bar'] = baz"
|
16
|
+
it { is_expected.to_not violate_rule }
|
17
|
+
end
|
18
|
+
|
19
|
+
context "with a cookbook with a recipe that reads a value using node.set" do
|
20
|
+
recipe_file "foo = node.set['foo']"
|
21
|
+
it { is_expected.to violate_rule }
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "FC083" do
|
4
|
+
context "with a cookbook with a recipe that includes a execute resource specifying path" do
|
5
|
+
recipe_file <<-EOF
|
6
|
+
execute 'food' do
|
7
|
+
path '/some/path'
|
8
|
+
command 'build.sh'
|
9
|
+
end
|
10
|
+
EOF
|
11
|
+
it { is_expected.to violate_rule }
|
12
|
+
end
|
13
|
+
|
14
|
+
context "with a cookbook with a recipe that includes a execute resource not specifying path" do
|
15
|
+
recipe_file <<-EOF
|
16
|
+
execute 'food' do
|
17
|
+
command 'build.sh'
|
18
|
+
end
|
19
|
+
EOF
|
20
|
+
it { is_expected.not_to violate_rule }
|
21
|
+
end
|
22
|
+
|
23
|
+
context "with a cookbook with a recipe that doesn't include an execute resource" do
|
24
|
+
recipe_file <<-EOF
|
25
|
+
directory '/tmp/something' do
|
26
|
+
owner 'root'
|
27
|
+
group 'root'
|
28
|
+
mode '0755'
|
29
|
+
action :create
|
30
|
+
end
|
31
|
+
EOF
|
32
|
+
it { is_expected.not_to violate_rule }
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "FC084" do
|
4
|
+
context "with a cookbook with a recipe that includes Chef::REST" do
|
5
|
+
recipe_file 'Chef::REST::RESTRequest.new(:GET, "http://foo.com", nil).call'
|
6
|
+
it { is_expected.to violate_rule }
|
7
|
+
end
|
8
|
+
|
9
|
+
context "with a cookbook with a library that includes Chef::REST" do
|
10
|
+
recipe_file <<-EOF
|
11
|
+
def response
|
12
|
+
response = Chef::REST::RESTRequest.new(:GET, 'http://foo.com', nil).call
|
13
|
+
end
|
14
|
+
EOF
|
15
|
+
it { is_expected.to violate_rule }
|
16
|
+
end
|
17
|
+
|
18
|
+
context "with a cookbook with a LWRP that includes Chef::REST" do
|
19
|
+
recipe_file <<-EOF
|
20
|
+
action :doit do
|
21
|
+
Chef::REST::RESTRequest.new(:GET, 'http://foo.com', nil).call
|
22
|
+
end
|
23
|
+
EOF
|
24
|
+
it { is_expected.to violate_rule }
|
25
|
+
end
|
26
|
+
|
27
|
+
context "with a cookbook with a recipe that includes Chef::ServerAPI" do
|
28
|
+
recipe_file "server_conn = Chef::ServerAPI.new"
|
29
|
+
it { is_expected.not_to violate_rule }
|
30
|
+
end
|
31
|
+
|
32
|
+
context "with a cookbook with a library that includes Chef::ServerAPI" do
|
33
|
+
recipe_file <<-EOF
|
34
|
+
def server_conn
|
35
|
+
server_conn = Chef::ServerAPI.new
|
36
|
+
end
|
37
|
+
EOF
|
38
|
+
it { is_expected.not_to violate_rule }
|
39
|
+
end
|
40
|
+
|
41
|
+
context "with a cookbook with a LWRP that includes Chef::ServerAPI" do
|
42
|
+
recipe_file <<-EOF
|
43
|
+
action :doit do
|
44
|
+
Chef::ServerAPI.new
|
45
|
+
end
|
46
|
+
EOF
|
47
|
+
it { is_expected.not_to violate_rule }
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "FC085" do
|
4
|
+
context "with a cookbook with a custom resource that converges with updated_by_last_action" do
|
5
|
+
resource_file <<-EOF
|
6
|
+
action :create do
|
7
|
+
template "/etc/something.conf" do
|
8
|
+
notifies :restart, "service[something]"
|
9
|
+
end
|
10
|
+
|
11
|
+
new_resource.updated_by_last_action(true)
|
12
|
+
end
|
13
|
+
EOF
|
14
|
+
it { is_expected.to violate_rule }
|
15
|
+
end
|
16
|
+
|
17
|
+
context "with a cookbook with a LWRP that converges with updated_by_last_action" do
|
18
|
+
resource_file <<-EOF
|
19
|
+
use_inline_resources
|
20
|
+
|
21
|
+
action :create do
|
22
|
+
template "/etc/something.conf" do
|
23
|
+
notifies :restart, "service[something]"
|
24
|
+
end
|
25
|
+
|
26
|
+
new_resource.updated_by_last_action(true)
|
27
|
+
end
|
28
|
+
EOF
|
29
|
+
it { is_expected.to violate_rule }
|
30
|
+
end
|
31
|
+
|
32
|
+
context "with a cookbook with a custom resource that relies on resources for convergence" do
|
33
|
+
resource_file <<-EOF
|
34
|
+
action :create do
|
35
|
+
file "the_file" do
|
36
|
+
template "/etc/something.conf" do
|
37
|
+
notifies :restart, "service[something]"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
EOF
|
41
|
+
it { is_expected.to_not violate_rule }
|
42
|
+
end
|
43
|
+
|
44
|
+
context "with a cookbook with a LWRP that relies on resources for convergence" do
|
45
|
+
resource_file <<-EOF
|
46
|
+
use_inline_resources
|
47
|
+
|
48
|
+
action :create do
|
49
|
+
file "the_file" do
|
50
|
+
template "/etc/something.conf" do
|
51
|
+
notifies :restart, "service[something]"
|
52
|
+
end
|
53
|
+
end
|
54
|
+
EOF
|
55
|
+
it { is_expected.to_not violate_rule }
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
@@ -15,3 +15,6 @@ FC075: Cookbook uses node.save to save partial node data to the chef-server mid-
|
|
15
15
|
FC075: Cookbook uses node.save to save partial node data to the chef-server mid-run: ./providers/ebs_volume.rb:40
|
16
16
|
FC075: Cookbook uses node.save to save partial node data to the chef-server mid-run: ./providers/ebs_volume.rb:60
|
17
17
|
FC078: Ensure cookbook shared under an OSI-approved open source license: ./metadata.rb:1
|
18
|
+
FC082: node.set or node.set_unless used to set node attributes: ./providers/ebs_volume.rb:32
|
19
|
+
FC082: node.set or node.set_unless used to set node attributes: ./providers/ebs_volume.rb:39
|
20
|
+
FC082: node.set or node.set_unless used to set node attributes: ./providers/ebs_volume.rb:59
|
@@ -12,3 +12,5 @@ FC066: Ensure chef_version is set in metadata: ./metadata.rb:1
|
|
12
12
|
FC069: Ensure standardized license defined in metadata: ./metadata.rb:1
|
13
13
|
FC070: Ensure supports metadata defines valid platforms: ./metadata.rb:1
|
14
14
|
FC078: Ensure cookbook shared under an OSI-approved open source license: ./metadata.rb:1
|
15
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/service.rb:59
|
16
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/task.rb:49
|
@@ -35,3 +35,70 @@ FC065: Ensure source_url is set in metadata: ./metadata.rb:1
|
|
35
35
|
FC066: Ensure chef_version is set in metadata: ./metadata.rb:1
|
36
36
|
FC069: Ensure standardized license defined in metadata: ./metadata.rb:1
|
37
37
|
FC078: Ensure cookbook shared under an OSI-approved open source license: ./metadata.rb:1
|
38
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/bootstrap_server.rb:27
|
39
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/bootstrap_server.rb:28
|
40
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/bootstrap_server.rb:29
|
41
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/bootstrap_server.rb:30
|
42
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/bootstrap_server.rb:31
|
43
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/bootstrap_server.rb:32
|
44
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/bootstrap_server.rb:33
|
45
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/bootstrap_server.rb:34
|
46
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/bootstrap_server.rb:35
|
47
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/bootstrap_server.rb:36
|
48
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/bootstrap_server.rb:37
|
49
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/bootstrap_server.rb:38
|
50
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/bootstrap_server.rb:39
|
51
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client.rb:25
|
52
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client.rb:26
|
53
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client.rb:27
|
54
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client.rb:28
|
55
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client.rb:29
|
56
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client.rb:30
|
57
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client.rb:31
|
58
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client.rb:32
|
59
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client.rb:33
|
60
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client.rb:34
|
61
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client.rb:35
|
62
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client_service.rb:24
|
63
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client_service.rb:25
|
64
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client_service.rb:26
|
65
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client_service.rb:27
|
66
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client_service.rb:28
|
67
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client_service.rb:29
|
68
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client_service.rb:30
|
69
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client_service.rb:31
|
70
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client_service.rb:32
|
71
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client_service.rb:33
|
72
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/client_service.rb:34
|
73
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:25
|
74
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:26
|
75
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:27
|
76
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:28
|
77
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:29
|
78
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:30
|
79
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:31
|
80
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:32
|
81
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:33
|
82
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:34
|
83
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:35
|
84
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:36
|
85
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:37
|
86
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:38
|
87
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server.rb:39
|
88
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:23
|
89
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:24
|
90
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:25
|
91
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:26
|
92
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:27
|
93
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:28
|
94
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:29
|
95
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:30
|
96
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:31
|
97
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:32
|
98
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:33
|
99
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:34
|
100
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:35
|
101
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:36
|
102
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:37
|
103
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:38
|
104
|
+
FC082: node.set or node.set_unless used to set node attributes: ./recipes/server_proxy.rb:39
|