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/bin/knife
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
#
|
3
|
-
# ./knife - Chef CLI interface
|
4
|
-
#
|
5
|
-
# Author:: Adam Jacob (<adam@chef.io>)
|
6
|
-
# Copyright:: Copyright 2009-2018, Chef Software Inc.
|
7
|
-
# License:: Apache License, Version 2.0
|
8
|
-
#
|
9
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
10
|
-
# you may not use this file except in compliance with the License.
|
11
|
-
# You may obtain a copy of the License at
|
12
|
-
#
|
13
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
14
|
-
#
|
15
|
-
# Unless required by applicable law or agreed to in writing, software
|
16
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
17
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18
|
-
# See the License for the specific language governing permissions and
|
19
|
-
# limitations under the License.
|
20
|
-
|
21
|
-
$:.unshift(File.expand_path(File.join(__dir__, "..", "lib")))
|
22
|
-
require "chef/application/knife"
|
23
|
-
|
24
|
-
Chef::Application::Knife.new.run
|
@@ -1,234 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Author:: Adam Jacob (<adam@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
|
-
require_relative "../knife"
|
19
|
-
require_relative "../application"
|
20
|
-
require "mixlib/log"
|
21
|
-
require "ohai/config"
|
22
|
-
module Net
|
23
|
-
autoload :HTTP, "net/http"
|
24
|
-
end
|
25
|
-
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
26
|
-
|
27
|
-
class Chef::Application::Knife < Chef::Application
|
28
|
-
|
29
|
-
NO_COMMAND_GIVEN = "You need to pass a sub-command (e.g., knife SUB-COMMAND)\n".freeze
|
30
|
-
|
31
|
-
banner "Usage: knife sub-command (options)"
|
32
|
-
|
33
|
-
option :config_file,
|
34
|
-
short: "-c CONFIG",
|
35
|
-
long: "--config CONFIG",
|
36
|
-
description: "The configuration file to use.",
|
37
|
-
proc: lambda { |path| File.expand_path(path, Dir.pwd) }
|
38
|
-
|
39
|
-
option :config_option,
|
40
|
-
long: "--config-option OPTION=VALUE",
|
41
|
-
description: "Override a single configuration option.",
|
42
|
-
proc: lambda { |option, existing|
|
43
|
-
(existing ||= []) << option
|
44
|
-
existing
|
45
|
-
}
|
46
|
-
|
47
|
-
verbosity_level = 0
|
48
|
-
option :verbosity,
|
49
|
-
short: "-V",
|
50
|
-
long: "--verbose",
|
51
|
-
description: "More verbose output. Use twice (-VV) for additional verbosity and three times (-VVV) for maximum verbosity.",
|
52
|
-
proc: Proc.new { verbosity_level += 1 },
|
53
|
-
default: 0
|
54
|
-
|
55
|
-
option :color,
|
56
|
-
long: "--[no-]color",
|
57
|
-
boolean: true,
|
58
|
-
default: true,
|
59
|
-
description: "Use colored output, defaults to enabled."
|
60
|
-
|
61
|
-
option :environment,
|
62
|
-
short: "-E ENVIRONMENT",
|
63
|
-
long: "--environment ENVIRONMENT",
|
64
|
-
description: "Set the #{ChefUtils::Dist::Infra::PRODUCT} environment (except for in searches, where this will be flagrantly ignored)."
|
65
|
-
|
66
|
-
option :editor,
|
67
|
-
short: "-e EDITOR",
|
68
|
-
long: "--editor EDITOR",
|
69
|
-
description: "Set the editor to use for interactive commands.",
|
70
|
-
default: ENV["EDITOR"]
|
71
|
-
|
72
|
-
option :disable_editing,
|
73
|
-
short: "-d",
|
74
|
-
long: "--disable-editing",
|
75
|
-
description: "Do not open EDITOR, just accept the data as is.",
|
76
|
-
boolean: true,
|
77
|
-
default: false
|
78
|
-
|
79
|
-
option :help,
|
80
|
-
short: "-h",
|
81
|
-
long: "--help",
|
82
|
-
description: "Show this help message.",
|
83
|
-
on: :tail,
|
84
|
-
boolean: true
|
85
|
-
|
86
|
-
option :node_name,
|
87
|
-
short: "-u USER",
|
88
|
-
long: "--user USER",
|
89
|
-
description: "#{ChefUtils::Dist::Server::PRODUCT} API client username."
|
90
|
-
|
91
|
-
option :client_key,
|
92
|
-
short: "-k KEY",
|
93
|
-
long: "--key KEY",
|
94
|
-
description: "#{ChefUtils::Dist::Server::PRODUCT} API client key.",
|
95
|
-
proc: lambda { |path| File.expand_path(path, Dir.pwd) }
|
96
|
-
|
97
|
-
option :chef_server_url,
|
98
|
-
short: "-s URL",
|
99
|
-
long: "--server-url URL",
|
100
|
-
description: "#{ChefUtils::Dist::Server::PRODUCT} URL."
|
101
|
-
|
102
|
-
option :yes,
|
103
|
-
short: "-y",
|
104
|
-
long: "--yes",
|
105
|
-
description: "Say yes to all prompts for confirmation."
|
106
|
-
|
107
|
-
option :defaults,
|
108
|
-
long: "--defaults",
|
109
|
-
description: "Accept default values for all questions."
|
110
|
-
|
111
|
-
option :print_after,
|
112
|
-
long: "--print-after",
|
113
|
-
description: "Show the data after a destructive operation."
|
114
|
-
|
115
|
-
option :format,
|
116
|
-
short: "-F FORMAT",
|
117
|
-
long: "--format FORMAT",
|
118
|
-
description: "Which format to use for output.",
|
119
|
-
in: %w{summary text json yaml pp},
|
120
|
-
default: "summary"
|
121
|
-
|
122
|
-
option :local_mode,
|
123
|
-
short: "-z",
|
124
|
-
long: "--local-mode",
|
125
|
-
description: "Point knife commands at local repository instead of #{ChefUtils::Dist::Server::PRODUCT}.",
|
126
|
-
boolean: true
|
127
|
-
|
128
|
-
option :chef_zero_host,
|
129
|
-
long: "--chef-zero-host HOST",
|
130
|
-
description: "Host to start #{ChefUtils::Dist::Zero::PRODUCT} on."
|
131
|
-
|
132
|
-
option :chef_zero_port,
|
133
|
-
long: "--chef-zero-port PORT",
|
134
|
-
description: "Port (or port range) to start #{ChefUtils::Dist::Zero::PRODUCT} on. Port ranges like 1000,1010 or 8889-9999 will try all given ports until one works."
|
135
|
-
|
136
|
-
option :listen,
|
137
|
-
long: "--[no-]listen",
|
138
|
-
description: "Whether a local mode (-z) server binds to a port.",
|
139
|
-
boolean: false
|
140
|
-
|
141
|
-
option :version,
|
142
|
-
short: "-v",
|
143
|
-
long: "--version",
|
144
|
-
description: "Show #{ChefUtils::Dist::Infra::PRODUCT} version.",
|
145
|
-
boolean: true,
|
146
|
-
proc: lambda { |v| puts "#{ChefUtils::Dist::Infra::PRODUCT}: #{::Chef::VERSION}" },
|
147
|
-
exit: 0
|
148
|
-
|
149
|
-
option :fips,
|
150
|
-
long: "--[no-]fips",
|
151
|
-
description: "Enable FIPS mode.",
|
152
|
-
boolean: true,
|
153
|
-
default: nil
|
154
|
-
|
155
|
-
option :profile,
|
156
|
-
long: "--profile PROFILE",
|
157
|
-
description: "The credentials profile to select."
|
158
|
-
|
159
|
-
# Run knife
|
160
|
-
def run
|
161
|
-
ChefConfig::PathHelper.per_tool_home_environment = "KNIFE_HOME"
|
162
|
-
Mixlib::Log::Formatter.show_time = false
|
163
|
-
validate_and_parse_options
|
164
|
-
quiet_traps
|
165
|
-
Chef::Knife.run(ARGV, options)
|
166
|
-
exit 0
|
167
|
-
end
|
168
|
-
|
169
|
-
private
|
170
|
-
|
171
|
-
def quiet_traps
|
172
|
-
trap("TERM") do
|
173
|
-
exit 1
|
174
|
-
end
|
175
|
-
|
176
|
-
trap("INT") do
|
177
|
-
exit 2
|
178
|
-
end
|
179
|
-
end
|
180
|
-
|
181
|
-
def validate_and_parse_options
|
182
|
-
# Checking ARGV validity *before* parse_options because parse_options
|
183
|
-
# mangles ARGV in some situations
|
184
|
-
if no_command_given?
|
185
|
-
print_help_and_exit(1, NO_COMMAND_GIVEN)
|
186
|
-
elsif no_subcommand_given?
|
187
|
-
if want_help? || want_version?
|
188
|
-
print_help_and_exit(0)
|
189
|
-
else
|
190
|
-
print_help_and_exit(2, NO_COMMAND_GIVEN)
|
191
|
-
end
|
192
|
-
end
|
193
|
-
end
|
194
|
-
|
195
|
-
def no_subcommand_given?
|
196
|
-
ARGV[0] =~ /^-/
|
197
|
-
end
|
198
|
-
|
199
|
-
def no_command_given?
|
200
|
-
ARGV.empty?
|
201
|
-
end
|
202
|
-
|
203
|
-
def want_help?
|
204
|
-
ARGV[0] =~ /^(--help|-h)$/
|
205
|
-
end
|
206
|
-
|
207
|
-
def want_version?
|
208
|
-
ARGV[0] =~ /^(--version|-v)$/
|
209
|
-
end
|
210
|
-
|
211
|
-
def print_help_and_exit(exitcode = 1, fatal_message = nil)
|
212
|
-
Chef::Log.error(fatal_message) if fatal_message
|
213
|
-
|
214
|
-
begin
|
215
|
-
parse_options
|
216
|
-
rescue OptionParser::InvalidOption => e
|
217
|
-
puts "#{e}\n"
|
218
|
-
end
|
219
|
-
|
220
|
-
if want_help?
|
221
|
-
puts "#{ChefUtils::Dist::Infra::PRODUCT}: #{Chef::VERSION}"
|
222
|
-
puts
|
223
|
-
puts "Docs: #{ChefUtils::Dist::Org::KNIFE_DOCS}"
|
224
|
-
puts "Patents: #{ChefUtils::Dist::Org::PATENTS}"
|
225
|
-
puts
|
226
|
-
end
|
227
|
-
|
228
|
-
puts opt_parser
|
229
|
-
puts
|
230
|
-
Chef::Knife.list_commands
|
231
|
-
exit exitcode
|
232
|
-
end
|
233
|
-
|
234
|
-
end
|
@@ -1,338 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Author:: Christopher Maier (<maier@lambda.local>)
|
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 "../../chef"
|
20
|
-
require_relative "../monologger"
|
21
|
-
require_relative "../application"
|
22
|
-
require_relative "../client"
|
23
|
-
require_relative "../config"
|
24
|
-
require_relative "../handler/error_report"
|
25
|
-
require_relative "../log"
|
26
|
-
require_relative "../http"
|
27
|
-
require "mixlib/cli" unless defined?(Mixlib::CLI)
|
28
|
-
require "socket" unless defined?(Socket)
|
29
|
-
require "uri" unless defined?(URI)
|
30
|
-
require "win32/daemon"
|
31
|
-
require_relative "../mixin/shell_out"
|
32
|
-
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
|
33
|
-
|
34
|
-
class Chef
|
35
|
-
class Application
|
36
|
-
class WindowsService < ::Win32::Daemon
|
37
|
-
include Mixlib::CLI
|
38
|
-
include Chef::Mixin::ShellOut
|
39
|
-
|
40
|
-
option :config_file,
|
41
|
-
short: "-c CONFIG",
|
42
|
-
long: "--config CONFIG",
|
43
|
-
default: "#{Chef::Config.etc_chef_dir}/client.rb",
|
44
|
-
description: "The configuration file to use for #{ChefUtils::Dist::Infra::PRODUCT} runs."
|
45
|
-
|
46
|
-
option :log_location,
|
47
|
-
short: "-L LOGLOCATION",
|
48
|
-
long: "--logfile LOGLOCATION",
|
49
|
-
description: "Set the log file location."
|
50
|
-
|
51
|
-
option :splay,
|
52
|
-
short: "-s SECONDS",
|
53
|
-
long: "--splay SECONDS",
|
54
|
-
description: "The splay time for running at intervals, in seconds.",
|
55
|
-
proc: lambda { |s| s.to_i }
|
56
|
-
|
57
|
-
option :interval,
|
58
|
-
short: "-i SECONDS",
|
59
|
-
long: "--interval SECONDS",
|
60
|
-
description: "Set the number of seconds to wait between #{ChefUtils::Dist::Infra::PRODUCT} runs.",
|
61
|
-
proc: lambda { |s| s.to_i }
|
62
|
-
|
63
|
-
DEFAULT_LOG_LOCATION ||= "#{Chef::Config.c_chef_dir}/client.log".freeze
|
64
|
-
|
65
|
-
def service_init
|
66
|
-
@service_action_mutex = Mutex.new
|
67
|
-
@service_signal = ConditionVariable.new
|
68
|
-
|
69
|
-
reconfigure
|
70
|
-
Chef::Log.info("#{ChefUtils::Dist::Infra::CLIENT} Service initialized")
|
71
|
-
end
|
72
|
-
|
73
|
-
def service_main(*startup_parameters)
|
74
|
-
# Chef::Config is initialized during service_init
|
75
|
-
# Set the initial timeout to splay sleep time
|
76
|
-
timeout = rand Chef::Config[:splay]
|
77
|
-
|
78
|
-
while running?
|
79
|
-
# Grab the service_action_mutex to make a chef-client run
|
80
|
-
@service_action_mutex.synchronize do
|
81
|
-
|
82
|
-
Chef::Log.info("Next #{ChefUtils::Dist::Infra::CLIENT} run will happen in #{timeout} seconds")
|
83
|
-
@service_signal.wait(@service_action_mutex, timeout)
|
84
|
-
|
85
|
-
# Continue only if service is RUNNING
|
86
|
-
next if state != RUNNING
|
87
|
-
|
88
|
-
# Reconfigure each time through to pick up any changes in the client file
|
89
|
-
Chef::Log.info("Reconfiguring with startup parameters")
|
90
|
-
reconfigure(startup_parameters)
|
91
|
-
timeout = Chef::Config[:interval]
|
92
|
-
|
93
|
-
# Honor splay sleep config
|
94
|
-
timeout += rand Chef::Config[:splay]
|
95
|
-
|
96
|
-
# run chef-client only if service is in RUNNING state
|
97
|
-
next if state != RUNNING
|
98
|
-
|
99
|
-
Chef::Log.info("#{ChefUtils::Dist::Infra::CLIENT} service is starting a #{ChefUtils::Dist::Infra::CLIENT} run...")
|
100
|
-
run_chef_client
|
101
|
-
rescue SystemExit => e
|
102
|
-
# Do not raise any of the errors here in order to
|
103
|
-
# prevent service crash
|
104
|
-
Chef::Log.error("#{e.class}: #{e}")
|
105
|
-
rescue Exception => e
|
106
|
-
Chef::Log.error("#{e.class}: #{e}")
|
107
|
-
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
# Daemon class needs to have all the signal callbacks return
|
112
|
-
# before service_main returns.
|
113
|
-
Chef::Log.trace("Giving signal callbacks some time to exit...")
|
114
|
-
sleep 1
|
115
|
-
Chef::Log.trace("Exiting service...")
|
116
|
-
end
|
117
|
-
|
118
|
-
################################################################################
|
119
|
-
# Control Signal Callback Methods
|
120
|
-
################################################################################
|
121
|
-
|
122
|
-
def service_stop
|
123
|
-
run_warning_displayed = false
|
124
|
-
Chef::Log.info("STOP request from operating system.")
|
125
|
-
loop do
|
126
|
-
# See if a run is in flight
|
127
|
-
if @service_action_mutex.try_lock
|
128
|
-
# Run is not in flight. Wake up service_main to exit.
|
129
|
-
@service_signal.signal
|
130
|
-
@service_action_mutex.unlock
|
131
|
-
break
|
132
|
-
else
|
133
|
-
unless run_warning_displayed
|
134
|
-
Chef::Log.info("Currently a #{ChefUtils::Dist::Infra::PRODUCT} run is happening on this system.")
|
135
|
-
Chef::Log.info("Service will stop when run is completed.")
|
136
|
-
run_warning_displayed = true
|
137
|
-
end
|
138
|
-
|
139
|
-
Chef::Log.trace("Waiting for #{ChefUtils::Dist::Infra::PRODUCT} run...")
|
140
|
-
sleep 1
|
141
|
-
end
|
142
|
-
end
|
143
|
-
Chef::Log.info("Service is stopping....")
|
144
|
-
end
|
145
|
-
|
146
|
-
def service_pause
|
147
|
-
Chef::Log.info("PAUSE request from operating system.")
|
148
|
-
|
149
|
-
# We don't need to wake up the service_main if it's waiting
|
150
|
-
# since this is a PAUSE signal.
|
151
|
-
|
152
|
-
if @service_action_mutex.locked?
|
153
|
-
Chef::Log.info("Currently a #{ChefUtils::Dist::Infra::PRODUCT} run is happening.")
|
154
|
-
Chef::Log.info("Service will pause once it's completed.")
|
155
|
-
else
|
156
|
-
Chef::Log.info("Service is pausing....")
|
157
|
-
end
|
158
|
-
end
|
159
|
-
|
160
|
-
def service_resume
|
161
|
-
# We don't need to wake up the service_main if it's waiting
|
162
|
-
# since this is a RESUME signal.
|
163
|
-
|
164
|
-
Chef::Log.info("RESUME signal received from the OS.")
|
165
|
-
Chef::Log.info("Service is resuming....")
|
166
|
-
end
|
167
|
-
|
168
|
-
def service_shutdown
|
169
|
-
Chef::Log.info("SHUTDOWN signal received from the OS.")
|
170
|
-
|
171
|
-
# Treat shutdown similar to stop.
|
172
|
-
|
173
|
-
service_stop
|
174
|
-
end
|
175
|
-
|
176
|
-
################################################################################
|
177
|
-
# Internal Methods
|
178
|
-
################################################################################
|
179
|
-
|
180
|
-
private
|
181
|
-
|
182
|
-
# Initializes Chef::Client instance and runs it
|
183
|
-
def run_chef_client
|
184
|
-
# The chef client will be started in a new process. We have used shell_out to start the chef-client.
|
185
|
-
# The log_location and config_file of the parent process is passed to the new chef-client process.
|
186
|
-
# We need to add the --no-fork, as by default it is set to fork=true.
|
187
|
-
|
188
|
-
Chef::Log.info "Starting #{ChefUtils::Dist::Infra::CLIENT} in a new process"
|
189
|
-
# Pass config params to the new process
|
190
|
-
config_params = " --no-fork"
|
191
|
-
config_params += " -c #{Chef::Config[:config_file]}" unless Chef::Config[:config_file].nil?
|
192
|
-
# log_location might be an event logger and if so we cannot pass as a command argument
|
193
|
-
# but shed no tears! If the logger is an event logger, it must have been configured
|
194
|
-
# as such in the config file and chef-client will use that when no arg is passed here
|
195
|
-
config_params += " -L #{resolve_log_location}" if resolve_log_location.is_a?(String)
|
196
|
-
|
197
|
-
# Starts a new process and waits till the process exits
|
198
|
-
|
199
|
-
result = shell_out(
|
200
|
-
"#{ChefUtils::Dist::Infra::CLIENT}.bat #{config_params}",
|
201
|
-
timeout: Chef::Config[:windows_service][:watchdog_timeout],
|
202
|
-
logger: Chef::Log
|
203
|
-
)
|
204
|
-
Chef::Log.trace (result.stdout).to_s
|
205
|
-
Chef::Log.trace (result.stderr).to_s
|
206
|
-
rescue Mixlib::ShellOut::CommandTimeout => e
|
207
|
-
Chef::Log.error "#{ChefUtils::Dist::Infra::CLIENT} timed out\n(#{e})"
|
208
|
-
Chef::Log.error(<<-EOF)
|
209
|
-
Your #{ChefUtils::Dist::Infra::CLIENT} run timed out. You can increase the time #{ChefUtils::Dist::Infra::CLIENT} is given
|
210
|
-
to complete by configuring windows_service.watchdog_timeout in your client.rb.
|
211
|
-
EOF
|
212
|
-
rescue Mixlib::ShellOut::ShellCommandFailed => e
|
213
|
-
Chef::Log.warn "Not able to start #{ChefUtils::Dist::Infra::CLIENT} in new process (#{e})"
|
214
|
-
rescue => e
|
215
|
-
Chef::Log.error e
|
216
|
-
ensure
|
217
|
-
# Once process exits, we log the current process' pid
|
218
|
-
Chef::Log.info "Child process exited (pid: #{Process.pid})"
|
219
|
-
end
|
220
|
-
|
221
|
-
def apply_config(config_file_path)
|
222
|
-
Chef::Config.from_file(config_file_path)
|
223
|
-
Chef::Config.merge!(config)
|
224
|
-
end
|
225
|
-
|
226
|
-
# Lifted from Chef::Application, with addition of optional startup parameters
|
227
|
-
# for playing nicely with Windows Services
|
228
|
-
def reconfigure(startup_parameters = [])
|
229
|
-
configure_chef startup_parameters
|
230
|
-
configure_logging
|
231
|
-
|
232
|
-
Chef::Config[:chef_server_url] = config[:chef_server_url] if config.key? :chef_server_url
|
233
|
-
unless Chef::Config[:exception_handlers].any? { |h| Chef::Handler::ErrorReport === h }
|
234
|
-
Chef::Config[:exception_handlers] << Chef::Handler::ErrorReport.new
|
235
|
-
end
|
236
|
-
|
237
|
-
Chef::Config[:interval] ||= 1800
|
238
|
-
end
|
239
|
-
|
240
|
-
# Lifted from application.rb
|
241
|
-
# See application.rb for related comments.
|
242
|
-
|
243
|
-
def configure_logging
|
244
|
-
Chef::Log.init(MonoLogger.new(resolve_log_location))
|
245
|
-
if want_additional_logger?
|
246
|
-
configure_stdout_logger
|
247
|
-
end
|
248
|
-
Chef::Log.level = resolve_log_level
|
249
|
-
end
|
250
|
-
|
251
|
-
def configure_stdout_logger
|
252
|
-
stdout_logger = MonoLogger.new(STDOUT)
|
253
|
-
stdout_logger.formatter = Chef::Log.logger.formatter
|
254
|
-
Chef::Log.loggers << stdout_logger
|
255
|
-
end
|
256
|
-
|
257
|
-
# Based on config and whether or not STDOUT is a tty, should we setup a
|
258
|
-
# secondary logger for stdout?
|
259
|
-
def want_additional_logger?
|
260
|
-
( Chef::Config[:log_location] != STDOUT ) && STDOUT.tty? && !Chef::Config[:daemonize]
|
261
|
-
end
|
262
|
-
|
263
|
-
# Use of output formatters is assumed if `force_formatter` is set or if
|
264
|
-
# `force_logger` is not set
|
265
|
-
def using_output_formatter?
|
266
|
-
Chef::Config[:force_formatter] || !Chef::Config[:force_logger]
|
267
|
-
end
|
268
|
-
|
269
|
-
def auto_log_level?
|
270
|
-
Chef::Config[:log_level] == :auto
|
271
|
-
end
|
272
|
-
|
273
|
-
def resolve_log_location
|
274
|
-
# STDOUT is the default log location, but makes no sense for a windows service
|
275
|
-
Chef::Config[:log_location] == STDOUT ? DEFAULT_LOG_LOCATION : Chef::Config[:log_location]
|
276
|
-
end
|
277
|
-
|
278
|
-
# if log_level is `:auto`, convert it to :warn (when using output formatter)
|
279
|
-
# or :info (no output formatter). See also +using_output_formatter?+
|
280
|
-
def resolve_log_level
|
281
|
-
if auto_log_level?
|
282
|
-
if using_output_formatter?
|
283
|
-
:warn
|
284
|
-
else
|
285
|
-
:info
|
286
|
-
end
|
287
|
-
else
|
288
|
-
Chef::Config[:log_level]
|
289
|
-
end
|
290
|
-
end
|
291
|
-
|
292
|
-
def configure_chef(startup_parameters)
|
293
|
-
# Bit of a hack ahead:
|
294
|
-
# It is possible to specify a service's binary_path_name with arguments, like "foo.exe -x argX".
|
295
|
-
# It is also possible to specify startup parameters separately, either via the Services manager
|
296
|
-
# or by using the registry (I think).
|
297
|
-
|
298
|
-
# In order to accommodate all possible sources of parameterization, we first parse any command line
|
299
|
-
# arguments. We then parse any startup parameters. This works, because Mixlib::CLI reuses its internal
|
300
|
-
# 'config' hash; thus, anything in startup parameters will override any command line parameters that
|
301
|
-
# might be set via the service's binary_path_name
|
302
|
-
#
|
303
|
-
# All these parameters then get layered on top of those from Chef::Config
|
304
|
-
|
305
|
-
parse_options # Operates on ARGV by default
|
306
|
-
parse_options startup_parameters
|
307
|
-
|
308
|
-
begin
|
309
|
-
case config[:config_file]
|
310
|
-
when %r{^(http|https)://}
|
311
|
-
Chef::HTTP.new("").streaming_request(config[:config_file]) { |f| apply_config(f.path) }
|
312
|
-
else
|
313
|
-
::File.open(config[:config_file]) { |f| apply_config(f.path) }
|
314
|
-
end
|
315
|
-
rescue Errno::ENOENT
|
316
|
-
Chef::Log.warn("*****************************************")
|
317
|
-
Chef::Log.warn("Did not find config file: #{config[:config_file]}. Using command line options instead.")
|
318
|
-
Chef::Log.warn("*****************************************")
|
319
|
-
|
320
|
-
Chef::Config.merge!(config)
|
321
|
-
rescue SocketError
|
322
|
-
Chef::Application.fatal!("Error getting config file #{Chef::Config[:config_file]}")
|
323
|
-
rescue Chef::Exceptions::ConfigurationError => error
|
324
|
-
Chef::Application.fatal!("Error processing config file #{Chef::Config[:config_file]} with error #{error.message}")
|
325
|
-
rescue Exception => error
|
326
|
-
Chef::Application.fatal!("Unknown error processing config file #{Chef::Config[:config_file]} with error #{error.message}")
|
327
|
-
end
|
328
|
-
end
|
329
|
-
|
330
|
-
end
|
331
|
-
end
|
332
|
-
end
|
333
|
-
|
334
|
-
# To run this file as a service, it must be called as a script from within
|
335
|
-
# the Windows Service framework. In that case, kick off the main loop!
|
336
|
-
if __FILE__ == $0
|
337
|
-
Chef::Application::WindowsService.mainloop
|
338
|
-
end
|