cookstyle 7.26.1 → 7.30.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/cookstyle.yml +36 -0
- data/config/upstream.yml +3 -0
- data/lib/cookstyle/version.rb +2 -2
- data/lib/rubocop/chef/cookbook_helpers.rb +2 -0
- data/lib/rubocop/cop/chef/correctness/block_guard_clause_string_only.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/chef_application_fatal.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/conditional_ruby_shellout.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/dnf_package_allow_downgrades.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/incorrect_library_injection.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/invalid_cookbook_name.rb +47 -0
- data/lib/rubocop/cop/chef/correctness/invalid_default_action.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/invalid_notification_resource.rb +59 -0
- data/lib/rubocop/cop/chef/correctness/invalid_notification_timing.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/invalid_platform_family_helper.rb +1 -1
- 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 +1 -1
- data/lib/rubocop/cop/chef/correctness/invalid_platform_metadata.rb +2 -2
- data/lib/rubocop/cop/chef/correctness/invalid_platform_values_in_case.rb +1 -1
- 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 +1 -1
- data/lib/rubocop/cop/chef/correctness/lazy_eval_node_attribute_defaults.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/lazy_in_resource_guard.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/macos_userdefaults_invalid_type.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/metadata_malformed_version.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/metadata_missing_name.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/metadata_missing_version.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/node_normal.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/node_normal_unless.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/node_save.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/notifies_action_not_symbol.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/octal_mode_as_string.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/openssl_password_helpers.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/powershell_delete_file.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/powershell_file_exists.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/property_without_type.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/resource_sets_internal_properties.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/resource_sets_name_property.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/resource_with_none_action.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/scoped_file_exist.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/service_resource.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/supports_must_be_float.rb +1 -1
- data/lib/rubocop/cop/chef/correctness/tmp_path.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/cb_depends_on_self.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/chef_handler_recipe.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/chef_handler_supports.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/chef_rest.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/chef_rewind.rb +4 -4
- data/lib/rubocop/cop/chef/deprecation/chef_shellout.rb +3 -3
- data/lib/rubocop/cop/chef/deprecation/chef_sugar_helpers.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/chef_windows_platform_helper.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/chefdk_generators.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/cheffile.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/chefspec_coverage_report.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/chefspec_legacy_runner.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/chocolatey_package_uninstall_action.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/depends_chef_nginx_cookbook.rb +1 -1
- 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 +1 -1
- data/lib/rubocop/cop/chef/deprecation/depends_partial_search.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/depends_poise.rb +3 -2
- data/lib/rubocop/cop/chef/deprecation/deprecated_chefspec_platform.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_mixins.rb +3 -3
- data/lib/rubocop/cop/chef/deprecation/deprecated_platform_methods.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_shellout_methods.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_sudo_actions.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_windows_version_check.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_actions.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb +1 -1
- 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 +1 -1
- data/lib/rubocop/cop/chef/deprecation/erl_call.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/execute_path_property.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/execute_relative_creates_without_cwd.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/foodcritic_testing.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/hwrp_without_provides.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/hwrp_without_unified_mode_true.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/inherits_compat_resource.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/launchd_deprecated_hash_property.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/legacy_notify_syntax.rb +1 -1
- 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 +1 -1
- data/lib/rubocop/cop/chef/deprecation/log_resource_notifications.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/macos_userdefaults_global_property.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/name_property_and_default.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/node_methods_not_attributes.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/node_set.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/node_set_unless.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/node_set_without_level.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/partial_search_class_usage.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/partial_search_helper_usage.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/poise_archive.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/policyfile_community_source.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/powershell_cookbook_helpers.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/require_recipe.rb +1 -1
- 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 +1 -1
- 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 +1 -1
- data/lib/rubocop/cop/chef/deprecation/resource_without_unified_mode_true.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/ruby_27_keyword_argument_warnings.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/ruby_block_create_action.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/run_command_helper.rb +3 -3
- data/lib/rubocop/cop/chef/deprecation/search_uses_positional_parameters.rb +1 -1
- 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 +1 -1
- data/lib/rubocop/cop/chef/deprecation/user_supports_property.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/verify_property_file_expansion.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/windows_feature_servermanagercmd.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/windows_package_installer_type_string.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/windows_task_change_action.rb +1 -1
- data/lib/rubocop/cop/chef/deprecation/windows_version_helpers.rb +1 -1
- 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/berksfile.rb +1 -1
- data/lib/rubocop/cop/chef/effortless/chef_vault_used.rb +2 -2
- 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 +2 -2
- 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 +1 -1
- data/lib/rubocop/cop/chef/modernize/allowed_actions_initializer.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/apt_default_recipe.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/berksfile_source.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/build_essential.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/chef_14_resources.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/chef_15_resources.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/chef_gem_nokogiri.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/class_eval_action_class.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/compile_time_resources.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/conditional_using_test.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/cron_d_file_or_template.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/cron_manage_resource.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/databag_helpers.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/declare_action_class.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/default_action_initializer.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/defines_chefspec_matchers.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/definitions.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 +1 -1
- 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 +3 -3
- data/lib/rubocop/cop/chef/modernize/execute_sysctl.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/execute_tzutil.rb +3 -3
- data/lib/rubocop/cop/chef/modernize/foodcritic_comments.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/if_provides_default_action.rb +1 -1
- 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 +1 -1
- 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 +1 -1
- data/lib/rubocop/cop/chef/modernize/ohai_default_recipe.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/openssl_rsa_key_resource.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/openssl_x509_resource.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/osx_config_profile_resource.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/powershell_expand_archive.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/powershell_guard_interpreter.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/powershell_install_package.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/powershell_install_windowsfeature.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/property_with_name_attribute.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/provides_initializer.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/resource_name_initializer.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/resource_set_or_return.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/resource_with_attributes.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/respond_to_compile_time.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/respond_to_metadata.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/respond_to_provides.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/respond_to_resource_name.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/sc_windows_resource.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/seven_zip_archive.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/shell_out_helper.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/shellouts_to_chocolatey.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/simplify_apt_ppa_setup.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/sysctl_param_resource.rb +1 -1
- 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 +1 -1
- data/lib/rubocop/cop/chef/modernize/use_chef_language_env_helpers.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/use_chef_language_systemd_helper.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/use_multipackage_installs.rb +2 -2
- data/lib/rubocop/cop/chef/modernize/use_require_relative.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/whyrun_supported_true.rb +1 -1
- data/lib/rubocop/cop/chef/modernize/windows_default_recipe.rb +1 -1
- 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 +2 -2
- data/lib/rubocop/cop/chef/modernize/zypper_repo.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/apt_repository_distribution_default.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/apt_repository_notifies_apt_update.rb +1 -1
- 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 +1 -1
- 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 +1 -1
- data/lib/rubocop/cop/chef/redundant/name_property_and_required.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/ohai_attribute_to_string.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/property_splat_regex.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/property_with_default_and_required.rb +1 -1
- 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 +1 -1
- data/lib/rubocop/cop/chef/redundant/sensitive_property_in_resource.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/string_property_with_nil_default.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/suggests_metadata.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/unnecessary_desired_state.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/unnecessary_name_property.rb +1 -1
- data/lib/rubocop/cop/chef/redundant/use_create_if_missing.rb +54 -14
- data/lib/rubocop/cop/chef/security/ssh_private_key.rb +49 -0
- data/lib/rubocop/cop/chef/sharing/default_maintainer_metadata.rb +1 -1
- data/lib/rubocop/cop/chef/sharing/empty_metadata_field.rb +1 -1
- data/lib/rubocop/cop/chef/sharing/include_property_descriptions.rb +1 -1
- 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 +1 -1
- data/lib/rubocop/cop/chef/sharing/invalid_license_string.rb +1 -1
- data/lib/rubocop/cop/chef/style/attribute_keys.rb +5 -5
- data/lib/rubocop/cop/chef/style/chef_whaaat.rb +1 -1
- data/lib/rubocop/cop/chef/style/comment_sentence_spacing.rb +1 -1
- data/lib/rubocop/cop/chef/style/comments_copyright_format.rb +1 -1
- data/lib/rubocop/cop/chef/style/comments_default_copyright.rb +1 -1
- data/lib/rubocop/cop/chef/style/comments_format.rb +1 -1
- data/lib/rubocop/cop/chef/style/file_mode.rb +1 -1
- data/lib/rubocop/cop/chef/style/immediate_notification_timing.rb +1 -1
- data/lib/rubocop/cop/chef/style/include_recipe_with_parentheses.rb +1 -1
- data/lib/rubocop/cop/chef/style/negating_only_if.rb +1 -1
- data/lib/rubocop/cop/chef/style/overly_complex_supports_depends_metadata.rb +1 -1
- data/lib/rubocop/cop/chef/style/simplify_platform_major_version_check.rb +1 -1
- data/lib/rubocop/cop/chef/style/true_false_resource_properties.rb +1 -1
- data/lib/rubocop/cop/chef/style/unnecessary_os_check.rb +3 -3
- data/lib/rubocop/cop/chef/style/unnecessary_platform_case_statement.rb +1 -1
- data/lib/rubocop/cop/chef/style/use_platform_helpers.rb +3 -3
- data/lib/rubocop/cop/inspec/deprecation/attribute_default.rb +1 -1
- data/lib/rubocop/cop/inspec/deprecation/attribute_helper.rb +1 -1
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 94be7df501ab0a3a055ee36aab695764830d816e3db7005a7b18231d3a703505
|
4
|
+
data.tar.gz: 3cf466a2d3fec655c473df01a769bb9e577359ed04ea3569f6cc6fb0f5c59ea0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 339ccca52365ef809d5976ceadcea5ead13bcef57b294725a26d0f6e5ddfb306f1e003c72d1fd99448640018f0da00d4188ea48adfda39593b2cc02cc541d95e
|
7
|
+
data.tar.gz: d02e13fed47f62938a3e3f3dd07c86c8873294bd9fbb96395534f33419b62084a2814581717c8540db139668a67657e009bb3060432a553b111e99c1d0830bc5
|
data/config/cookstyle.yml
CHANGED
@@ -506,6 +506,24 @@ Chef/Correctness/MetadataMissingVersion:
|
|
506
506
|
Include:
|
507
507
|
- '**/metadata.rb'
|
508
508
|
|
509
|
+
Chef/Correctness/InvalidCookbookName:
|
510
|
+
Description: Cookbook names should not contain invalid characters such as periods.
|
511
|
+
StyleGuide: 'chef_correctness_invalidcookbookname'
|
512
|
+
Enabled: true
|
513
|
+
VersionAdded: '7.27'
|
514
|
+
Include:
|
515
|
+
- '**/metadata.rb'
|
516
|
+
|
517
|
+
Chef/Correctness/InvalidNotificationResource:
|
518
|
+
Description: The resource to notify when calling `notifies` or `subscribes` must be a string.
|
519
|
+
StyleGuide: 'chef_correctness_invalidnotificationresource'
|
520
|
+
Enabled: true
|
521
|
+
VersionAdded: '7.28'
|
522
|
+
Exclude:
|
523
|
+
- '**/attributes/*.rb'
|
524
|
+
- '**/metadata.rb'
|
525
|
+
- '**/Berksfile'
|
526
|
+
|
509
527
|
###############################
|
510
528
|
# Chef/Sharing: Issues that prevent sharing code with other teams or with the Chef community in general
|
511
529
|
###############################
|
@@ -2281,6 +2299,24 @@ InSpec/Deprecations/AttributeDefault:
|
|
2281
2299
|
Include:
|
2282
2300
|
- '**/controls/*.rb'
|
2283
2301
|
|
2302
|
+
#### Security Cops
|
2303
|
+
|
2304
|
+
Chef/Security:
|
2305
|
+
StyleGuideBaseURL: https://docs.chef.io/workstation/cookstyle/
|
2306
|
+
|
2307
|
+
Chef/Security/ :
|
2308
|
+
Description: Do not include plain text SSH private keys in your cookbook code. This sensitive data should be fetched from secrets management systems so that secrets are not uploaded in plain text to the Chef Infra Server or committed to source control systems.
|
2309
|
+
StyleGuide: 'chef_security_sshprivatekey'
|
2310
|
+
Enabled: true
|
2311
|
+
VersionAdded: '7.28'
|
2312
|
+
Include:
|
2313
|
+
- '**/libraries/*.rb'
|
2314
|
+
- '**/resources/*.rb'
|
2315
|
+
- '**/providers/*.rb'
|
2316
|
+
- '**/recipes/*.rb'
|
2317
|
+
- '**/attributes/*.rb'
|
2318
|
+
- '**/definitions/*.rb'
|
2319
|
+
|
2284
2320
|
#### The base rubocop 0.37 enabled.yml file we started with ####
|
2285
2321
|
|
2286
2322
|
Layout/AccessModifierIndentation:
|
data/config/upstream.yml
CHANGED
@@ -2496,6 +2496,7 @@ Naming/BlockForwarding:
|
|
2496
2496
|
SupportedStyles:
|
2497
2497
|
- anonymous
|
2498
2498
|
- explicit
|
2499
|
+
BlockForwardingName: block
|
2499
2500
|
|
2500
2501
|
Naming/BlockParameterName:
|
2501
2502
|
Description: >-
|
@@ -3698,6 +3699,8 @@ Style/HashSyntax:
|
|
3698
3699
|
- always
|
3699
3700
|
# forces use of explicit hash literal value.
|
3700
3701
|
- never
|
3702
|
+
# accepts both shorthand and explicit use of hash literal value.
|
3703
|
+
- either
|
3701
3704
|
# Force hashes that have a symbol value to use hash rockets
|
3702
3705
|
UseHashRocketsWithSymbolValues: false
|
3703
3706
|
# Do not suggest { a?: 1 } over { :a? => 1 } in ruby19 style
|
data/lib/cookstyle/version.rb
CHANGED
@@ -111,6 +111,8 @@ module RuboCop
|
|
111
111
|
case node.type
|
112
112
|
when :send
|
113
113
|
yield(node) if node.receiver.nil? # if it's not nil then we're not in a property foo we're in bar.foo
|
114
|
+
when :block # ie: not_if { ruby_foo }
|
115
|
+
yield(node)
|
114
116
|
when :while
|
115
117
|
extract_send_types(node.body) { |t| yield(t) }
|
116
118
|
when :if
|
@@ -48,7 +48,7 @@ module RuboCop
|
|
48
48
|
|
49
49
|
def on_block(node)
|
50
50
|
block_guard_with_only_string?(node) do
|
51
|
-
add_offense(node,
|
51
|
+
add_offense(node, severity: :refactor) do |corrector|
|
52
52
|
new_val = "#{node.method_name} #{node.body.source}"
|
53
53
|
corrector.replace(node, new_val)
|
54
54
|
end
|
@@ -44,7 +44,7 @@ module RuboCop
|
|
44
44
|
|
45
45
|
def on_send(node)
|
46
46
|
application_fatal?(node) do |val|
|
47
|
-
add_offense(node,
|
47
|
+
add_offense(node, severity: :refactor) do |corrector|
|
48
48
|
corrector.replace(node, "raise(#{val.source})")
|
49
49
|
end
|
50
50
|
end
|
@@ -57,7 +57,7 @@ module RuboCop
|
|
57
57
|
|
58
58
|
def on_block(node)
|
59
59
|
conditional_shellout?(node) do |type, val|
|
60
|
-
add_offense(node,
|
60
|
+
add_offense(node, severity: :refactor) do |corrector|
|
61
61
|
corrector.replace(node, "#{type} #{val.source}")
|
62
62
|
end
|
63
63
|
end
|
@@ -43,7 +43,7 @@ module RuboCop
|
|
43
43
|
|
44
44
|
def on_block(node)
|
45
45
|
match_property_in_resource?(:dnf_package, :allow_downgrades, node) do |prop|
|
46
|
-
add_offense(prop,
|
46
|
+
add_offense(prop, severity: :refactor) do |corrector|
|
47
47
|
corrector.remove(range_with_surrounding_space(range: prop.loc.expression, side: :left))
|
48
48
|
end
|
49
49
|
end
|
@@ -60,7 +60,7 @@ module RuboCop
|
|
60
60
|
|
61
61
|
def on_send(node)
|
62
62
|
legacy_injection?(node) do
|
63
|
-
add_offense(node,
|
63
|
+
add_offense(node, severity: :refactor) do |corrector|
|
64
64
|
if node.parent && correct_injection?(node.parent)
|
65
65
|
corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
|
66
66
|
else
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
#
|
3
|
+
# Copyright:: 2022, Chef Software Inc.
|
4
|
+
# Author:: Tim Smith (<tsmith@chef.io>)
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
module RuboCop
|
19
|
+
module Cop
|
20
|
+
module Chef
|
21
|
+
module Correctness
|
22
|
+
# Cookbook names should not contain invalid characters such as periods.
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
#
|
26
|
+
# #### incorrect
|
27
|
+
# name 'foo.bar'
|
28
|
+
#
|
29
|
+
# #### correct
|
30
|
+
# name 'foo_bar'
|
31
|
+
#
|
32
|
+
class InvalidCookbookName < Base
|
33
|
+
RESTRICT_ON_SEND = [:name].freeze
|
34
|
+
MSG = 'Cookbook names should not contain invalid characters such as periods.'
|
35
|
+
|
36
|
+
def_node_matcher :has_name?, '(send nil? :name $str)'
|
37
|
+
|
38
|
+
def on_send(node)
|
39
|
+
has_name?(node) do |val|
|
40
|
+
add_offense(node, severity: :refactor) if val.value.include?('.')
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
#
|
3
|
+
# Copyright:: 2022, Chef Software, Inc.
|
4
|
+
# Author:: Tim Smith (<tsmith@chef.io>)
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
module RuboCop
|
19
|
+
module Cop
|
20
|
+
module Chef
|
21
|
+
module Correctness
|
22
|
+
# The resource to notify when calling `notifies` or `subscribes` must be a string.
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
#
|
26
|
+
# #### incorrect
|
27
|
+
#
|
28
|
+
# template '/etc/www/configures-apache.conf' do
|
29
|
+
# notifies :restart, service['apache'], :immediately
|
30
|
+
# end
|
31
|
+
#
|
32
|
+
# template '/etc/www/configures-apache.conf' do
|
33
|
+
# notifies :restart, service[apache], :immediately
|
34
|
+
# end
|
35
|
+
#
|
36
|
+
# #### correct
|
37
|
+
#
|
38
|
+
# template '/etc/www/configures-apache.conf' do
|
39
|
+
# notifies :restart, 'service[apache]', :immediately
|
40
|
+
# end
|
41
|
+
#
|
42
|
+
class InvalidNotificationResource < Base
|
43
|
+
MSG = 'The resource to notify when calling `notifies` or `subscribes` must be a string.'
|
44
|
+
RESTRICT_ON_SEND = [:notifies, :subscribes].freeze
|
45
|
+
|
46
|
+
def_node_matcher :invalid_notification?, <<-PATTERN
|
47
|
+
(send nil? {:notifies :subscribes} (sym _) $(send (send nil? _) :[] ...) ...)
|
48
|
+
PATTERN
|
49
|
+
|
50
|
+
def on_send(node)
|
51
|
+
invalid_notification?(node) do |resource|
|
52
|
+
add_offense(resource, severity: :refactor)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -45,7 +45,7 @@ module RuboCop
|
|
45
45
|
|
46
46
|
def on_send(node)
|
47
47
|
notification_with_timing?(node) do |timing|
|
48
|
-
add_offense(timing,
|
48
|
+
add_offense(timing, severity: :refactor) unless %i(immediate immediately delayed before).include?(timing.value)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
end
|
@@ -47,7 +47,7 @@ module RuboCop
|
|
47
47
|
platform_family_helper?(node) do |plats|
|
48
48
|
plats.to_a.each do |p|
|
49
49
|
next unless INVALID_PLATFORM_FAMILIES.key?(p.value)
|
50
|
-
add_offense(p,
|
50
|
+
add_offense(p, severity: :refactor) do |corrector|
|
51
51
|
replacement_platform = INVALID_PLATFORM_FAMILIES[p.value]
|
52
52
|
all_passed_platforms = p.parent.arguments.map(&:value)
|
53
53
|
|
@@ -50,7 +50,7 @@ module RuboCop
|
|
50
50
|
new_value = INVALID_PLATFORM_FAMILIES[con.str_content]
|
51
51
|
next unless new_value
|
52
52
|
|
53
|
-
add_offense(con,
|
53
|
+
add_offense(con, severity: :refactor) do |corrector|
|
54
54
|
# if the correct value already exists in the when statement then we just want to delete this node
|
55
55
|
if con.parent.conditions.any? { |x| x.str_content == new_value }
|
56
56
|
range = range_with_surrounding_comma(range_with_surrounding_space(range: con.loc.expression, side: :left), :both)
|
@@ -46,7 +46,7 @@ module RuboCop
|
|
46
46
|
def on_send(node)
|
47
47
|
platform_helper?(node) do |plat|
|
48
48
|
plat.to_a.each do |p|
|
49
|
-
add_offense(p,
|
49
|
+
add_offense(p, severity: :refactor) if INVALID_PLATFORMS.key?(p.value)
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
@@ -52,7 +52,7 @@ module RuboCop
|
|
52
52
|
def on_send(node)
|
53
53
|
supports?(node) do |plat|
|
54
54
|
next unless INVALID_PLATFORMS[plat.str_content]
|
55
|
-
add_offense(plat,
|
55
|
+
add_offense(plat, severity: :refactor) do |corrector|
|
56
56
|
correct_string = corrected_platform_source(plat)
|
57
57
|
next unless correct_string
|
58
58
|
corrector.replace(plat, correct_string)
|
@@ -64,7 +64,7 @@ module RuboCop
|
|
64
64
|
supports_array?(node) do |plats|
|
65
65
|
plats.values.each do |plat|
|
66
66
|
next unless INVALID_PLATFORMS[plat.str_content]
|
67
|
-
add_offense(plat,
|
67
|
+
add_offense(plat, severity: :refactor) do |corrector|
|
68
68
|
correct_string = corrected_platform_source(plat)
|
69
69
|
next unless correct_string
|
70
70
|
corrector.replace(plat, correct_string)
|
@@ -50,7 +50,7 @@ module RuboCop
|
|
50
50
|
# some invalid platform have no direct correction value and return nil instead
|
51
51
|
next unless new_value
|
52
52
|
|
53
|
-
add_offense(con,
|
53
|
+
add_offense(con, severity: :refactor) do |corrector|
|
54
54
|
# if the correct value already exists in the when statement then we just want to delete this node
|
55
55
|
if con.parent.conditions.any? { |x| x.str_content == new_value }
|
56
56
|
range = range_with_surrounding_comma(range_with_surrounding_space(range: con.loc.expression, side: :left), :both)
|
@@ -55,10 +55,10 @@ module RuboCop
|
|
55
55
|
if p_hash.key.array_type?
|
56
56
|
p_hash.key.values.each do |plat|
|
57
57
|
next unless INVALID_PLATFORM_FAMILIES.key?(plat.value)
|
58
|
-
add_offense(plat,
|
58
|
+
add_offense(plat, severity: :refactor)
|
59
59
|
end
|
60
60
|
elsif INVALID_PLATFORM_FAMILIES.key?(p_hash.key.value)
|
61
|
-
add_offense(p_hash.key,
|
61
|
+
add_offense(p_hash.key, severity: :refactor)
|
62
62
|
end
|
63
63
|
end
|
64
64
|
end
|
@@ -54,10 +54,10 @@ module RuboCop
|
|
54
54
|
if p_hash.key.array_type?
|
55
55
|
p_hash.key.values.each do |plat|
|
56
56
|
next unless INVALID_PLATFORMS.key?(plat.value)
|
57
|
-
add_offense(plat,
|
57
|
+
add_offense(plat, severity: :refactor)
|
58
58
|
end
|
59
59
|
elsif INVALID_PLATFORMS.key?(p_hash.key.value)
|
60
|
-
add_offense(p_hash.key,
|
60
|
+
add_offense(p_hash.key, severity: :refactor)
|
61
61
|
end
|
62
62
|
end
|
63
63
|
end
|
@@ -38,7 +38,7 @@ module RuboCop
|
|
38
38
|
def on_send(node)
|
39
39
|
version?(node) do |ver|
|
40
40
|
next if /\A\d+\.\d+(\.\d+)?\z/.match?(ver.value) # entirely borrowed from Foodcritic.
|
41
|
-
add_offense(ver,
|
41
|
+
add_offense(ver, severity: :refactor)
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
@@ -41,7 +41,7 @@ module RuboCop
|
|
41
41
|
|
42
42
|
def on_send(node)
|
43
43
|
non_lazy_node_attribute_default?(node) do |default|
|
44
|
-
add_offense(default,
|
44
|
+
add_offense(default, severity: :refactor) do |corrector|
|
45
45
|
corrector.replace(default, "lazy { #{default.source} }")
|
46
46
|
end
|
47
47
|
end
|
@@ -55,7 +55,7 @@ module RuboCop
|
|
55
55
|
|
56
56
|
def on_block(node)
|
57
57
|
lazy_in_guard?(node) do |type, code|
|
58
|
-
add_offense(node,
|
58
|
+
add_offense(node, severity: :refactor) do |corrector|
|
59
59
|
corrector.replace(node, "#{type} { #{code.source} }")
|
60
60
|
end
|
61
61
|
end
|
@@ -54,7 +54,7 @@ module RuboCop
|
|
54
54
|
match_property_in_resource?(:macos_userdefaults, 'type', node) do |type|
|
55
55
|
type_val = method_arg_ast_to_string(type)
|
56
56
|
return if VALID_VALUES.include?(type_val)
|
57
|
-
add_offense(type,
|
57
|
+
add_offense(type, severity: :refactor) do |corrector|
|
58
58
|
next unless INVALID_VALUE_MAP[type_val]
|
59
59
|
corrector.replace(type, "type '#{INVALID_VALUE_MAP[type_val]}'")
|
60
60
|
end
|
@@ -46,7 +46,7 @@ module RuboCop
|
|
46
46
|
|
47
47
|
def on_send(node)
|
48
48
|
depends_without_comma?(node) do |cb, ver|
|
49
|
-
add_offense(node,
|
49
|
+
add_offense(node, severity: :refactor) do |corrector|
|
50
50
|
corrector.replace(node, "depends '#{cb.value}', '#{ver.value}'")
|
51
51
|
end
|
52
52
|
end
|
@@ -38,7 +38,7 @@ module RuboCop
|
|
38
38
|
# Using range similar to RuboCop::Cop::Naming::Filename (file_name.rb)
|
39
39
|
return if cb_name?(processed_source.ast)
|
40
40
|
range = source_range(processed_source.buffer, 1, 0)
|
41
|
-
add_offense(range,
|
41
|
+
add_offense(range, severity: :refactor) do |corrector|
|
42
42
|
path = processed_source.path
|
43
43
|
cb_name = File.basename(File.dirname(path))
|
44
44
|
corrector.insert_before(processed_source.ast, "name '#{cb_name}'\n")
|
@@ -39,7 +39,7 @@ module RuboCop
|
|
39
39
|
# Using range similar to RuboCop::Cop::Naming::Filename (file_name.rb)
|
40
40
|
return if cb_version?(processed_source.ast)
|
41
41
|
range = source_range(processed_source.buffer, 1, 0)
|
42
|
-
add_offense(range,
|
42
|
+
add_offense(range, severity: :refactor)
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|
@@ -51,7 +51,7 @@ module RuboCop
|
|
51
51
|
match_property_in_resource?(nil, %w(notifies subscribes), node) do |notifies_property|
|
52
52
|
return unless notifies_property.node_parts[2].str_type?
|
53
53
|
|
54
|
-
add_offense(notifies_property,
|
54
|
+
add_offense(notifies_property, severity: :refactor) do |corrector|
|
55
55
|
corrector.replace(notifies_property.first_argument,
|
56
56
|
":#{notifies_property.node_parts[2].value}")
|
57
57
|
end
|
@@ -44,7 +44,7 @@ module RuboCop
|
|
44
44
|
property_data = method_arg_ast_to_string(code_property)
|
45
45
|
return unless property_data && property_data.match?(/^remove-item/i) &&
|
46
46
|
!property_data.include?('*')
|
47
|
-
add_offense(node,
|
47
|
+
add_offense(node, severity: :refactor)
|
48
48
|
end
|
49
49
|
end
|
50
50
|
end
|
@@ -43,7 +43,7 @@ module RuboCop
|
|
43
43
|
match_property_in_resource?(nil, 'action', node) do |action_node|
|
44
44
|
action_node.arguments.each do |action|
|
45
45
|
next unless action.source == ':none'
|
46
|
-
add_offense(action,
|
46
|
+
add_offense(action, severity: :refactor) do |corrector|
|
47
47
|
corrector.replace(action, ':nothing')
|
48
48
|
end
|
49
49
|
end
|
@@ -40,7 +40,7 @@ module RuboCop
|
|
40
40
|
def on_send(node)
|
41
41
|
supports_with_constraint?(node) do |ver|
|
42
42
|
return if ver.source.include?('.')
|
43
|
-
add_offense(ver,
|
43
|
+
add_offense(ver, severity: :refactor) do |corrector|
|
44
44
|
corrector.replace(ver, ver.source.gsub(ver.value, (ver.value + '.0')))
|
45
45
|
end
|
46
46
|
end
|
@@ -39,7 +39,7 @@ module RuboCop
|
|
39
39
|
def on_send(node)
|
40
40
|
remote_file?(node) do |command|
|
41
41
|
return unless hardcoded_tmp?(command) && !file_cache_path?(command)
|
42
|
-
add_offense(command,
|
42
|
+
add_offense(command, severity: :refactor)
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -44,7 +44,7 @@ module RuboCop
|
|
44
44
|
cb_name?(node) do
|
45
45
|
dependencies(processed_source.ast).each do |dep|
|
46
46
|
next unless dep.arguments == node.arguments
|
47
|
-
add_offense(dep,
|
47
|
+
add_offense(dep, severity: :refactor) do |corrector|
|
48
48
|
corrector.remove(range_with_surrounding_space(range: dep.loc.expression, side: :left))
|
49
49
|
end
|
50
50
|
end
|
@@ -40,7 +40,7 @@ module RuboCop
|
|
40
40
|
|
41
41
|
def on_send(node)
|
42
42
|
chef_handler_recipe?(node) do
|
43
|
-
add_offense(node,
|
43
|
+
add_offense(node, severity: :refactor) do |corrector|
|
44
44
|
corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
|
45
45
|
end
|
46
46
|
end
|
@@ -41,7 +41,7 @@ module RuboCop
|
|
41
41
|
|
42
42
|
def on_block(node)
|
43
43
|
match_property_in_resource?(:chef_handler, 'supports', node) do |prop_node|
|
44
|
-
add_offense(prop_node,
|
44
|
+
add_offense(prop_node, severity: :warning) do |corrector|
|
45
45
|
# make sure to delete leading and trailing {}s that would create invalid ruby syntax
|
46
46
|
extracted_val = prop_node.arguments.first.source.gsub(/{|}/, '')
|
47
47
|
corrector.replace(prop_node, "type #{extracted_val}")
|