cookstyle 8.5.2 → 8.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/config/chefstyle.yml +11 -3
- data/config/cookstyle.yml +159 -151
- data/cookstyle.gemspec +1 -1
- data/lib/cookstyle/version.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/block_guard_clause_string_only.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/chef_application_fatal.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/conditional_ruby_shellout.rb +3 -3
- data/lib/rubocop/cop/chef/correctness/dnf_package_allow_downgrades.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/empty_resource_guard.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/incorrect_library_injection.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/invalid_cookbook_name.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/invalid_default_action.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/invalid_notification_resource.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/invalid_notification_timing.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/invalid_platform_family_helper.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/invalid_platform_family_values_in_case.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/invalid_platform_helper.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/invalid_platform_metadata.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/invalid_platform_values_in_case.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_family_helper.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_helper.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/invalid_version_metadata.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/lazy_eval_node_attribute_defaults.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/lazy_in_resource_guard.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/macos_userdefaults_invalid_type.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/malformed_value_for_platform.rb +3 -3
- data/lib/rubocop/cop/chef/correctness/metadata_malformed_version.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/metadata_missing_name.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/metadata_missing_version.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/node_normal.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/node_normal_unless.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/node_save.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/notifies_action_not_symbol.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/octal_mode_as_string.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/openssl_password_helpers.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/powershell_delete_file.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/powershell_file_exists.rb +4 -4
- data/lib/rubocop/cop/chef/correctness/property_without_type.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/resource_sets_internal_properties.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/resource_sets_name_property.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/resource_with_none_action.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/scoped_file_exist.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/service_resource.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/supports_must_be_float.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/tmp_path.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/cb_depends_on_self.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/chef_handler_recipe.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/chef_handler_supports.rb +4 -4
- data/lib/rubocop/cop/chef/deprecation/chef_rest.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/chef_shellout.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/chef_sugar_helpers.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/chef_windows_platform_helper.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/chefdk_generators.rb +3 -3
- data/lib/rubocop/cop/chef/deprecation/chefspec_coverage_report.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/chefspec_legacy_runner.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/chocolatey_package_uninstall_action.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/depends_chef_nginx_cookbook.rb +4 -4
- data/lib/rubocop/cop/chef/deprecation/depends_chef_reporting_cookbook.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/depends_compat_resource.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/depends_omnibus_updater_cookbook.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/depends_partial_search.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/depends_poise.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_chefspec_platform.rb +3 -3
- data/lib/rubocop/cop/chef/deprecation/deprecated_mixins.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_platform_methods.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/deprecated_shellout_methods.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/deprecated_sudo_actions.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/deprecated_windows_version_check.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_actions.rb +4 -4
- data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/easy_install.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/eol_audit_mode.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/epic_fail.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/erl_call.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/execute_path_property.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/execute_relative_creates_without_cwd.rb +4 -4
- data/lib/rubocop/cop/chef/deprecation/foodcritic_testing.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/hwrp_without_provides.rb +4 -4
- data/lib/rubocop/cop/chef/deprecation/hwrp_without_unified_mode_true.rb +3 -3
- data/lib/rubocop/cop/chef/deprecation/inherits_compat_resource.rb +8 -8
- data/lib/rubocop/cop/chef/deprecation/launchd_deprecated_hash_property.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/legacy_notify_syntax.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/legacy_yum_cookbook_recipes.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/librarian_chefspec.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/locale_lc_all_property.rb +3 -3
- data/lib/rubocop/cop/chef/deprecation/log_resource_notifications.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/macos_userdefaults_global_property.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/name_property_and_default.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/node_deep_fetch.rb +4 -4
- data/lib/rubocop/cop/chef/deprecation/node_methods_not_attributes.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/node_set.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/node_set_unless.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/node_set_without_level.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/partial_search_class_usage.rb +3 -3
- data/lib/rubocop/cop/chef/deprecation/partial_search_helper_usage.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/poise_archive.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/policyfile_community_source.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/powershell_cookbook_helpers.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/require_recipe.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/resource_overrides_provides_method.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/resource_uses_dsl_name_method.rb +4 -4
- data/lib/rubocop/cop/chef/deprecation/resource_uses_only_resource_name.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/resource_uses_provider_base_method.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/resource_uses_updated_method.rb +3 -2
- data/lib/rubocop/cop/chef/deprecation/resource_without_unified_mode_true.rb +3 -3
- data/lib/rubocop/cop/chef/deprecation/ruby_27_keyword_argument_warnings.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/ruby_block_create_action.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/run_command_helper.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/search_uses_positional_parameters.rb +8 -10
- data/lib/rubocop/cop/chef/deprecation/use_automatic_resource_name.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/use_inline_resources.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/use_yaml_dump.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/user_supports_property.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/verify_property_file_expansion.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/windows_feature_servermanagercmd.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/windows_package_installer_type_string.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/windows_task_change_action.rb +4 -4
- data/lib/rubocop/cop/chef/deprecation/windows_version_helpers.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/xml_ruby_recipe.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/yum_dnf_compat_recipe.rb +1 -1
- data/lib/rubocop/cop/chef/effortless/chef_vault_used.rb +6 -6
- data/lib/rubocop/cop/chef/effortless/data_bags.rb +1 -1
- data/lib/rubocop/cop/chef/effortless/depends_chef_vault.rb +1 -1
- data/lib/rubocop/cop/chef/effortless/node_environment.rb +2 -2
- data/lib/rubocop/cop/chef/effortless/node_policygroup.rb +1 -1
- data/lib/rubocop/cop/chef/effortless/node_roles.rb +2 -2
- data/lib/rubocop/cop/chef/effortless/search_for_environments_or_roles.rb +1 -1
- data/lib/rubocop/cop/chef/effortless/search_used.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/action_method_in_resource.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/allowed_actions_initializer.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/apt_default_recipe.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/berksfile_source.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/build_essential.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/chef_14_resources.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/chef_15_resources.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/chef_gem_nokogiri.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/class_eval_action_class.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/compile_time_resources.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/conditional_using_test.rb +3 -3
- data/lib/rubocop/cop/chef/modernize/cron_d_file_or_template.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/cron_manage_resource.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/databag_helpers.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/declare_action_class.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/default_action_initializer.rb +5 -5
- data/lib/rubocop/cop/chef/modernize/defines_chefspec_matchers.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/depends_chef_vault_cookbook.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/depends_chocolatey_cookbooks.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/depends_kernel_module_cookbook.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/depends_locale_cookbook.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/depends_openssl_cookbook.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/depends_timezone_lwrp_cookbook.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/depends_windows_firewall_cookbook.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/depends_zypper_cookbook.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/dsl_include_in_resource.rb +3 -3
- data/lib/rubocop/cop/chef/modernize/empty_resource_initialize.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/execute_apt_update.rb +3 -3
- data/lib/rubocop/cop/chef/modernize/execute_sc_exe.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/execute_sleep.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/execute_sysctl.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/execute_tzutil.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/foodcritic_comments.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/if_provides_default_action.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/includes_mixin_shellout.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/libarchive_file.rb +3 -3
- data/lib/rubocop/cop/chef/modernize/macos_user_defaults.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/minitest_handler_usage.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/node_init_package.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/node_roles_include.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/ohai_default_recipe.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/openssl_rsa_key_resource.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/openssl_x509_resource.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/osx_config_profile_resource.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/powershell_expand_archive.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/powershell_guard_interpreter.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/powershell_install_package.rb +3 -3
- data/lib/rubocop/cop/chef/modernize/powershell_install_windowsfeature.rb +6 -6
- data/lib/rubocop/cop/chef/modernize/property_with_name_attribute.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/provides_initializer.rb +4 -4
- data/lib/rubocop/cop/chef/modernize/resource_name_initializer.rb +3 -3
- data/lib/rubocop/cop/chef/modernize/resource_set_or_return.rb +3 -3
- data/lib/rubocop/cop/chef/modernize/resource_with_attributes.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/respond_to_compile_time.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/respond_to_metadata.rb +3 -3
- data/lib/rubocop/cop/chef/modernize/respond_to_provides.rb +3 -3
- data/lib/rubocop/cop/chef/modernize/respond_to_resource_name.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/sc_windows_resource.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/seven_zip_archive.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/shell_out_helper.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/shellouts_to_chocolatey.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/simplify_apt_ppa_setup.rb +14 -14
- data/lib/rubocop/cop/chef/modernize/sysctl_param_resource.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/unnecessary_mixlib_shellout_require.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/use_chef_language_cloud_helpers.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/use_chef_language_env_helpers.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/use_chef_language_systemd_helper.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/use_multipackage_installs.rb +3 -3
- data/lib/rubocop/cop/chef/modernize/use_require_relative.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/whyrun_supported_true.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/windows_default_recipe.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/windows_registry_uac.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/windows_zipfile.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/zipfile_resource.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/zypper_repo.rb +2 -2
- data/lib/rubocop/cop/chef/redundant/apt_repository_distribution_default.rb +2 -2
- data/lib/rubocop/cop/chef/redundant/apt_repository_notifies_apt_update.rb +2 -2
- data/lib/rubocop/cop/chef/redundant/attribute_metadata.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/conflicts_metadata.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/custom_resource_with_allowed_actions.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/double_compile_time.rb +2 -2
- data/lib/rubocop/cop/chef/redundant/grouping_metadata.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/long_description_metadata.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/multiple_platform_checks.rb +2 -2
- data/lib/rubocop/cop/chef/redundant/name_property_and_required.rb +4 -4
- data/lib/rubocop/cop/chef/redundant/ohai_attribute_to_string.rb +2 -2
- data/lib/rubocop/cop/chef/redundant/property_splat_regex.rb +3 -3
- data/lib/rubocop/cop/chef/redundant/property_with_default_and_required.rb +2 -2
- data/lib/rubocop/cop/chef/redundant/provides_metadata.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/recipe_metadata.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/replaces_metadata.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/resource_with_nothing_action.rb +2 -2
- data/lib/rubocop/cop/chef/redundant/sensitive_property_in_resource.rb +2 -2
- data/lib/rubocop/cop/chef/redundant/string_property_with_nil_default.rb +2 -2
- data/lib/rubocop/cop/chef/redundant/suggests_metadata.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/unnecessary_desired_state.rb +2 -2
- data/lib/rubocop/cop/chef/redundant/unnecessary_name_property.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/use_create_if_missing.rb +2 -2
- data/lib/rubocop/cop/chef/security/ssh_private_key.rb +1 -1
- data/lib/rubocop/cop/chef/sharing/default_maintainer_metadata.rb +4 -3
- data/lib/rubocop/cop/chef/sharing/empty_metadata_field.rb +2 -2
- data/lib/rubocop/cop/chef/sharing/include_property_descriptions.rb +2 -2
- data/lib/rubocop/cop/chef/sharing/include_resource_descriptions.rb +1 -1
- data/lib/rubocop/cop/chef/sharing/include_resource_examples.rb +1 -1
- data/lib/rubocop/cop/chef/sharing/insecure_cookbook_url.rb +4 -4
- data/lib/rubocop/cop/chef/sharing/invalid_license_string.rb +288 -11
- data/lib/rubocop/cop/chef/style/attribute_keys.rb +4 -4
- data/lib/rubocop/cop/chef/style/chef_whaaat.rb +2 -2
- data/lib/rubocop/cop/chef/style/comments_copyright_format.rb +2 -2
- data/lib/rubocop/cop/chef/style/comments_default_copyright.rb +2 -2
- data/lib/rubocop/cop/chef/style/comments_format.rb +2 -2
- data/lib/rubocop/cop/chef/style/file_mode.rb +2 -2
- data/lib/rubocop/cop/chef/style/immediate_notification_timing.rb +2 -2
- data/lib/rubocop/cop/chef/style/include_recipe_with_parentheses.rb +2 -2
- data/lib/rubocop/cop/chef/style/negating_only_if.rb +2 -2
- data/lib/rubocop/cop/chef/style/overly_complex_supports_depends_metadata.rb +2 -2
- data/lib/rubocop/cop/chef/style/simplify_platform_major_version_check.rb +4 -4
- data/lib/rubocop/cop/chef/style/true_false_resource_properties.rb +2 -2
- data/lib/rubocop/cop/chef/style/unnecessary_os_check.rb +5 -5
- data/lib/rubocop/cop/chef/style/unnecessary_platform_case_statement.rb +2 -2
- data/lib/rubocop/cop/chef/style/use_platform_helpers.rb +3 -3
- data/lib/rubocop/cop/inspec/deprecation/attribute_default.rb +2 -2
- data/lib/rubocop/cop/inspec/deprecation/attribute_helper.rb +2 -2
- metadata +6 -10
data/cookstyle.gemspec
CHANGED
|
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
|
|
|
7
7
|
spec.name = 'cookstyle'
|
|
8
8
|
spec.version = Cookstyle::VERSION
|
|
9
9
|
spec.authors = ['Thom May', 'Tim Smith']
|
|
10
|
-
spec.email = ['thom@chef.io', 'tsmith84@
|
|
10
|
+
spec.email = ['thom@chef.io', 'tsmith84@proton.me']
|
|
11
11
|
spec.summary = 'Cookstyle is a code linting tool that helps you to write better Chef Infra cookbooks by detecting and automatically correcting style, syntax, and logic mistakes in your code.'
|
|
12
12
|
spec.license = 'Apache-2.0'
|
|
13
13
|
spec.homepage = 'https://docs.chef.io/workstation/cookstyle/'
|
data/lib/cookstyle/version.rb
CHANGED
|
@@ -23,14 +23,14 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# template '/etc/foo' do
|
|
28
28
|
# mode '0644'
|
|
29
29
|
# source 'foo.erb'
|
|
30
30
|
# only_if { 'test -f /etc/foo' }
|
|
31
31
|
# end
|
|
32
32
|
#
|
|
33
|
-
#
|
|
33
|
+
# # good
|
|
34
34
|
# template '/etc/foo' do
|
|
35
35
|
# mode '0644'
|
|
36
36
|
# source 'foo.erb'
|
|
@@ -23,10 +23,10 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# Chef::Application.fatal!('Something horrible happened!')
|
|
28
28
|
#
|
|
29
|
-
#
|
|
29
|
+
# # good
|
|
30
30
|
# raise "Something horrible happened!"
|
|
31
31
|
#
|
|
32
32
|
class ChefApplicationFatal < Base
|
|
@@ -19,11 +19,11 @@ module RuboCop
|
|
|
19
19
|
module Cop
|
|
20
20
|
module Chef
|
|
21
21
|
module Correctness
|
|
22
|
-
# Don't use Ruby to shellout in
|
|
22
|
+
# Don't use Ruby to shellout in an `only_if` / `not_if` conditional. Any string value used in an `only_if` / `not_if` is executed in your system's shell and the return code of the command is the result for the `not_if` / `only_if` determination.
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# cookbook_file '/logs/foo/error.log' do
|
|
28
28
|
# source 'error.log'
|
|
29
29
|
# only_if { system('wget https://www.bar.com/foobar.txt -O /dev/null') }
|
|
@@ -34,7 +34,7 @@ module RuboCop
|
|
|
34
34
|
# only_if { shell_out('wget https://www.bar.com/foobar.txt -O /dev/null').exitstatus == 0 }
|
|
35
35
|
# end
|
|
36
36
|
#
|
|
37
|
-
#
|
|
37
|
+
# # good
|
|
38
38
|
# cookbook_file '/logs/foo/error.log' do
|
|
39
39
|
# source 'error.log'
|
|
40
40
|
# only_if 'wget https://www.bar.com/foobar.txt -O /dev/null'
|
|
@@ -23,13 +23,13 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# dnf_package 'nginx' do
|
|
28
28
|
# version '1.2.3'
|
|
29
29
|
# allow_downgrades true
|
|
30
30
|
# end
|
|
31
31
|
#
|
|
32
|
-
#
|
|
32
|
+
# # good
|
|
33
33
|
# dnf_package 'nginx' do
|
|
34
34
|
# version '1.2.3'
|
|
35
35
|
# end
|
|
@@ -31,7 +31,7 @@ module RuboCop
|
|
|
31
31
|
#
|
|
32
32
|
# @example
|
|
33
33
|
#
|
|
34
|
-
#
|
|
34
|
+
# # bad
|
|
35
35
|
# template '/etc/foo' do
|
|
36
36
|
# mode '0644'
|
|
37
37
|
# source 'foo.erb'
|
|
@@ -48,7 +48,7 @@ module RuboCop
|
|
|
48
48
|
# only_if { '' } # Block form also problematic
|
|
49
49
|
# end
|
|
50
50
|
#
|
|
51
|
-
#
|
|
51
|
+
# # good
|
|
52
52
|
# template '/etc/foo' do
|
|
53
53
|
# mode '0644'
|
|
54
54
|
# source 'foo.erb'
|
|
@@ -23,13 +23,13 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# ::Chef::Recipe.send(:include, Filebeat::Helpers)
|
|
28
28
|
# ::Chef::Provider.send(:include, Filebeat::Helpers)
|
|
29
29
|
# ::Chef::Recipe.include Filebeat::Helpers
|
|
30
30
|
# ::Chef::Provider.include Filebeat::Helpers
|
|
31
31
|
#
|
|
32
|
-
#
|
|
32
|
+
# # good
|
|
33
33
|
# ::Chef::DSL::Recipe.send(:include, Filebeat::Helpers) # covers previous Recipe & Provider classes
|
|
34
34
|
#
|
|
35
35
|
class IncorrectLibraryInjection < Base
|
|
@@ -23,7 +23,7 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
#
|
|
28
28
|
# template '/etc/www/configures-apache.conf' do
|
|
29
29
|
# notifies :restart, service['apache'], :immediately
|
|
@@ -33,7 +33,7 @@ module RuboCop
|
|
|
33
33
|
# notifies :restart, service[apache], :immediately
|
|
34
34
|
# end
|
|
35
35
|
#
|
|
36
|
-
#
|
|
36
|
+
# # good
|
|
37
37
|
#
|
|
38
38
|
# template '/etc/www/configures-apache.conf' do
|
|
39
39
|
# notifies :restart, 'service[apache]', :immediately
|
|
@@ -23,13 +23,13 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
#
|
|
28
28
|
# template '/etc/www/configures-apache.conf' do
|
|
29
29
|
# notifies :restart, 'service[apache]', :nope
|
|
30
30
|
# end
|
|
31
31
|
#
|
|
32
|
-
#
|
|
32
|
+
# # good
|
|
33
33
|
#
|
|
34
34
|
# template '/etc/www/configures-apache.conf' do
|
|
35
35
|
# notifies :restart, 'service[apache]', :immediately
|
|
@@ -23,12 +23,12 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# platform?('darwin')
|
|
28
28
|
# platform?('rhel')
|
|
29
29
|
# platform?('sles')
|
|
30
30
|
#
|
|
31
|
-
#
|
|
31
|
+
# # good
|
|
32
32
|
# platform?('mac_os_x')
|
|
33
33
|
# platform?('redhat')
|
|
34
34
|
# platform?('suse')
|
|
@@ -23,7 +23,7 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# case node['platform']
|
|
28
28
|
# when 'rhel'
|
|
29
29
|
# puts "I'm on a Red Hat system!"
|
|
@@ -47,7 +47,7 @@ module RuboCop
|
|
|
47
47
|
when_node.each_condition do |con|
|
|
48
48
|
next unless con.str_type? # if the condition isn't a string we can't check so skip
|
|
49
49
|
new_value = INVALID_PLATFORMS[con.str_content]
|
|
50
|
-
# some invalid
|
|
50
|
+
# some invalid platforms have no direct correction value and return nil instead
|
|
51
51
|
next unless new_value
|
|
52
52
|
|
|
53
53
|
add_offense(con, severity: :refactor) do |corrector|
|
|
@@ -23,13 +23,13 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# value_for_platform_family(
|
|
28
28
|
# %w(rhel sles) => 'foo',
|
|
29
29
|
# %w(mac) => 'foo'
|
|
30
30
|
# )
|
|
31
31
|
#
|
|
32
|
-
#
|
|
32
|
+
# # good
|
|
33
33
|
# value_for_platform_family(
|
|
34
34
|
# %w(rhel suse) => 'foo',
|
|
35
35
|
# %w(mac_os_x) => 'foo'
|
|
@@ -23,12 +23,12 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# value_for_platform(
|
|
28
28
|
# %w(rhel mac_os_x_server) => { 'default' => 'foo' },
|
|
29
29
|
# %w(sles) => { 'default' => 'bar' }
|
|
30
30
|
# )
|
|
31
|
-
#
|
|
31
|
+
# # good
|
|
32
32
|
# value_for_platform(
|
|
33
33
|
# %w(redhat mac_os_x) => { 'default' => 'foo' },
|
|
34
34
|
# %w(opensuseleap) => { 'default' => 'bar' }
|
|
@@ -23,10 +23,10 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# property :Something, String, default: node['hostname']
|
|
28
28
|
#
|
|
29
|
-
#
|
|
29
|
+
# # good
|
|
30
30
|
# property :Something, String, default: lazy { node['hostname'] }
|
|
31
31
|
#
|
|
32
32
|
class LazyEvalNodeAttributeDefaults < Base
|
|
@@ -23,14 +23,14 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# template '/etc/foo' do
|
|
28
28
|
# mode '0644'
|
|
29
29
|
# source 'foo.erb'
|
|
30
30
|
# only_if { lazy { ::File.exist?('/etc/foo')} }
|
|
31
31
|
# end
|
|
32
32
|
#
|
|
33
|
-
#
|
|
33
|
+
# # good
|
|
34
34
|
# template '/etc/foo' do
|
|
35
35
|
# mode '0644'
|
|
36
36
|
# source 'foo.erb'
|
|
@@ -23,14 +23,14 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# macos_userdefaults 'set a value' do
|
|
28
28
|
# global true
|
|
29
29
|
# key 'key'
|
|
30
30
|
# type 'boolean'
|
|
31
31
|
# end
|
|
32
32
|
#
|
|
33
|
-
#
|
|
33
|
+
# # good
|
|
34
34
|
# macos_userdefaults 'set a value' do
|
|
35
35
|
# global true
|
|
36
36
|
# key 'key'
|
|
@@ -23,17 +23,17 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# value_for_platform(
|
|
28
28
|
# %w(redhat oracle) => 'baz'
|
|
29
29
|
# )
|
|
30
30
|
#
|
|
31
|
-
#
|
|
31
|
+
# # good
|
|
32
32
|
# value_for_platform(
|
|
33
33
|
# %w(redhat oracle) => {
|
|
34
34
|
# '5' => 'foo',
|
|
35
35
|
# '6' => 'bar',
|
|
36
|
-
# 'default'
|
|
36
|
+
# 'default' => 'baz',
|
|
37
37
|
# }
|
|
38
38
|
# )
|
|
39
39
|
#
|
|
@@ -23,11 +23,11 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# depends 'some_awesome_cookbook' '= 4.5.5'
|
|
28
28
|
# depends 'some_other_cool_cookbook' '< 8.0'
|
|
29
29
|
#
|
|
30
|
-
#
|
|
30
|
+
# # good
|
|
31
31
|
# depends 'some_awesome_cookbook', '= 4.5.5'
|
|
32
32
|
# depends 'some_other_cool_cookbook', '< 8.0'
|
|
33
33
|
#
|
|
@@ -23,7 +23,7 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # good
|
|
27
27
|
# name 'foo'
|
|
28
28
|
#
|
|
29
29
|
class MetadataMissingName < Base
|
|
@@ -35,7 +35,7 @@ module RuboCop
|
|
|
35
35
|
def_node_search :cb_name?, '(send nil? :name str ...)'
|
|
36
36
|
|
|
37
37
|
def on_new_investigation
|
|
38
|
-
# handle an empty
|
|
38
|
+
# handle an empty metadata.rb file
|
|
39
39
|
return if processed_source.ast.nil?
|
|
40
40
|
|
|
41
41
|
# Using range similar to RuboCop::Cop::Naming::Filename (file_name.rb)
|
|
@@ -23,7 +23,7 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # good
|
|
27
27
|
# name 'foo'
|
|
28
28
|
# version '1.0.0'
|
|
29
29
|
#
|
|
@@ -36,7 +36,7 @@ module RuboCop
|
|
|
36
36
|
def_node_search :cb_version?, '(send nil? :version str ...)'
|
|
37
37
|
|
|
38
38
|
def on_new_investigation
|
|
39
|
-
# handle an empty
|
|
39
|
+
# handle an empty metadata.rb file
|
|
40
40
|
return if processed_source.ast.nil?
|
|
41
41
|
|
|
42
42
|
# Using range similar to RuboCop::Cop::Naming::Filename (file_name.rb)
|
|
@@ -24,10 +24,10 @@ module RuboCop
|
|
|
24
24
|
#
|
|
25
25
|
# @example
|
|
26
26
|
#
|
|
27
|
-
#
|
|
27
|
+
# # bad
|
|
28
28
|
# node.normal_unless['foo'] = true
|
|
29
29
|
#
|
|
30
|
-
#
|
|
30
|
+
# # good
|
|
31
31
|
# node.default_unless['foo'] = true
|
|
32
32
|
# node.override_unless['foo'] = true
|
|
33
33
|
# node.force_default_unless['foo'] = true
|
|
@@ -19,11 +19,11 @@ module RuboCop
|
|
|
19
19
|
module Cop
|
|
20
20
|
module Chef
|
|
21
21
|
module Correctness
|
|
22
|
-
# Don't use node.save to save partial node data to the Chef Infra Server mid-run unless it's a requirement of cookbook design that can't be avoided. Node.save can result in failed Chef Infra runs appearing in search and increases load on the Chef Infra Server.
|
|
22
|
+
# Don't use node.save to save partial node data to the Chef Infra Server mid-run unless it's a requirement of cookbook design that can't be avoided. Node.save can result in failed Chef Infra runs appearing in search and increases load on the Chef Infra Server.
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# node.save
|
|
28
28
|
#
|
|
29
29
|
class CookbookUsesNodeSave < Base
|
|
@@ -23,7 +23,7 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# execute 'some command' do
|
|
28
28
|
# notifies 'restart', 'service[httpd]', 'delayed'
|
|
29
29
|
# end
|
|
@@ -32,7 +32,7 @@ module RuboCop
|
|
|
32
32
|
# subscribes 'restart', 'service[httpd]', 'delayed'
|
|
33
33
|
# end
|
|
34
34
|
#
|
|
35
|
-
#
|
|
35
|
+
# # good
|
|
36
36
|
# execute 'some command' do
|
|
37
37
|
# notifies :restart, 'service[httpd]', 'delayed'
|
|
38
38
|
# end
|
|
@@ -19,9 +19,9 @@ module RuboCop
|
|
|
19
19
|
module Cop
|
|
20
20
|
module Chef
|
|
21
21
|
module Correctness
|
|
22
|
-
# The OpenSSL cookbook provides a deprecated `secure_password` helper in the `Opscode::OpenSSL::Password` class, which should no longer be used. This helper would generate a random password that would be used when a data bag or attribute was
|
|
22
|
+
# The OpenSSL cookbook provides a deprecated `secure_password` helper in the `Opscode::OpenSSL::Password` class, which should no longer be used. This helper would generate a random password that would be used when a data bag or attribute was not present. The practice of generating passwords to be stored on the node is bad security as it exposes the password to anyone that can view the nodes, and deleting a node deletes the password. Passwords should be retrieved from a secure source for use in cookbooks.
|
|
23
23
|
#
|
|
24
|
-
#
|
|
24
|
+
# # bad
|
|
25
25
|
# ::Chef::Recipe.send(:include, Opscode::OpenSSL::Password)
|
|
26
26
|
# basic_auth_password = secure_password
|
|
27
27
|
#
|
|
@@ -23,11 +23,11 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
27
|
-
#
|
|
26
|
+
# # bad
|
|
27
|
+
# powershell_out('Test-Path "C:\\Program Files\\LAPS\\CSE\\AdmPwd.dll"').stdout.strip == 'True'
|
|
28
28
|
#
|
|
29
|
-
#
|
|
30
|
-
#
|
|
29
|
+
# # good
|
|
30
|
+
# ::File.exist?('C:\Program Files\LAPS\CSE\AdmPwd.dll')
|
|
31
31
|
#
|
|
32
32
|
class PowershellFileExists < Base
|
|
33
33
|
RESTRICT_ON_SEND = [:powershell_out, :powershell_out!].freeze
|
|
@@ -23,11 +23,11 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# property :size, regex: /^\d+[KMGTP]$/
|
|
28
28
|
# attribute :size, regex: /^\d+[KMGTP]$/
|
|
29
29
|
#
|
|
30
|
-
#
|
|
30
|
+
# # good
|
|
31
31
|
# property :size, String, regex: /^\d+[KMGTP]$/
|
|
32
32
|
# attribute :size, kind_of: String, regex: /^\d+[KMGTP]$/
|
|
33
33
|
#
|
|
@@ -23,13 +23,13 @@ module RuboCop
|
|
|
23
23
|
#
|
|
24
24
|
# @example
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# # bad
|
|
27
27
|
# service 'foo' do
|
|
28
28
|
# running true
|
|
29
29
|
# action [:start, :enable]
|
|
30
30
|
# end
|
|
31
31
|
#
|
|
32
|
-
#
|
|
32
|
+
# # good
|
|
33
33
|
# service 'foo' do
|
|
34
34
|
# action [:start, :enable]
|
|
35
35
|
# end
|