chef 16.10.8-universal-mingw32 → 17.0.242-universal-mingw32
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/Gemfile +9 -10
- data/README.md +1 -1
- data/Rakefile +13 -2
- data/chef-universal-mingw32.gemspec +1 -1
- data/chef.gemspec +7 -9
- data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.Wrapper.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/Newtonsoft.Json.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.NETCore.App.deps.json +153 -149
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Diagnostics.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Management.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Utility.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.ConsoleHost.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.CoreCLR.Eventing.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.MarkdownRender.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Security.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Management.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Runtime.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Newtonsoft.Json.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.Messages.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Common.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Management.Automation.dll +0 -0
- data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Pkcs.dll +0 -0
- data/distro/ruby_bin_folder/x86/Chef.PowerShell.dll +0 -0
- data/distro/ruby_bin_folder/x86/Chef.Powershell.Wrapper.dll +0 -0
- data/distro/ruby_bin_folder/x86/Newtonsoft.Json.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.NETCore.App.deps.json +153 -149
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Diagnostics.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Management.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Utility.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.ConsoleHost.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.CoreCLR.Eventing.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.MarkdownRender.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Security.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Management.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Runtime.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Newtonsoft.Json.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.Messages.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Common.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Management.Automation.dll +0 -0
- data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Pkcs.dll +0 -0
- data/lib/chef/application/base.rb +1 -1
- data/lib/chef/applications.rb +0 -1
- data/lib/chef/chef_fs/command_line.rb +5 -2
- data/lib/chef/chef_fs/file_system.rb +9 -10
- data/lib/chef/client.rb +2 -2
- data/lib/chef/compliance/default_attributes.rb +10 -5
- data/lib/chef/compliance/fetcher/automate.rb +15 -11
- data/lib/chef/compliance/reporter/automate.rb +17 -7
- data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
- data/lib/chef/compliance/reporter/cli.rb +77 -0
- data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
- data/lib/chef/compliance/reporter/json_file.rb +8 -1
- data/lib/chef/compliance/runner.rb +71 -28
- data/lib/chef/cookbook/synchronizer.rb +3 -5
- data/lib/chef/cookbook_loader.rb +2 -4
- data/lib/chef/cookbook_uploader.rb +0 -1
- data/lib/chef/data_bag_item.rb +11 -2
- data/lib/chef/delayed_evaluator.rb +4 -0
- data/lib/chef/deprecated.rb +4 -0
- data/lib/chef/dsl/chef_vault.rb +6 -6
- data/lib/chef/dsl/reboot_pending.rb +1 -2
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
- data/lib/chef/group.rb +75 -0
- data/lib/chef/mixin/get_source_from_package.rb +1 -1
- data/lib/chef/node/attribute.rb +6 -4
- data/lib/chef/node/immutable_collections.rb +13 -0
- data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
- data/lib/chef/org.rb +3 -2
- data/lib/chef/property.rb +18 -0
- data/lib/chef/provider.rb +1 -1
- data/lib/chef/provider/cron.rb +1 -1
- data/lib/chef/provider/execute.rb +2 -1
- data/lib/chef/provider/file.rb +2 -2
- data/lib/chef/provider/git.rb +5 -7
- data/lib/chef/provider/group/groupadd.rb +3 -3
- data/lib/chef/provider/group/groupmod.rb +3 -3
- data/lib/chef/provider/group/pw.rb +3 -3
- data/lib/chef/provider/ifconfig.rb +2 -2
- data/lib/chef/provider/link.rb +2 -2
- data/lib/chef/provider/mount.rb +12 -7
- data/lib/chef/provider/mount/aix.rb +3 -3
- data/lib/chef/provider/mount/mount.rb +6 -6
- data/lib/chef/provider/mount/windows.rb +1 -1
- data/lib/chef/provider/package.rb +17 -21
- data/lib/chef/provider/package/apt.rb +27 -1
- data/lib/chef/provider/package/deb.rb +3 -3
- data/lib/chef/provider/package/dnf/dnf_helper.py +5 -1
- data/lib/chef/provider/package/portage.rb +2 -2
- data/lib/chef/provider/package/rubygems.rb +11 -17
- data/lib/chef/provider/package/windows.rb +2 -4
- data/lib/chef/provider/package/yum/yum_helper.py +5 -1
- data/lib/chef/provider/route.rb +2 -2
- data/lib/chef/provider/service.rb +6 -6
- data/lib/chef/provider/service/aixinit.rb +1 -1
- data/lib/chef/provider/service/debian.rb +1 -1
- data/lib/chef/provider/service/freebsd.rb +15 -21
- data/lib/chef/provider/service/macosx.rb +7 -7
- data/lib/chef/provider/service/systemd.rb +43 -14
- data/lib/chef/provider/service/upstart.rb +2 -13
- data/lib/chef/provider/service/windows.rb +12 -12
- data/lib/chef/provider/subversion.rb +10 -12
- data/lib/chef/provider/systemd_unit.rb +36 -10
- data/lib/chef/provider/template/content.rb +2 -6
- data/lib/chef/provider/user.rb +2 -2
- data/lib/chef/provider/user/dscl.rb +1 -1
- data/lib/chef/provider/user/mac.rb +17 -20
- data/lib/chef/provider/user/pw.rb +1 -1
- data/lib/chef/provider/user/windows.rb +1 -1
- data/lib/chef/provider/zypper_repository.rb +2 -2
- data/lib/chef/providers.rb +0 -1
- data/lib/chef/resource/alternatives.rb +6 -6
- data/lib/chef/resource/apt_package.rb +1 -1
- data/lib/chef/resource/apt_preference.rb +2 -2
- data/lib/chef/resource/apt_repository.rb +6 -6
- data/lib/chef/resource/apt_update.rb +3 -2
- data/lib/chef/resource/archive_file.rb +2 -3
- data/lib/chef/resource/breakpoint.rb +1 -1
- data/lib/chef/resource/build_essential.rb +2 -6
- data/lib/chef/resource/chef_client_config.rb +2 -2
- data/lib/chef/resource/chef_client_cron.rb +5 -5
- data/lib/chef/resource/chef_client_launchd.rb +4 -4
- data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
- data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
- data/lib/chef/resource/chef_handler.rb +3 -7
- data/lib/chef/resource/chef_sleep.rb +1 -1
- data/lib/chef/resource/chef_vault_secret.rb +3 -8
- data/lib/chef/resource/chocolatey_config.rb +2 -6
- data/lib/chef/resource/chocolatey_feature.rb +2 -6
- data/lib/chef/resource/chocolatey_source.rb +4 -10
- data/lib/chef/resource/cron/_cron_shared.rb +2 -2
- data/lib/chef/resource/cron_access.rb +2 -4
- data/lib/chef/resource/dmg_package.rb +6 -10
- data/lib/chef/resource/dpkg_package.rb +1 -1
- data/lib/chef/resource/execute.rb +6 -1
- data/lib/chef/resource/file.rb +1 -1
- data/lib/chef/resource/group.rb +2 -2
- data/lib/chef/resource/homebrew_cask.rb +2 -6
- data/lib/chef/resource/homebrew_tap.rb +2 -6
- data/lib/chef/resource/hostname.rb +21 -17
- data/lib/chef/resource/http_request.rb +1 -1
- data/lib/chef/resource/kernel_module.rb +6 -17
- data/lib/chef/resource/locale.rb +2 -3
- data/lib/chef/resource/lwrp_base.rb +4 -0
- data/lib/chef/resource/macos_userdefaults.rb +10 -14
- data/lib/chef/resource/mdadm.rb +53 -7
- data/lib/chef/resource/mount.rb +2 -1
- data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
- data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
- data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
- data/lib/chef/resource/plist.rb +7 -7
- data/lib/chef/resource/powershell_script.rb +1 -1
- data/lib/chef/resource/remote_file.rb +1 -1
- data/lib/chef/resource/rhsm_errata.rb +16 -1
- data/lib/chef/resource/rhsm_errata_level.rb +10 -1
- data/lib/chef/resource/rhsm_register.rb +12 -6
- data/lib/chef/resource/rhsm_repo.rb +2 -6
- data/lib/chef/resource/rhsm_subscription.rb +2 -6
- data/lib/chef/resource/scm/git.rb +1 -1
- data/lib/chef/resource/sudo.rb +6 -6
- data/lib/chef/resource/sysctl.rb +2 -6
- data/lib/chef/resource/systemd_unit.rb +2 -2
- data/lib/chef/resource/template.rb +1 -1
- data/lib/chef/resource/timezone.rb +1 -3
- data/lib/chef/resource/user/mac_user.rb +1 -1
- data/lib/chef/resource/user_ulimit.rb +2 -2
- data/lib/chef/resource/windows_ad_join.rb +2 -6
- data/lib/chef/resource/windows_audit_policy.rb +1 -1
- data/lib/chef/resource/windows_auto_run.rb +2 -5
- data/lib/chef/resource/windows_certificate.rb +207 -73
- data/lib/chef/resource/windows_dfs_folder.rb +2 -6
- data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
- data/lib/chef/resource/windows_dfs_server.rb +1 -3
- data/lib/chef/resource/windows_dns_record.rb +2 -6
- data/lib/chef/resource/windows_dns_zone.rb +2 -6
- data/lib/chef/resource/windows_env.rb +5 -4
- data/lib/chef/resource/windows_feature.rb +3 -9
- data/lib/chef/resource/windows_feature_dism.rb +2 -6
- data/lib/chef/resource/windows_feature_powershell.rb +3 -3
- data/lib/chef/resource/windows_firewall_profile.rb +4 -4
- data/lib/chef/resource/windows_firewall_rule.rb +2 -5
- data/lib/chef/resource/windows_font.rb +2 -4
- data/lib/chef/resource/windows_pagefile.rb +2 -6
- data/lib/chef/resource/windows_path.rb +2 -2
- data/lib/chef/resource/windows_printer.rb +4 -4
- data/lib/chef/resource/windows_printer_port.rb +6 -6
- data/lib/chef/resource/windows_security_policy.rb +53 -40
- data/lib/chef/resource/windows_share.rb +14 -21
- data/lib/chef/resource/windows_shortcut.rb +4 -6
- data/lib/chef/resource/windows_task.rb +17 -5
- data/lib/chef/resource/windows_uac.rb +1 -1
- data/lib/chef/resource/windows_user_privilege.rb +4 -4
- data/lib/chef/resource/windows_workgroup.rb +1 -2
- data/lib/chef/resources.rb +0 -1
- data/lib/chef/user.rb +0 -1
- data/lib/chef/user_v1.rb +3 -4
- data/lib/chef/util/dsc/configuration_generator.rb +1 -0
- data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/registry.rb +4 -2
- data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
- data/spec/data/lwrp/resources/bar.rb +2 -0
- data/spec/data/lwrp/resources/buck_passer.rb +1 -0
- data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
- data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
- data/spec/data/lwrp/resources/foo.rb +2 -0
- data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
- data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
- data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
- data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
- data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
- data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
- data/spec/data/lwrp_override/resources/foo.rb +1 -0
- data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
- data/spec/data/rubygems.org/sexp_processor-info +49 -0
- data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
- data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
- data/spec/functional/dsl/registry_helper_spec.rb +1 -1
- data/spec/functional/resource/aixinit_service_spec.rb +7 -7
- data/spec/functional/resource/apt_package_spec.rb +1 -1
- data/spec/functional/resource/chocolatey_package_spec.rb +13 -0
- data/spec/functional/resource/cron_spec.rb +1 -1
- data/spec/functional/resource/dnf_package_spec.rb +4 -1
- data/spec/functional/resource/registry_spec.rb +8 -8
- data/spec/functional/resource/user/mac_user_spec.rb +2 -2
- data/spec/functional/resource/windows_certificate_spec.rb +92 -35
- data/spec/functional/version_spec.rb +1 -1
- data/spec/functional/win32/registry_spec.rb +1 -1
- data/spec/integration/client/client_spec.rb +5 -2
- data/spec/integration/client/exit_code_spec.rb +1 -1
- data/spec/integration/client/ipv6_spec.rb +1 -1
- data/spec/integration/compliance/compliance_spec.rb +3 -2
- data/spec/integration/ohai/ohai_spec.rb +7 -6
- data/spec/integration/recipes/accumulator_spec.rb +13 -1
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
- data/spec/integration/recipes/lwrp_spec.rb +3 -1
- data/spec/integration/recipes/notifies_spec.rb +15 -1
- data/spec/integration/recipes/notifying_block_spec.rb +2 -1
- data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
- data/spec/integration/recipes/unified_mode_spec.rb +1 -1
- data/spec/integration/recipes/use_partial_spec.rb +4 -1
- data/spec/spec_helper.rb +11 -13
- data/spec/support/chef_helpers.rb +0 -16
- data/spec/support/lib/chef/resource/with_state.rb +0 -1
- data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
- data/spec/support/lib/chef/resource/zen_master.rb +0 -1
- data/spec/support/matchers/leak.rb +7 -9
- data/spec/support/platform_helpers.rb +5 -8
- data/spec/support/shared/integration/integration_helper.rb +0 -1
- data/spec/support/shared/unit/provider/file.rb +14 -0
- data/spec/support/shared/unit/script_resource.rb +2 -2
- data/spec/unit/application/solo_spec.rb +2 -2
- data/spec/unit/chef_fs/diff_spec.rb +1 -1
- data/spec/unit/chef_fs/file_system_spec.rb +1 -1
- data/spec/unit/compliance/fetcher/automate_spec.rb +5 -13
- data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
- data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
- data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
- data/spec/unit/compliance/runner_spec.rb +84 -9
- data/spec/unit/data_bag_item_spec.rb +1 -6
- data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
- data/spec/unit/dsl/registry_helper_spec.rb +1 -1
- data/spec/unit/lwrp_spec.rb +1 -1
- data/spec/unit/mixin/params_validate_spec.rb +4 -3
- data/spec/unit/node/attribute_spec.rb +1 -1
- data/spec/unit/node_spec.rb +78 -0
- data/spec/unit/org_group_spec.rb +45 -0
- data/spec/unit/property_spec.rb +23 -22
- data/spec/unit/provider/cron_spec.rb +1 -1
- data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
- data/spec/unit/provider/group/groupmod_spec.rb +2 -2
- data/spec/unit/provider/group/pw_spec.rb +2 -2
- data/spec/unit/provider/group_spec.rb +1 -1
- data/spec/unit/provider/mount/mount_spec.rb +52 -0
- data/spec/unit/provider/package/apt_spec.rb +84 -18
- data/spec/unit/provider/package/deb_spec.rb +3 -3
- data/spec/unit/provider/package/rubygems_spec.rb +21 -33
- data/spec/unit/provider/service/arch_service_spec.rb +1 -0
- data/spec/unit/provider/service/debian_service_spec.rb +1 -0
- data/spec/unit/provider/service/macosx_spec.rb +5 -5
- data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
- data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
- data/spec/unit/provider/service/windows_spec.rb +2 -2
- data/spec/unit/provider/subversion_spec.rb +2 -2
- data/spec/unit/provider/systemd_unit_spec.rb +79 -60
- data/spec/unit/provider/zypper_repository_spec.rb +2 -2
- data/spec/unit/provider_spec.rb +0 -8
- data/spec/unit/resource/chef_client_cron_spec.rb +8 -8
- data/spec/unit/resource/powershell_script_spec.rb +2 -2
- data/spec/unit/resource/windows_task_spec.rb +1 -1
- data/spec/unit/user_spec.rb +1 -1
- data/spec/unit/user_v1_spec.rb +6 -4
- data/tasks/rspec.rb +16 -8
- metadata +25 -386
- data/bin/knife +0 -24
- data/lib/chef/application/knife.rb +0 -234
- data/lib/chef/application/windows_service.rb +0 -338
- data/lib/chef/application/windows_service_manager.rb +0 -205
- data/lib/chef/chef_fs/knife.rb +0 -160
- data/lib/chef/chef_fs/parallelizer.rb +0 -102
- data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
- data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
- data/lib/chef/knife.rb +0 -665
- data/lib/chef/knife/acl_add.rb +0 -57
- data/lib/chef/knife/acl_base.rb +0 -183
- data/lib/chef/knife/acl_bulk_add.rb +0 -78
- data/lib/chef/knife/acl_bulk_remove.rb +0 -83
- data/lib/chef/knife/acl_remove.rb +0 -62
- data/lib/chef/knife/acl_show.rb +0 -56
- data/lib/chef/knife/bootstrap.rb +0 -1192
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
- data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
- data/lib/chef/knife/bootstrap/templates/README.md +0 -11
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
- data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
- data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
- data/lib/chef/knife/client_bulk_delete.rb +0 -104
- data/lib/chef/knife/client_create.rb +0 -101
- data/lib/chef/knife/client_delete.rb +0 -62
- data/lib/chef/knife/client_edit.rb +0 -52
- data/lib/chef/knife/client_key_create.rb +0 -73
- data/lib/chef/knife/client_key_delete.rb +0 -80
- data/lib/chef/knife/client_key_edit.rb +0 -83
- data/lib/chef/knife/client_key_list.rb +0 -73
- data/lib/chef/knife/client_key_show.rb +0 -80
- data/lib/chef/knife/client_list.rb +0 -41
- data/lib/chef/knife/client_reregister.rb +0 -58
- data/lib/chef/knife/client_show.rb +0 -48
- data/lib/chef/knife/config_get.rb +0 -39
- data/lib/chef/knife/config_get_profile.rb +0 -37
- data/lib/chef/knife/config_list.rb +0 -139
- data/lib/chef/knife/config_list_profiles.rb +0 -37
- data/lib/chef/knife/config_show.rb +0 -127
- data/lib/chef/knife/config_use.rb +0 -61
- data/lib/chef/knife/config_use_profile.rb +0 -47
- data/lib/chef/knife/configure.rb +0 -150
- data/lib/chef/knife/configure_client.rb +0 -48
- data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
- data/lib/chef/knife/cookbook_delete.rb +0 -151
- data/lib/chef/knife/cookbook_download.rb +0 -142
- data/lib/chef/knife/cookbook_list.rb +0 -47
- data/lib/chef/knife/cookbook_metadata.rb +0 -106
- data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
- data/lib/chef/knife/cookbook_show.rb +0 -98
- data/lib/chef/knife/cookbook_upload.rb +0 -292
- data/lib/chef/knife/core/bootstrap_context.rb +0 -264
- data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
- data/lib/chef/knife/core/formatting_options.rb +0 -49
- data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
- data/lib/chef/knife/core/generic_presenter.rb +0 -232
- data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
- data/lib/chef/knife/core/node_editor.rb +0 -130
- data/lib/chef/knife/core/node_presenter.rb +0 -133
- data/lib/chef/knife/core/object_loader.rb +0 -115
- data/lib/chef/knife/core/status_presenter.rb +0 -147
- data/lib/chef/knife/core/subcommand_loader.rb +0 -203
- data/lib/chef/knife/core/text_formatter.rb +0 -85
- data/lib/chef/knife/core/ui.rb +0 -338
- data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -406
- data/lib/chef/knife/data_bag_create.rb +0 -81
- data/lib/chef/knife/data_bag_delete.rb +0 -49
- data/lib/chef/knife/data_bag_edit.rb +0 -74
- data/lib/chef/knife/data_bag_from_file.rb +0 -113
- data/lib/chef/knife/data_bag_list.rb +0 -42
- data/lib/chef/knife/data_bag_secret_options.rb +0 -122
- data/lib/chef/knife/data_bag_show.rb +0 -69
- data/lib/chef/knife/delete.rb +0 -125
- data/lib/chef/knife/deps.rb +0 -156
- data/lib/chef/knife/diff.rb +0 -83
- data/lib/chef/knife/download.rb +0 -84
- data/lib/chef/knife/edit.rb +0 -88
- data/lib/chef/knife/environment_compare.rb +0 -128
- data/lib/chef/knife/environment_create.rb +0 -52
- data/lib/chef/knife/environment_delete.rb +0 -44
- data/lib/chef/knife/environment_edit.rb +0 -44
- data/lib/chef/knife/environment_from_file.rb +0 -84
- data/lib/chef/knife/environment_list.rb +0 -41
- data/lib/chef/knife/environment_show.rb +0 -47
- data/lib/chef/knife/exec.rb +0 -99
- data/lib/chef/knife/group_add.rb +0 -55
- data/lib/chef/knife/group_create.rb +0 -49
- data/lib/chef/knife/group_destroy.rb +0 -53
- data/lib/chef/knife/group_list.rb +0 -43
- data/lib/chef/knife/group_remove.rb +0 -56
- data/lib/chef/knife/group_show.rb +0 -49
- data/lib/chef/knife/key_create.rb +0 -112
- data/lib/chef/knife/key_create_base.rb +0 -50
- data/lib/chef/knife/key_delete.rb +0 -55
- data/lib/chef/knife/key_edit.rb +0 -118
- data/lib/chef/knife/key_edit_base.rb +0 -55
- data/lib/chef/knife/key_list.rb +0 -90
- data/lib/chef/knife/key_list_base.rb +0 -45
- data/lib/chef/knife/key_show.rb +0 -53
- data/lib/chef/knife/list.rb +0 -177
- data/lib/chef/knife/node_bulk_delete.rb +0 -75
- data/lib/chef/knife/node_create.rb +0 -47
- data/lib/chef/knife/node_delete.rb +0 -46
- data/lib/chef/knife/node_edit.rb +0 -70
- data/lib/chef/knife/node_environment_set.rb +0 -53
- data/lib/chef/knife/node_from_file.rb +0 -51
- data/lib/chef/knife/node_list.rb +0 -44
- data/lib/chef/knife/node_policy_set.rb +0 -79
- data/lib/chef/knife/node_run_list_add.rb +0 -104
- data/lib/chef/knife/node_run_list_remove.rb +0 -67
- data/lib/chef/knife/node_run_list_set.rb +0 -66
- data/lib/chef/knife/node_show.rb +0 -63
- data/lib/chef/knife/null.rb +0 -12
- data/lib/chef/knife/raw.rb +0 -123
- data/lib/chef/knife/recipe_list.rb +0 -32
- data/lib/chef/knife/rehash.rb +0 -50
- data/lib/chef/knife/role_bulk_delete.rb +0 -66
- data/lib/chef/knife/role_create.rb +0 -53
- data/lib/chef/knife/role_delete.rb +0 -46
- data/lib/chef/knife/role_edit.rb +0 -45
- data/lib/chef/knife/role_env_run_list_add.rb +0 -87
- data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
- data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
- data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
- data/lib/chef/knife/role_env_run_list_set.rb +0 -70
- data/lib/chef/knife/role_from_file.rb +0 -51
- data/lib/chef/knife/role_list.rb +0 -42
- data/lib/chef/knife/role_run_list_add.rb +0 -87
- data/lib/chef/knife/role_run_list_clear.rb +0 -55
- data/lib/chef/knife/role_run_list_remove.rb +0 -56
- data/lib/chef/knife/role_run_list_replace.rb +0 -60
- data/lib/chef/knife/role_run_list_set.rb +0 -69
- data/lib/chef/knife/role_show.rb +0 -48
- data/lib/chef/knife/search.rb +0 -194
- data/lib/chef/knife/serve.rb +0 -65
- data/lib/chef/knife/show.rb +0 -72
- data/lib/chef/knife/ssh.rb +0 -645
- data/lib/chef/knife/ssl_check.rb +0 -284
- data/lib/chef/knife/ssl_fetch.rb +0 -161
- data/lib/chef/knife/status.rb +0 -95
- data/lib/chef/knife/supermarket_download.rb +0 -121
- data/lib/chef/knife/supermarket_install.rb +0 -192
- data/lib/chef/knife/supermarket_list.rb +0 -76
- data/lib/chef/knife/supermarket_search.rb +0 -53
- data/lib/chef/knife/supermarket_share.rb +0 -166
- data/lib/chef/knife/supermarket_show.rb +0 -66
- data/lib/chef/knife/supermarket_unshare.rb +0 -61
- data/lib/chef/knife/tag_create.rb +0 -52
- data/lib/chef/knife/tag_delete.rb +0 -60
- data/lib/chef/knife/tag_list.rb +0 -47
- data/lib/chef/knife/upload.rb +0 -86
- data/lib/chef/knife/user_create.rb +0 -107
- data/lib/chef/knife/user_delete.rb +0 -44
- data/lib/chef/knife/user_dissociate.rb +0 -42
- data/lib/chef/knife/user_edit.rb +0 -52
- data/lib/chef/knife/user_invite_add.rb +0 -43
- data/lib/chef/knife/user_invite_list.rb +0 -34
- data/lib/chef/knife/user_invite_rescind.rb +0 -63
- data/lib/chef/knife/user_key_create.rb +0 -73
- data/lib/chef/knife/user_key_delete.rb +0 -80
- data/lib/chef/knife/user_key_edit.rb +0 -83
- data/lib/chef/knife/user_key_list.rb +0 -73
- data/lib/chef/knife/user_key_show.rb +0 -80
- data/lib/chef/knife/user_list.rb +0 -42
- data/lib/chef/knife/user_reregister.rb +0 -59
- data/lib/chef/knife/user_show.rb +0 -48
- data/lib/chef/knife/xargs.rb +0 -282
- data/lib/chef/knife/yaml_convert.rb +0 -91
- data/lib/chef/resource/user/dscl_user.rb +0 -35
- data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
- data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
- data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
- data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
- data/spec/data/knife_subcommand/test_yourself.rb +0 -21
- data/spec/functional/knife/configure_spec.rb +0 -33
- data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
- data/spec/functional/knife/exec_spec.rb +0 -55
- data/spec/functional/knife/rehash_spec.rb +0 -39
- data/spec/functional/knife/smoke_test.rb +0 -42
- data/spec/functional/knife/ssh_spec.rb +0 -352
- data/spec/functional/resource/user/dscl_spec.rb +0 -188
- data/spec/functional/resource/windows_service_spec.rb +0 -105
- data/spec/functional/win32/service_manager_spec.rb +0 -220
- data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
- data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
- data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
- data/spec/integration/knife/chefignore_spec.rb +0 -301
- data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
- data/spec/integration/knife/client_create_spec.rb +0 -70
- data/spec/integration/knife/client_delete_spec.rb +0 -64
- data/spec/integration/knife/client_key_create_spec.rb +0 -66
- data/spec/integration/knife/client_key_delete_spec.rb +0 -43
- data/spec/integration/knife/client_key_list_spec.rb +0 -61
- data/spec/integration/knife/client_key_show_spec.rb +0 -45
- data/spec/integration/knife/client_list_spec.rb +0 -49
- data/spec/integration/knife/client_show_spec.rb +0 -37
- data/spec/integration/knife/common_options_spec.rb +0 -174
- data/spec/integration/knife/config_list_spec.rb +0 -220
- data/spec/integration/knife/config_show_spec.rb +0 -192
- data/spec/integration/knife/config_use_spec.rb +0 -198
- data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
- data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
- data/spec/integration/knife/cookbook_download_spec.rb +0 -72
- data/spec/integration/knife/cookbook_list_spec.rb +0 -55
- data/spec/integration/knife/cookbook_show_spec.rb +0 -149
- data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
- data/spec/integration/knife/data_bag_create_spec.rb +0 -125
- data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
- data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
- data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
- data/spec/integration/knife/data_bag_list_spec.rb +0 -44
- data/spec/integration/knife/data_bag_show_spec.rb +0 -95
- data/spec/integration/knife/delete_spec.rb +0 -1018
- data/spec/integration/knife/deps_spec.rb +0 -703
- data/spec/integration/knife/diff_spec.rb +0 -605
- data/spec/integration/knife/download_spec.rb +0 -1336
- data/spec/integration/knife/environment_compare_spec.rb +0 -75
- data/spec/integration/knife/environment_create_spec.rb +0 -41
- data/spec/integration/knife/environment_delete_spec.rb +0 -37
- data/spec/integration/knife/environment_from_file_spec.rb +0 -116
- data/spec/integration/knife/environment_list_spec.rb +0 -42
- data/spec/integration/knife/environment_show_spec.rb +0 -77
- data/spec/integration/knife/list_spec.rb +0 -1060
- data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
- data/spec/integration/knife/node_create_spec.rb +0 -47
- data/spec/integration/knife/node_delete_spec.rb +0 -48
- data/spec/integration/knife/node_environment_set_spec.rb +0 -46
- data/spec/integration/knife/node_from_file_spec.rb +0 -59
- data/spec/integration/knife/node_list_spec.rb +0 -45
- data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
- data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
- data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
- data/spec/integration/knife/node_show_spec.rb +0 -36
- data/spec/integration/knife/raw_spec.rb +0 -297
- data/spec/integration/knife/redirection_spec.rb +0 -64
- data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
- data/spec/integration/knife/role_create_spec.rb +0 -41
- data/spec/integration/knife/role_delete_spec.rb +0 -48
- data/spec/integration/knife/role_from_file_spec.rb +0 -96
- data/spec/integration/knife/role_list_spec.rb +0 -45
- data/spec/integration/knife/role_show_spec.rb +0 -51
- data/spec/integration/knife/search_node_spec.rb +0 -40
- data/spec/integration/knife/serve_spec.rb +0 -92
- data/spec/integration/knife/show_spec.rb +0 -197
- data/spec/integration/knife/upload_spec.rb +0 -1617
- data/spec/support/shared/functional/knife.rb +0 -37
- data/spec/support/shared/functional/win32_service.rb +0 -57
- data/spec/support/shared/integration/knife_support.rb +0 -192
- data/spec/support/shared/unit/knife_shared.rb +0 -39
- data/spec/unit/application/knife_spec.rb +0 -241
- data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
- data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
- data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
- data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
- data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
- data/spec/unit/knife/bootstrap_spec.rb +0 -2220
- data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
- data/spec/unit/knife/client_create_spec.rb +0 -169
- data/spec/unit/knife/client_delete_spec.rb +0 -99
- data/spec/unit/knife/client_edit_spec.rb +0 -53
- data/spec/unit/knife/client_list_spec.rb +0 -34
- data/spec/unit/knife/client_reregister_spec.rb +0 -62
- data/spec/unit/knife/client_show_spec.rb +0 -52
- data/spec/unit/knife/configure_client_spec.rb +0 -81
- data/spec/unit/knife/configure_spec.rb +0 -190
- data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
- data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
- data/spec/unit/knife/cookbook_download_spec.rb +0 -255
- data/spec/unit/knife/cookbook_list_spec.rb +0 -88
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
- data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
- data/spec/unit/knife/cookbook_show_spec.rb +0 -253
- data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
- data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
- data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
- data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
- data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
- data/spec/unit/knife/core/node_editor_spec.rb +0 -211
- data/spec/unit/knife/core/object_loader_spec.rb +0 -81
- data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
- data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
- data/spec/unit/knife/core/ui_spec.rb +0 -656
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
- data/spec/unit/knife/data_bag_create_spec.rb +0 -175
- data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
- data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
- data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
- data/spec/unit/knife/data_bag_show_spec.rb +0 -139
- data/spec/unit/knife/environment_compare_spec.rb +0 -112
- data/spec/unit/knife/environment_create_spec.rb +0 -91
- data/spec/unit/knife/environment_delete_spec.rb +0 -71
- data/spec/unit/knife/environment_edit_spec.rb +0 -79
- data/spec/unit/knife/environment_from_file_spec.rb +0 -90
- data/spec/unit/knife/environment_list_spec.rb +0 -54
- data/spec/unit/knife/environment_show_spec.rb +0 -52
- data/spec/unit/knife/key_create_spec.rb +0 -223
- data/spec/unit/knife/key_delete_spec.rb +0 -133
- data/spec/unit/knife/key_edit_spec.rb +0 -264
- data/spec/unit/knife/key_helper.rb +0 -74
- data/spec/unit/knife/key_list_spec.rb +0 -216
- data/spec/unit/knife/key_show_spec.rb +0 -126
- data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
- data/spec/unit/knife/node_delete_spec.rb +0 -77
- data/spec/unit/knife/node_edit_spec.rb +0 -116
- data/spec/unit/knife/node_environment_set_spec.rb +0 -61
- data/spec/unit/knife/node_from_file_spec.rb +0 -59
- data/spec/unit/knife/node_list_spec.rb +0 -62
- data/spec/unit/knife/node_policy_set_spec.rb +0 -122
- data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
- data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
- data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
- data/spec/unit/knife/node_show_spec.rb +0 -65
- data/spec/unit/knife/raw_spec.rb +0 -43
- data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
- data/spec/unit/knife/role_create_spec.rb +0 -80
- data/spec/unit/knife/role_delete_spec.rb +0 -67
- data/spec/unit/knife/role_edit_spec.rb +0 -77
- data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
- data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
- data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
- data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
- data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
- data/spec/unit/knife/role_from_file_spec.rb +0 -69
- data/spec/unit/knife/role_list_spec.rb +0 -54
- data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
- data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
- data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
- data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
- data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
- data/spec/unit/knife/role_show_spec.rb +0 -59
- data/spec/unit/knife/ssh_spec.rb +0 -403
- data/spec/unit/knife/ssl_check_spec.rb +0 -256
- data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
- data/spec/unit/knife/status_spec.rb +0 -112
- data/spec/unit/knife/supermarket_download_spec.rb +0 -152
- data/spec/unit/knife/supermarket_install_spec.rb +0 -202
- data/spec/unit/knife/supermarket_list_spec.rb +0 -70
- data/spec/unit/knife/supermarket_search_spec.rb +0 -85
- data/spec/unit/knife/supermarket_share_spec.rb +0 -208
- data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
- data/spec/unit/knife/tag_create_spec.rb +0 -23
- data/spec/unit/knife/tag_delete_spec.rb +0 -25
- data/spec/unit/knife/tag_list_spec.rb +0 -23
- data/spec/unit/knife/user_create_spec.rb +0 -184
- data/spec/unit/knife/user_delete_spec.rb +0 -46
- data/spec/unit/knife/user_edit_spec.rb +0 -48
- data/spec/unit/knife/user_list_spec.rb +0 -36
- data/spec/unit/knife/user_reregister_spec.rb +0 -56
- data/spec/unit/knife/user_show_spec.rb +0 -46
- data/spec/unit/knife_spec.rb +0 -634
- data/spec/unit/provider/user/dscl_spec.rb +0 -699
- data/spec/unit/windows_service_spec.rb +0 -118
data/lib/chef/knife/ssl_check.rb
DELETED
@@ -1,284 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Author:: Daniel DeLeo (<dan@chef.io>)
|
3
|
-
# Copyright:: Copyright (c) Chef Software Inc.
|
4
|
-
# License:: Apache License, Version 2.0
|
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
|
-
|
19
|
-
require_relative "../knife"
|
20
|
-
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
21
|
-
|
22
|
-
class Chef
|
23
|
-
class Knife
|
24
|
-
class SslCheck < Chef::Knife
|
25
|
-
|
26
|
-
deps do
|
27
|
-
require_relative "../config"
|
28
|
-
require "pp" unless defined?(PP)
|
29
|
-
require "socket" unless defined?(Socket)
|
30
|
-
require "uri" unless defined?(URI)
|
31
|
-
require_relative "../http/ssl_policies"
|
32
|
-
require "openssl" unless defined?(OpenSSL)
|
33
|
-
require_relative "../mixin/proxified_socket"
|
34
|
-
include Chef::Mixin::ProxifiedSocket
|
35
|
-
end
|
36
|
-
|
37
|
-
banner "knife ssl check [URL] (options)"
|
38
|
-
|
39
|
-
def initialize(*args)
|
40
|
-
@host = nil
|
41
|
-
@verify_peer_socket = nil
|
42
|
-
@ssl_policy = HTTP::DefaultSSLPolicy
|
43
|
-
super
|
44
|
-
end
|
45
|
-
|
46
|
-
def uri
|
47
|
-
@uri ||= begin
|
48
|
-
Chef::Log.trace("Checking SSL cert on #{given_uri}")
|
49
|
-
URI.parse(given_uri)
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
def given_uri
|
54
|
-
(name_args[0] || Chef::Config.chef_server_url)
|
55
|
-
end
|
56
|
-
|
57
|
-
def host
|
58
|
-
uri.host
|
59
|
-
end
|
60
|
-
|
61
|
-
def port
|
62
|
-
uri.port
|
63
|
-
end
|
64
|
-
|
65
|
-
def validate_uri
|
66
|
-
unless host && port
|
67
|
-
invalid_uri!
|
68
|
-
end
|
69
|
-
rescue URI::Error
|
70
|
-
invalid_uri!
|
71
|
-
end
|
72
|
-
|
73
|
-
def invalid_uri!
|
74
|
-
ui.error("Given URI: `#{given_uri}' is invalid")
|
75
|
-
show_usage
|
76
|
-
exit 1
|
77
|
-
end
|
78
|
-
|
79
|
-
def verify_peer_socket
|
80
|
-
@verify_peer_socket ||= begin
|
81
|
-
tcp_connection = proxified_socket(host, port)
|
82
|
-
ssl_client = OpenSSL::SSL::SSLSocket.new(tcp_connection, verify_peer_ssl_context)
|
83
|
-
ssl_client.hostname = host
|
84
|
-
ssl_client
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
def verify_peer_ssl_context
|
89
|
-
@verify_peer_ssl_context ||= begin
|
90
|
-
verify_peer_context = OpenSSL::SSL::SSLContext.new
|
91
|
-
@ssl_policy.apply_to(verify_peer_context)
|
92
|
-
verify_peer_context.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
93
|
-
verify_peer_context
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
def noverify_socket
|
98
|
-
@noverify_socket ||= begin
|
99
|
-
tcp_connection = proxified_socket(host, port)
|
100
|
-
OpenSSL::SSL::SSLSocket.new(tcp_connection, noverify_peer_ssl_context)
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
def noverify_peer_ssl_context
|
105
|
-
@noverify_peer_ssl_context ||= begin
|
106
|
-
noverify_peer_context = OpenSSL::SSL::SSLContext.new
|
107
|
-
@ssl_policy.apply_to(noverify_peer_context)
|
108
|
-
noverify_peer_context.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
109
|
-
noverify_peer_context
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
|
-
def verify_X509
|
114
|
-
cert_debug_msg = ""
|
115
|
-
trusted_certificates.each do |cert_name|
|
116
|
-
message = check_X509_certificate(cert_name)
|
117
|
-
unless message.nil?
|
118
|
-
cert_debug_msg << File.expand_path(cert_name) + ": " + message + "\n"
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
unless cert_debug_msg.empty?
|
123
|
-
debug_invalid_X509(cert_debug_msg)
|
124
|
-
end
|
125
|
-
|
126
|
-
true # Maybe the bad certs won't hurt...
|
127
|
-
end
|
128
|
-
|
129
|
-
def verify_cert
|
130
|
-
ui.msg("Connecting to host #{host}:#{port}")
|
131
|
-
verify_peer_socket.connect
|
132
|
-
true
|
133
|
-
rescue OpenSSL::SSL::SSLError => e
|
134
|
-
ui.error "The SSL certificate of #{host} could not be verified"
|
135
|
-
Chef::Log.trace e.message
|
136
|
-
debug_invalid_cert
|
137
|
-
false
|
138
|
-
end
|
139
|
-
|
140
|
-
def verify_cert_host
|
141
|
-
verify_peer_socket.post_connection_check(host)
|
142
|
-
true
|
143
|
-
rescue OpenSSL::SSL::SSLError => e
|
144
|
-
ui.error "The SSL cert is signed by a trusted authority but is not valid for the given hostname"
|
145
|
-
Chef::Log.trace(e)
|
146
|
-
debug_invalid_host
|
147
|
-
false
|
148
|
-
end
|
149
|
-
|
150
|
-
def debug_invalid_X509(cert_debug_msg)
|
151
|
-
ui.msg("\n#{ui.color("Configuration Info:", :bold)}\n\n")
|
152
|
-
debug_ssl_settings
|
153
|
-
debug_chef_ssl_config
|
154
|
-
|
155
|
-
ui.warn(<<~BAD_CERTS)
|
156
|
-
There are invalid certificates in your trusted_certs_dir.
|
157
|
-
OpenSSL will not use the following certificates when verifying SSL connections:
|
158
|
-
|
159
|
-
#{cert_debug_msg}
|
160
|
-
|
161
|
-
#{ui.color("TO FIX THESE WARNINGS:", :bold)}
|
162
|
-
|
163
|
-
We are working on documentation for resolving common issues uncovered here.
|
164
|
-
|
165
|
-
* If the certificate is generated by the server, you may try redownloading the
|
166
|
-
server's certificate. By default, the certificate is stored in the following
|
167
|
-
location on the host where your chef-server runs:
|
168
|
-
|
169
|
-
/var/opt/opscode/nginx/ca/SERVER_HOSTNAME.crt
|
170
|
-
|
171
|
-
Copy that file to your trusted_certs_dir (currently: #{configuration.trusted_certs_dir})
|
172
|
-
using SSH/SCP or some other secure method, then re-run this command to confirm
|
173
|
-
that the server's certificate is now trusted.
|
174
|
-
|
175
|
-
BAD_CERTS
|
176
|
-
# @TODO: ^ needs URL once documentation is posted.
|
177
|
-
end
|
178
|
-
|
179
|
-
def debug_invalid_cert
|
180
|
-
noverify_socket.connect
|
181
|
-
issuer_info = noverify_socket.peer_cert.issuer
|
182
|
-
ui.msg("Certificate issuer data: #{issuer_info}")
|
183
|
-
|
184
|
-
ui.msg("\n#{ui.color("Configuration Info:", :bold)}\n\n")
|
185
|
-
debug_ssl_settings
|
186
|
-
debug_chef_ssl_config
|
187
|
-
|
188
|
-
ui.err(<<~ADVICE)
|
189
|
-
|
190
|
-
#{ui.color("TO FIX THIS ERROR:", :bold)}
|
191
|
-
|
192
|
-
If the server you are connecting to uses a self-signed certificate, you must
|
193
|
-
configure #{ChefUtils::Dist::Infra::PRODUCT} to trust that server's certificate.
|
194
|
-
|
195
|
-
By default, the certificate is stored in the following location on the host
|
196
|
-
where your chef-server runs:
|
197
|
-
|
198
|
-
/var/opt/opscode/nginx/ca/SERVER_HOSTNAME.crt
|
199
|
-
|
200
|
-
Copy that file to your trusted_certs_dir (currently: #{configuration.trusted_certs_dir})
|
201
|
-
using SSH/SCP or some other secure method, then re-run this command to confirm
|
202
|
-
that the server's certificate is now trusted.
|
203
|
-
|
204
|
-
ADVICE
|
205
|
-
end
|
206
|
-
|
207
|
-
def debug_invalid_host
|
208
|
-
noverify_socket.connect
|
209
|
-
subject = noverify_socket.peer_cert.subject
|
210
|
-
cn_field_tuple = subject.to_a.find { |field| field[0] == "CN" }
|
211
|
-
cn = cn_field_tuple[1]
|
212
|
-
|
213
|
-
ui.error("You are attempting to connect to: '#{host}'")
|
214
|
-
ui.error("The server's certificate belongs to '#{cn}'")
|
215
|
-
ui.err(<<~ADVICE)
|
216
|
-
|
217
|
-
#{ui.color("TO FIX THIS ERROR:", :bold)}
|
218
|
-
|
219
|
-
The solution for this issue depends on your networking configuration. If you
|
220
|
-
are able to connect to this server using the hostname #{cn}
|
221
|
-
instead of #{host}, then you can resolve this issue by updating chef_server_url
|
222
|
-
in your configuration file.
|
223
|
-
|
224
|
-
If you are not able to connect to the server using the hostname #{cn}
|
225
|
-
you will have to update the certificate on the server to use the correct hostname.
|
226
|
-
ADVICE
|
227
|
-
end
|
228
|
-
|
229
|
-
def debug_ssl_settings
|
230
|
-
ui.err "OpenSSL Configuration:"
|
231
|
-
ui.err "* Version: #{OpenSSL::OPENSSL_VERSION}"
|
232
|
-
ui.err "* Certificate file: #{OpenSSL::X509::DEFAULT_CERT_FILE}"
|
233
|
-
ui.err "* Certificate directory: #{OpenSSL::X509::DEFAULT_CERT_DIR}"
|
234
|
-
end
|
235
|
-
|
236
|
-
def debug_chef_ssl_config
|
237
|
-
ui.err "#{ChefUtils::Dist::Infra::PRODUCT} SSL Configuration:"
|
238
|
-
ui.err "* ssl_ca_path: #{configuration.ssl_ca_path.inspect}"
|
239
|
-
ui.err "* ssl_ca_file: #{configuration.ssl_ca_file.inspect}"
|
240
|
-
ui.err "* trusted_certs_dir: #{configuration.trusted_certs_dir.inspect}"
|
241
|
-
end
|
242
|
-
|
243
|
-
def configuration
|
244
|
-
Chef::Config
|
245
|
-
end
|
246
|
-
|
247
|
-
def run
|
248
|
-
validate_uri
|
249
|
-
|
250
|
-
if verify_X509 && verify_cert && verify_cert_host
|
251
|
-
ui.msg "Successfully verified certificates from `#{host}'"
|
252
|
-
else
|
253
|
-
exit 1
|
254
|
-
end
|
255
|
-
end
|
256
|
-
|
257
|
-
private
|
258
|
-
|
259
|
-
def trusted_certificates
|
260
|
-
if configuration.trusted_certs_dir && Dir.exist?(configuration.trusted_certs_dir)
|
261
|
-
glob_dir = ChefConfig::PathHelper.escape_glob_dir(configuration.trusted_certs_dir)
|
262
|
-
Dir.glob(File.join(glob_dir, "*.{crt,pem}"))
|
263
|
-
else
|
264
|
-
[]
|
265
|
-
end
|
266
|
-
end
|
267
|
-
|
268
|
-
def check_X509_certificate(cert_file)
|
269
|
-
store = OpenSSL::X509::Store.new
|
270
|
-
cert = OpenSSL::X509::Certificate.new(IO.read(File.expand_path(cert_file)))
|
271
|
-
begin
|
272
|
-
store.add_cert(cert)
|
273
|
-
# test if the store can verify the cert we just added
|
274
|
-
unless store.verify(cert) # true if verified, false if not
|
275
|
-
return store.error_string
|
276
|
-
end
|
277
|
-
rescue OpenSSL::X509::StoreError => e
|
278
|
-
return e.message
|
279
|
-
end
|
280
|
-
nil
|
281
|
-
end
|
282
|
-
end
|
283
|
-
end
|
284
|
-
end
|
data/lib/chef/knife/ssl_fetch.rb
DELETED
@@ -1,161 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Author:: Daniel DeLeo (<dan@chef.io>)
|
3
|
-
# Copyright:: Copyright (c) Chef Software Inc.
|
4
|
-
# License:: Apache License, Version 2.0
|
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
|
-
|
19
|
-
require_relative "../knife"
|
20
|
-
|
21
|
-
class Chef
|
22
|
-
class Knife
|
23
|
-
class SslFetch < Chef::Knife
|
24
|
-
|
25
|
-
deps do
|
26
|
-
require_relative "../config"
|
27
|
-
require "pp" unless defined?(PP)
|
28
|
-
require "socket" unless defined?(Socket)
|
29
|
-
require "uri" unless defined?(URI)
|
30
|
-
require "openssl" unless defined?(OpenSSL)
|
31
|
-
require_relative "../mixin/proxified_socket"
|
32
|
-
include Chef::Mixin::ProxifiedSocket
|
33
|
-
end
|
34
|
-
|
35
|
-
banner "knife ssl fetch [URL] (options)"
|
36
|
-
|
37
|
-
def initialize(*args)
|
38
|
-
super
|
39
|
-
@uri = nil
|
40
|
-
end
|
41
|
-
|
42
|
-
def uri
|
43
|
-
@uri ||= begin
|
44
|
-
Chef::Log.trace("Checking SSL cert on #{given_uri}")
|
45
|
-
URI.parse(given_uri)
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def given_uri
|
50
|
-
(name_args[0] || Chef::Config.chef_server_url)
|
51
|
-
end
|
52
|
-
|
53
|
-
def host
|
54
|
-
uri.host
|
55
|
-
end
|
56
|
-
|
57
|
-
def port
|
58
|
-
uri.port
|
59
|
-
end
|
60
|
-
|
61
|
-
def validate_uri
|
62
|
-
unless host && port
|
63
|
-
invalid_uri!
|
64
|
-
end
|
65
|
-
rescue URI::Error
|
66
|
-
invalid_uri!
|
67
|
-
end
|
68
|
-
|
69
|
-
def invalid_uri!
|
70
|
-
ui.error("Given URI: `#{given_uri}' is invalid")
|
71
|
-
show_usage
|
72
|
-
exit 1
|
73
|
-
end
|
74
|
-
|
75
|
-
def remote_cert_chain
|
76
|
-
tcp_connection = proxified_socket(host, port)
|
77
|
-
shady_ssl_connection = OpenSSL::SSL::SSLSocket.new(tcp_connection, noverify_peer_ssl_context)
|
78
|
-
shady_ssl_connection.connect
|
79
|
-
shady_ssl_connection.peer_cert_chain
|
80
|
-
end
|
81
|
-
|
82
|
-
def noverify_peer_ssl_context
|
83
|
-
@noverify_peer_ssl_context ||= begin
|
84
|
-
noverify_peer_context = OpenSSL::SSL::SSLContext.new
|
85
|
-
noverify_peer_context.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
86
|
-
noverify_peer_context
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
def cn_of(certificate)
|
91
|
-
subject = certificate.subject
|
92
|
-
if cn_field_tuple = subject.to_a.find { |field| field[0] == "CN" }
|
93
|
-
cn_field_tuple[1]
|
94
|
-
else
|
95
|
-
nil
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
# Convert the CN of a certificate into something that will work well as a
|
100
|
-
# filename. To do so, all `*` characters are converted to the string
|
101
|
-
# "wildcard" and then all characters other than alphanumeric and hyphen
|
102
|
-
# characters are converted to underscores.
|
103
|
-
# NOTE: There is some confusion about what the CN will contain when
|
104
|
-
# using internationalized domain names. RFC 6125 mandates that the ascii
|
105
|
-
# representation be used, but it is not clear whether this is followed in
|
106
|
-
# practice.
|
107
|
-
# https://tools.ietf.org/html/rfc6125#section-6.4.2
|
108
|
-
def normalize_cn(cn)
|
109
|
-
cn.gsub("*", "wildcard").gsub(/[^[:alnum:]\-]/, "_")
|
110
|
-
end
|
111
|
-
|
112
|
-
def configuration
|
113
|
-
Chef::Config
|
114
|
-
end
|
115
|
-
|
116
|
-
def trusted_certs_dir
|
117
|
-
configuration.trusted_certs_dir
|
118
|
-
end
|
119
|
-
|
120
|
-
def write_cert(cert)
|
121
|
-
FileUtils.mkdir_p(trusted_certs_dir)
|
122
|
-
cn = cn_of(cert)
|
123
|
-
filename = cn.nil? ? "#{host}_#{Time.new.to_i}" : normalize_cn(cn)
|
124
|
-
full_path = File.join(trusted_certs_dir, "#{filename}.crt")
|
125
|
-
ui.msg("Adding certificate for #{filename} in #{full_path}")
|
126
|
-
File.open(full_path, File::CREAT | File::TRUNC | File::RDWR, 0644) do |f|
|
127
|
-
f.print(cert.to_s)
|
128
|
-
end
|
129
|
-
end
|
130
|
-
|
131
|
-
def run
|
132
|
-
validate_uri
|
133
|
-
ui.warn(<<~TRUST_TRUST)
|
134
|
-
Certificates from #{host} will be fetched and placed in your trusted_cert
|
135
|
-
directory (#{trusted_certs_dir}).
|
136
|
-
|
137
|
-
Knife has no means to verify these are the correct certificates. You should
|
138
|
-
verify the authenticity of these certificates after downloading.
|
139
|
-
|
140
|
-
TRUST_TRUST
|
141
|
-
remote_cert_chain.each do |cert|
|
142
|
-
write_cert(cert)
|
143
|
-
end
|
144
|
-
rescue OpenSSL::SSL::SSLError => e
|
145
|
-
# 'unknown protocol' usually means you tried to connect to a non-ssl
|
146
|
-
# service. We handle that specially here, any other error we let bubble
|
147
|
-
# up (probably a bug of some sort).
|
148
|
-
raise unless e.message.include?("unknown protocol")
|
149
|
-
|
150
|
-
ui.error("The service at the given URI (#{uri}) does not accept SSL connections")
|
151
|
-
|
152
|
-
if uri.scheme == "http"
|
153
|
-
https_uri = uri.to_s.sub(/^http/, "https")
|
154
|
-
ui.error("Perhaps you meant to connect to '#{https_uri}'?")
|
155
|
-
end
|
156
|
-
exit 1
|
157
|
-
end
|
158
|
-
|
159
|
-
end
|
160
|
-
end
|
161
|
-
end
|
data/lib/chef/knife/status.rb
DELETED
@@ -1,95 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Author:: Ian Meyer (<ianmmeyer@gmail.com>)
|
3
|
-
# Copyright:: Copyright 2010-2020, Ian Meyer
|
4
|
-
# License:: Apache License, Version 2.0
|
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
|
-
|
19
|
-
require_relative "../knife"
|
20
|
-
require_relative "core/status_presenter"
|
21
|
-
require_relative "core/formatting_options"
|
22
|
-
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
23
|
-
|
24
|
-
class Chef
|
25
|
-
class Knife
|
26
|
-
class Status < Knife
|
27
|
-
include Knife::Core::FormattingOptions
|
28
|
-
|
29
|
-
deps do
|
30
|
-
require_relative "../search/query"
|
31
|
-
end
|
32
|
-
|
33
|
-
banner "knife status QUERY (options)"
|
34
|
-
|
35
|
-
option :run_list,
|
36
|
-
short: "-r",
|
37
|
-
long: "--run-list",
|
38
|
-
description: "Show the run list"
|
39
|
-
|
40
|
-
option :sort_reverse,
|
41
|
-
short: "-s",
|
42
|
-
long: "--sort-reverse",
|
43
|
-
description: "Sort the status list by last run time descending"
|
44
|
-
|
45
|
-
option :hide_by_mins,
|
46
|
-
long: "--hide-by-mins MINS",
|
47
|
-
description: "Hide nodes that have run #{ChefUtils::Dist::Infra::CLIENT} in the last MINS minutes"
|
48
|
-
|
49
|
-
def append_to_query(term)
|
50
|
-
@query << " AND " unless @query.empty?
|
51
|
-
@query << term
|
52
|
-
end
|
53
|
-
|
54
|
-
def run
|
55
|
-
ui.use_presenter Knife::Core::StatusPresenter
|
56
|
-
|
57
|
-
if config[:long_output]
|
58
|
-
opts = {}
|
59
|
-
else
|
60
|
-
opts = { filter_result:
|
61
|
-
{ name: ["name"], ipaddress: ["ipaddress"], ohai_time: ["ohai_time"],
|
62
|
-
cloud: ["cloud"], run_list: ["run_list"], platform: ["platform"],
|
63
|
-
platform_version: ["platform_version"], chef_environment: ["chef_environment"] } }
|
64
|
-
end
|
65
|
-
|
66
|
-
@query ||= ""
|
67
|
-
append_to_query(@name_args[0]) if @name_args[0]
|
68
|
-
append_to_query("chef_environment:#{config[:environment]}") if config[:environment]
|
69
|
-
|
70
|
-
if config[:hide_by_mins]
|
71
|
-
hide_by_mins = config[:hide_by_mins].to_i
|
72
|
-
time = Time.now.to_i
|
73
|
-
# AND NOT is not valid lucene syntax, so don't use append_to_query
|
74
|
-
@query << " " unless @query.empty?
|
75
|
-
@query << "NOT ohai_time:[#{(time - hide_by_mins * 60)} TO #{time}]"
|
76
|
-
end
|
77
|
-
|
78
|
-
@query = @query.empty? ? "*:*" : @query
|
79
|
-
|
80
|
-
all_nodes = []
|
81
|
-
q = Chef::Search::Query.new
|
82
|
-
Chef::Log.info("Sending query: #{@query}")
|
83
|
-
q.search(:node, @query, opts) do |node|
|
84
|
-
all_nodes << node
|
85
|
-
end
|
86
|
-
|
87
|
-
all_nodes.sort_by! { |n| n["ohai_time"] || 0 }
|
88
|
-
all_nodes.reverse! if config[:sort_reverse] || config[:sort_status_reverse]
|
89
|
-
|
90
|
-
output(all_nodes)
|
91
|
-
end
|
92
|
-
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|