chef 17.10.95 → 18.1.0
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 +16 -8
- data/README.md +7 -7
- data/Rakefile +3 -22
- data/{chef-universal-mingw32.gemspec → chef-universal-mingw-ucrt.gemspec} +8 -7
- data/chef.gemspec +12 -5
- data/lib/chef/api_client_v1.rb +9 -1
- data/lib/chef/application/exit_code.rb +3 -3
- data/lib/chef/chef_fs/file_system.rb +21 -7
- data/lib/chef/client.rb +169 -17
- data/lib/chef/compliance/input.rb +1 -1
- data/lib/chef/compliance/profile.rb +1 -1
- data/lib/chef/compliance/profile_collection.rb +0 -1
- data/lib/chef/compliance/waiver.rb +1 -1
- data/lib/chef/cookbook/syntax_check.rb +2 -2
- data/lib/chef/dsl/reader_helpers.rb +1 -1
- data/lib/chef/dsl/rest_resource.rb +77 -0
- data/lib/chef/event_dispatch/base.rb +3 -0
- data/lib/chef/exceptions.rb +8 -0
- data/lib/chef/http/authenticator.rb +170 -3
- data/lib/chef/http/ssl_policies.rb +3 -3
- data/lib/chef/mixin/powershell_exec.rb +5 -28
- data/lib/chef/node/mixin/immutablize_array.rb +1 -0
- data/lib/chef/property.rb +13 -6
- data/lib/chef/provider/cron.rb +5 -1
- data/lib/chef/provider/group/windows.rb +1 -1
- data/lib/chef/provider/http_request.rb +11 -9
- data/lib/chef/provider/launchd.rb +1 -0
- data/lib/chef/provider/mount/linux.rb +5 -0
- data/lib/chef/provider/mount/mount.rb +8 -0
- data/lib/chef/provider/mount/windows.rb +1 -1
- data/lib/chef/provider/package/chocolatey.rb +1 -18
- data/lib/chef/provider/package/rubygems.rb +1 -1
- data/lib/chef/provider/package/snap.rb +1 -1
- data/lib/chef/provider/package/windows/msi.rb +2 -2
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
- data/lib/chef/provider/package/yum/yum_helper.py +5 -17
- data/lib/chef/provider/package/zypper/version.rb +60 -0
- data/lib/chef/provider/package/zypper.rb +47 -3
- data/lib/chef/provider/service/windows.rb +1 -1
- data/lib/chef/provider/user/aix.rb +5 -0
- data/lib/chef/provider/user/linux.rb +29 -0
- data/lib/chef/provider/user/mac.rb +1 -1
- data/lib/chef/provider/user.rb +46 -14
- data/lib/chef/provider/yum_repository.rb +13 -1
- data/lib/chef/provider.rb +1 -1
- data/lib/chef/recipe.rb +1 -1
- data/lib/chef/resource/_rest_resource.rb +389 -0
- data/lib/chef/resource/alternatives.rb +0 -1
- data/lib/chef/resource/apt_package.rb +2 -1
- data/lib/chef/resource/apt_preference.rb +0 -1
- data/lib/chef/resource/apt_repository.rb +0 -1
- data/lib/chef/resource/apt_update.rb +0 -1
- data/lib/chef/resource/archive_file.rb +0 -1
- data/lib/chef/resource/bash.rb +0 -1
- data/lib/chef/resource/batch.rb +0 -1
- data/lib/chef/resource/bff_package.rb +0 -1
- data/lib/chef/resource/breakpoint.rb +0 -1
- data/lib/chef/resource/build_essential.rb +0 -1
- data/lib/chef/resource/cab_package.rb +0 -1
- data/lib/chef/resource/chef_client_config.rb +12 -14
- data/lib/chef/resource/chef_client_cron.rb +1 -2
- data/lib/chef/resource/chef_client_launchd.rb +2 -2
- data/lib/chef/resource/chef_client_scheduled_task.rb +3 -3
- data/lib/chef/resource/chef_client_systemd_timer.rb +0 -1
- data/lib/chef/resource/chef_client_trusted_certificate.rb +0 -1
- data/lib/chef/resource/chef_gem.rb +0 -1
- data/lib/chef/resource/chef_handler.rb +0 -1
- data/lib/chef/resource/chef_sleep.rb +1 -3
- data/lib/chef/resource/chef_vault_secret.rb +0 -1
- data/lib/chef/resource/chocolatey_config.rb +0 -1
- data/lib/chef/resource/chocolatey_feature.rb +0 -1
- data/lib/chef/resource/chocolatey_package.rb +0 -1
- data/lib/chef/resource/chocolatey_source.rb +0 -1
- data/lib/chef/resource/cookbook_file.rb +0 -1
- data/lib/chef/resource/cron/_cron_shared.rb +0 -1
- data/lib/chef/resource/cron/cron.rb +0 -1
- data/lib/chef/resource/cron/cron_d.rb +15 -1
- data/lib/chef/resource/cron_access.rb +0 -1
- data/lib/chef/resource/csh.rb +0 -1
- data/lib/chef/resource/directory.rb +0 -1
- data/lib/chef/resource/dmg_package.rb +2 -1
- data/lib/chef/resource/dnf_package.rb +0 -1
- data/lib/chef/resource/dpkg_package.rb +0 -1
- data/lib/chef/resource/dsc_resource.rb +0 -1
- data/lib/chef/resource/dsc_script.rb +0 -1
- data/lib/chef/resource/execute.rb +0 -1
- data/lib/chef/resource/file.rb +0 -1
- data/lib/chef/resource/freebsd_package.rb +2 -1
- data/lib/chef/resource/gem_package.rb +2 -1
- data/lib/chef/resource/group.rb +25 -2
- data/lib/chef/resource/habitat/habitat_package.rb +0 -1
- data/lib/chef/resource/habitat/habitat_sup.rb +6 -7
- data/lib/chef/resource/habitat/habitat_sup_windows.rb +1 -1
- data/lib/chef/resource/habitat_config.rb +0 -1
- data/lib/chef/resource/habitat_install.rb +0 -1
- data/lib/chef/resource/habitat_service.rb +0 -1
- data/lib/chef/resource/habitat_user_toml.rb +0 -1
- data/lib/chef/resource/homebrew_cask.rb +0 -1
- data/lib/chef/resource/homebrew_package.rb +2 -1
- data/lib/chef/resource/homebrew_tap.rb +0 -1
- data/lib/chef/resource/homebrew_update.rb +0 -2
- data/lib/chef/resource/hostname.rb +0 -1
- data/lib/chef/resource/http_request.rb +0 -1
- data/lib/chef/resource/ifconfig.rb +0 -1
- data/lib/chef/resource/inspec_input.rb +0 -1
- data/lib/chef/resource/inspec_waiver.rb +0 -1
- data/lib/chef/resource/inspec_waiver_file_entry.rb +2 -3
- data/lib/chef/resource/ips_package.rb +0 -1
- data/lib/chef/resource/kernel_module.rb +0 -1
- data/lib/chef/resource/ksh.rb +0 -1
- data/lib/chef/resource/launchd.rb +3 -1
- data/lib/chef/resource/link.rb +0 -1
- data/lib/chef/resource/locale.rb +2 -6
- data/lib/chef/resource/log.rb +0 -1
- data/lib/chef/resource/lwrp_base.rb +0 -4
- data/lib/chef/resource/macos_userdefaults.rb +8 -13
- data/lib/chef/resource/macosx_service.rb +0 -1
- data/lib/chef/resource/macports_package.rb +2 -1
- data/lib/chef/resource/mdadm.rb +0 -1
- data/lib/chef/resource/mount.rb +0 -1
- data/lib/chef/resource/msu_package.rb +0 -1
- data/lib/chef/resource/notify_group.rb +0 -2
- data/lib/chef/resource/ohai.rb +0 -1
- data/lib/chef/resource/ohai_hint.rb +0 -1
- data/lib/chef/resource/openbsd_package.rb +2 -1
- data/lib/chef/resource/openssl_dhparam.rb +0 -2
- data/lib/chef/resource/openssl_ec_private_key.rb +0 -2
- data/lib/chef/resource/openssl_ec_public_key.rb +0 -2
- data/lib/chef/resource/openssl_rsa_private_key.rb +0 -2
- data/lib/chef/resource/openssl_rsa_public_key.rb +0 -2
- data/lib/chef/resource/openssl_x509_certificate.rb +0 -2
- data/lib/chef/resource/openssl_x509_crl.rb +0 -2
- data/lib/chef/resource/openssl_x509_request.rb +0 -2
- data/lib/chef/resource/osx_profile.rb +0 -1
- data/lib/chef/resource/package.rb +0 -1
- data/lib/chef/resource/pacman_package.rb +2 -1
- data/lib/chef/resource/paludis_package.rb +0 -1
- data/lib/chef/resource/perl.rb +0 -1
- data/lib/chef/resource/plist.rb +7 -3
- data/lib/chef/resource/portage_package.rb +2 -1
- data/lib/chef/resource/powershell_package.rb +0 -1
- data/lib/chef/resource/powershell_package_source.rb +0 -1
- data/lib/chef/resource/powershell_script.rb +0 -1
- data/lib/chef/resource/python.rb +0 -1
- data/lib/chef/resource/reboot.rb +0 -1
- data/lib/chef/resource/registry_key.rb +0 -1
- data/lib/chef/resource/remote_directory.rb +0 -1
- data/lib/chef/resource/remote_file.rb +0 -1
- data/lib/chef/resource/rhsm_errata.rb +0 -1
- data/lib/chef/resource/rhsm_errata_level.rb +0 -1
- data/lib/chef/resource/rhsm_register.rb +2 -4
- data/lib/chef/resource/rhsm_repo.rb +0 -1
- data/lib/chef/resource/rhsm_subscription.rb +0 -1
- data/lib/chef/resource/route.rb +0 -1
- data/lib/chef/resource/rpm_package.rb +2 -1
- data/lib/chef/resource/ruby.rb +0 -1
- data/lib/chef/resource/ruby_block.rb +0 -1
- data/lib/chef/resource/scm/_scm.rb +0 -2
- data/lib/chef/resource/scm/git.rb +0 -2
- data/lib/chef/resource/scm/subversion.rb +0 -2
- data/lib/chef/resource/script.rb +0 -1
- data/lib/chef/resource/selinux/common_helpers.rb +47 -0
- data/lib/chef/resource/selinux/selinux_debian.erb +18 -0
- data/lib/chef/resource/selinux/selinux_default.erb +15 -0
- data/lib/chef/resource/selinux_boolean.rb +101 -0
- data/lib/chef/resource/selinux_fcontext.rb +160 -0
- data/lib/chef/resource/selinux_install.rb +107 -0
- data/lib/chef/resource/selinux_module.rb +143 -0
- data/lib/chef/resource/selinux_permissive.rb +64 -0
- data/lib/chef/resource/selinux_port.rb +118 -0
- data/lib/chef/resource/selinux_state.rb +166 -0
- data/lib/chef/resource/service.rb +0 -1
- data/lib/chef/resource/smartos_package.rb +2 -1
- data/lib/chef/resource/snap_package.rb +2 -1
- data/lib/chef/resource/solaris_package.rb +2 -1
- data/lib/chef/resource/ssh_known_hosts_entry.rb +0 -1
- data/lib/chef/resource/sudo.rb +0 -1
- data/lib/chef/resource/support/client.erb +2 -2
- data/lib/chef/resource/swap_file.rb +0 -1
- data/lib/chef/resource/sysctl.rb +1 -2
- data/lib/chef/resource/systemd_unit.rb +0 -1
- data/lib/chef/resource/template.rb +0 -1
- data/lib/chef/resource/timezone.rb +0 -1
- data/lib/chef/resource/user/aix_user.rb +0 -1
- data/lib/chef/resource/user/linux_user.rb +0 -1
- data/lib/chef/resource/user/mac_user.rb +0 -1
- data/lib/chef/resource/user/pw_user.rb +0 -1
- data/lib/chef/resource/user/solaris_user.rb +0 -1
- data/lib/chef/resource/user/windows_user.rb +0 -1
- data/lib/chef/resource/user.rb +10 -1
- data/lib/chef/resource/user_ulimit.rb +0 -1
- data/lib/chef/resource/whyrun_safe_ruby_block.rb +0 -1
- data/lib/chef/resource/windows_ad_join.rb +0 -2
- data/lib/chef/resource/windows_audit_policy.rb +0 -2
- data/lib/chef/resource/windows_auto_run.rb +0 -1
- data/lib/chef/resource/windows_defender.rb +0 -1
- data/lib/chef/resource/windows_defender_exclusion.rb +0 -1
- data/lib/chef/resource/windows_dfs_folder.rb +0 -1
- data/lib/chef/resource/windows_dfs_namespace.rb +0 -1
- data/lib/chef/resource/windows_dfs_server.rb +0 -1
- data/lib/chef/resource/windows_dns_record.rb +0 -1
- data/lib/chef/resource/windows_dns_zone.rb +0 -1
- data/lib/chef/resource/windows_env.rb +0 -1
- data/lib/chef/resource/windows_feature.rb +0 -1
- data/lib/chef/resource/windows_feature_dism.rb +0 -1
- data/lib/chef/resource/windows_feature_powershell.rb +0 -1
- data/lib/chef/resource/windows_firewall_profile.rb +0 -2
- data/lib/chef/resource/windows_firewall_rule.rb +0 -1
- data/lib/chef/resource/windows_font.rb +2 -3
- data/lib/chef/resource/windows_package.rb +3 -4
- data/lib/chef/resource/windows_pagefile.rb +0 -2
- data/lib/chef/resource/windows_path.rb +0 -1
- data/lib/chef/resource/windows_printer.rb +0 -1
- data/lib/chef/resource/windows_printer_port.rb +0 -1
- data/lib/chef/resource/windows_script.rb +0 -2
- data/lib/chef/resource/windows_security_policy.rb +0 -1
- data/lib/chef/resource/windows_service.rb +0 -1
- data/lib/chef/resource/windows_share.rb +0 -1
- data/lib/chef/resource/windows_shortcut.rb +1 -2
- data/lib/chef/resource/windows_task.rb +0 -1
- data/lib/chef/resource/windows_uac.rb +0 -1
- data/lib/chef/resource/windows_update_settings.rb +0 -1
- data/lib/chef/resource/windows_user_privilege.rb +0 -1
- data/lib/chef/resource/windows_workgroup.rb +0 -1
- data/lib/chef/resource/yum_package.rb +2 -1
- data/lib/chef/resource/yum_repository.rb +4 -1
- data/lib/chef/resource/zypper_package.rb +2 -1
- data/lib/chef/resource/zypper_repository.rb +0 -1
- data/lib/chef/resource.rb +12 -5
- data/lib/chef/resources.rb +7 -0
- data/lib/chef/run_context.rb +3 -3
- data/lib/chef/secret_fetcher/azure_key_vault.rb +3 -3
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/handle.rb +6 -7
- data/lib/chef/win32/registry.rb +7 -3
- data/spec/data/chef_guid +1 -0
- data/spec/data/nodes/mcwfhpowell.json +3 -0
- data/spec/data/rubygems.org/sexp_processor-info +2 -1
- data/spec/data/trusted_certs/example.crt +20 -29
- data/spec/data/trusted_certs/example_no_cn.crt +34 -30
- data/spec/data/trusted_certs/opscode.pem +54 -33
- data/spec/functional/assets/yumrepo-empty/repodata/01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +55 -0
- data/spec/functional/resource/chocolatey_package_spec.rb +20 -32
- data/spec/functional/resource/dsc_script_spec.rb +1 -1
- data/spec/functional/resource/group_spec.rb +10 -6
- data/spec/functional/resource/link_spec.rb +8 -8
- data/spec/functional/resource/macos_userdefaults_spec.rb +4 -4
- data/spec/functional/resource/plist_spec.rb +25 -0
- data/spec/functional/resource/user/linux_user_spec.rb +127 -0
- data/spec/functional/resource/windows_certificate_spec.rb +1 -26
- data/spec/functional/resource/windows_font_spec.rb +12 -9
- data/spec/functional/resource/yum_package_spec.rb +17 -1
- data/spec/functional/resource/zypper_package_spec.rb +12 -0
- data/spec/functional/shell_spec.rb +1 -2
- data/spec/functional/version_spec.rb +1 -1
- data/spec/integration/client/client_spec.rb +82 -3
- data/spec/integration/client/exit_code_spec.rb +1 -1
- data/spec/integration/client/fips_spec.rb +20 -0
- data/spec/integration/client/ipv6_spec.rb +1 -1
- data/spec/integration/compliance/compliance_spec.rb +1 -1
- data/spec/integration/recipes/accumulator_spec.rb +1 -1
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
- data/spec/integration/recipes/lwrp_spec.rb +1 -1
- data/spec/integration/recipes/notifies_spec.rb +1 -1
- data/spec/integration/recipes/notifying_block_spec.rb +1 -1
- data/spec/integration/recipes/remote_directory.rb +1 -1
- data/spec/integration/recipes/unified_mode_spec.rb +1 -1
- data/spec/integration/recipes/use_partial_spec.rb +2 -1
- data/spec/integration/solo/solo_spec.rb +2 -2
- data/spec/spec_helper.rb +5 -0
- data/spec/support/platform_helpers.rb +8 -0
- data/spec/support/ruby_installer.rb +1 -1
- data/spec/support/shared/functional/windows_script.rb +2 -2
- data/spec/unit/application/client_spec.rb +0 -10
- data/spec/unit/chef_fs/file_system_spec.rb +2 -0
- data/spec/unit/client_spec.rb +57 -8
- data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +1 -1
- data/spec/unit/cookbook/syntax_check_spec.rb +3 -0
- data/spec/unit/http/authenticator_spec.rb +68 -0
- data/spec/unit/mixin/powershell_exec_spec.rb +5 -5
- data/spec/unit/platform/query_helpers_spec.rb +2 -17
- data/spec/unit/property/validation_spec.rb +30 -0
- data/spec/unit/provider/cron_spec.rb +36 -0
- data/spec/unit/provider/http_request_spec.rb +60 -72
- data/spec/unit/provider/mount/linux_spec.rb +10 -0
- data/spec/unit/provider/package/chocolatey_spec.rb +3 -19
- data/spec/unit/provider/package/rubygems_spec.rb +1 -1
- data/spec/unit/provider/package/zypper_spec.rb +32 -0
- data/spec/unit/provider/user/linux_spec.rb +51 -11
- data/spec/unit/provider/user_spec.rb +24 -6
- data/spec/unit/resource/archive_file_spec.rb +1 -1
- data/spec/unit/resource/chef_client_cron_spec.rb +5 -0
- data/spec/unit/resource/chef_client_launchd_spec.rb +5 -0
- data/spec/unit/resource/chef_client_scheduled_task_spec.rb +5 -0
- data/spec/unit/resource/chef_client_systemd_timer_spec.rb +1 -1
- data/spec/unit/resource/cron_d_spec.rb +37 -1
- data/spec/unit/resource/macos_user_defaults_spec.rb +4 -4
- data/spec/unit/resource/rest_resource_spec.rb +381 -0
- data/spec/unit/resource/selinux_boolean_spec.rb +92 -0
- data/spec/unit/resource/selinux_fcontext_spec.rb +65 -0
- data/spec/unit/resource/selinux_install_spec.rb +60 -0
- data/spec/unit/resource/selinux_module_spec.rb +55 -0
- data/spec/unit/resource/selinux_permissive_spec.rb +39 -0
- data/spec/unit/resource/selinux_port_spec.rb +42 -0
- data/spec/unit/resource/selinux_state_spec.rb +46 -0
- data/spec/unit/resource/sysctl_spec.rb +2 -2
- data/spec/unit/resource/user/linux_user_spec.rb +42 -0
- data/spec/unit/resource/yum_repository_spec.rb +4 -0
- data/spec/unit/resource_spec.rb +0 -1
- data/spec/unit/util/dsc/local_configuration_manager_spec.rb +1 -1
- data/tasks/rspec.rb +1 -1
- metadata +107 -31
- /data/spec/functional/assets/chocolatey_feed/{test-A.1.0.0.nupkg → test-A.1.0.nupkg} +0 -0
- /data/spec/functional/assets/chocolatey_feed/{test-A.1.5.0.nupkg → test-A.1.5.nupkg} +0 -0
- /data/spec/functional/assets/chocolatey_feed/{test-A.2.0.0.nupkg → test-A.2.0.nupkg} +0 -0
- /data/spec/functional/assets/chocolatey_feed/{test-B.1.0.0.nupkg → test-B.1.0.nupkg} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{01a3b-filelists.sqlite.bz2 → 4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{6bf96-other.xml.gz → 74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{5dc1e-primary.sqlite.bz2 → a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{7c365-other.sqlite.bz2 → af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{401dc-filelists.xml.gz → bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{dabe2-primary.xml.gz → c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz} +0 -0
|
@@ -23,7 +23,6 @@ autoload :Plist, "plist"
|
|
|
23
23
|
class Chef
|
|
24
24
|
class Resource
|
|
25
25
|
class MacosUserDefaults < Chef::Resource
|
|
26
|
-
unified_mode true
|
|
27
26
|
|
|
28
27
|
# align with apple's marketing department
|
|
29
28
|
provides(:macos_userdefaults) { true }
|
|
@@ -51,17 +50,15 @@ class Chef
|
|
|
51
50
|
end
|
|
52
51
|
```
|
|
53
52
|
|
|
54
|
-
**
|
|
53
|
+
**Specifying the type of a key to skip automatic type detection**
|
|
55
54
|
|
|
56
55
|
```ruby
|
|
57
|
-
macos_userdefaults '
|
|
58
|
-
key '
|
|
59
|
-
value
|
|
60
|
-
|
|
61
|
-
host :current
|
|
56
|
+
macos_userdefaults 'Finder expanded save dialogs' do
|
|
57
|
+
key 'NSNavPanelExpandedStateForSaveMode'
|
|
58
|
+
value 'TRUE'
|
|
59
|
+
type 'bool'
|
|
62
60
|
end
|
|
63
61
|
```
|
|
64
|
-
|
|
65
62
|
DOC
|
|
66
63
|
|
|
67
64
|
property :domain, String,
|
|
@@ -72,7 +69,7 @@ class Chef
|
|
|
72
69
|
|
|
73
70
|
property :global, [TrueClass, FalseClass],
|
|
74
71
|
description: "Determines whether or not the domain is global.",
|
|
75
|
-
deprecated:
|
|
72
|
+
deprecated: "As of Chef Infra Client 17.8 the `global` property is no longer necessary.",
|
|
76
73
|
default: false,
|
|
77
74
|
desired_state: false
|
|
78
75
|
|
|
@@ -82,7 +79,6 @@ class Chef
|
|
|
82
79
|
|
|
83
80
|
property :host, [String, Symbol],
|
|
84
81
|
description: "Set either :current, :all or a hostname to set the user default at the host level.",
|
|
85
|
-
default: :all,
|
|
86
82
|
desired_state: false,
|
|
87
83
|
introduced: "16.3"
|
|
88
84
|
|
|
@@ -94,18 +90,17 @@ class Chef
|
|
|
94
90
|
description: "The value type of the preference key.",
|
|
95
91
|
equal_to: %w{bool string int float array dict},
|
|
96
92
|
desired_state: false,
|
|
97
|
-
deprecated:
|
|
93
|
+
deprecated: "As of Chef Infra Client 17.8 the `type` property is no longer necessary."
|
|
98
94
|
|
|
99
95
|
property :user, [String, Symbol],
|
|
100
96
|
description: "The system user that the default will be applied to. Set :current for current user, :all for all users or pass a valid username",
|
|
101
|
-
default: :current,
|
|
102
97
|
desired_state: false
|
|
103
98
|
|
|
104
99
|
property :sudo, [TrueClass, FalseClass],
|
|
105
100
|
description: "Set to true if the setting you wish to modify requires privileged access. This requires passwordless sudo for the `/usr/bin/defaults` command to be setup for the user running #{ChefUtils::Dist::Infra::PRODUCT}.",
|
|
106
101
|
default: false,
|
|
107
102
|
desired_state: false,
|
|
108
|
-
deprecated:
|
|
103
|
+
deprecated: "As of Chef Infra Client 17.8 the `sudo` property is no longer necessary."
|
|
109
104
|
|
|
110
105
|
load_current_value do |new_resource|
|
|
111
106
|
Chef::Log.debug "#load_current_value: attempting to read \"#{new_resource.domain}\" value from preferences to determine state"
|
|
@@ -21,11 +21,12 @@ require_relative "package"
|
|
|
21
21
|
class Chef
|
|
22
22
|
class Resource
|
|
23
23
|
class MacportsPackage < Chef::Resource::Package
|
|
24
|
-
unified_mode true
|
|
25
24
|
provides :macports_package
|
|
26
25
|
|
|
27
26
|
description "Use the **macports_package** resource to manage packages for the macOS platform using the MacPorts package management system."
|
|
28
27
|
|
|
28
|
+
allowed_actions :install, :upgrade, :remove, :purge
|
|
29
|
+
|
|
29
30
|
property :package_name, String,
|
|
30
31
|
description: "An optional property to set the package name if it differs from the resource block's name.",
|
|
31
32
|
identity: true
|
data/lib/chef/resource/mdadm.rb
CHANGED
data/lib/chef/resource/mount.rb
CHANGED
|
@@ -21,8 +21,6 @@ class Chef
|
|
|
21
21
|
class NotifyGroup < Chef::Resource
|
|
22
22
|
provides :notify_group
|
|
23
23
|
|
|
24
|
-
unified_mode true
|
|
25
|
-
|
|
26
24
|
description "The notify_group resource does nothing, and always fires notifications which are set on it. Use it to DRY blocks of notifications that are common to multiple resources, and provide a single target for other resources to notify. Unlike most resources, its default action is :nothing."
|
|
27
25
|
introduced "15.8"
|
|
28
26
|
examples <<~DOC
|
data/lib/chef/resource/ohai.rb
CHANGED
|
@@ -25,7 +25,6 @@ require_relative "../provider/package/openbsd"
|
|
|
25
25
|
class Chef
|
|
26
26
|
class Resource
|
|
27
27
|
class OpenbsdPackage < Chef::Resource::Package
|
|
28
|
-
unified_mode true
|
|
29
28
|
provides :openbsd_package
|
|
30
29
|
provides :package, os: "openbsd"
|
|
31
30
|
|
|
@@ -49,6 +48,8 @@ class Chef
|
|
|
49
48
|
```
|
|
50
49
|
DOC
|
|
51
50
|
|
|
51
|
+
allowed_actions :install, :remove
|
|
52
|
+
|
|
52
53
|
property :package_name, String,
|
|
53
54
|
description: "An optional property to set the package name if it differs from the resource block's name.",
|
|
54
55
|
identity: true
|
|
@@ -23,8 +23,6 @@ class Chef
|
|
|
23
23
|
require_relative "../mixin/openssl_helper"
|
|
24
24
|
include Chef::Mixin::OpenSSLHelper
|
|
25
25
|
|
|
26
|
-
unified_mode true
|
|
27
|
-
|
|
28
26
|
provides(:openssl_dhparam) { true }
|
|
29
27
|
|
|
30
28
|
description "Use the **openssl_dhparam** resource to generate `dhparam.pem` files. If a valid `dhparam.pem` file is found at the specified location, no new file will be created. If a file is found at the specified location but it is not a valid `dhparam.pem` file, it will be overwritten."
|
|
@@ -24,8 +24,6 @@ class Chef
|
|
|
24
24
|
require_relative "../mixin/openssl_helper"
|
|
25
25
|
include Chef::Mixin::OpenSSLHelper
|
|
26
26
|
|
|
27
|
-
unified_mode true
|
|
28
|
-
|
|
29
27
|
provides :openssl_ec_private_key
|
|
30
28
|
|
|
31
29
|
description "Use the **openssl_ec_private_key** resource to generate an elliptic curve (EC) private key file. If a valid EC key file can be opened at the specified location, no new file will be created. If the EC key file cannot be opened, either because it does not exist or because the password to the EC key file does not match the password in the recipe, then it will be overwritten."
|
|
@@ -24,8 +24,6 @@ class Chef
|
|
|
24
24
|
require_relative "../mixin/openssl_helper"
|
|
25
25
|
include Chef::Mixin::OpenSSLHelper
|
|
26
26
|
|
|
27
|
-
unified_mode true
|
|
28
|
-
|
|
29
27
|
provides :openssl_ec_public_key
|
|
30
28
|
|
|
31
29
|
description "Use the **openssl_ec_public_key** resource to generate elliptic curve (EC) public key files from a given EC private key."
|
|
@@ -24,8 +24,6 @@ class Chef
|
|
|
24
24
|
require_relative "../mixin/openssl_helper"
|
|
25
25
|
include Chef::Mixin::OpenSSLHelper
|
|
26
26
|
|
|
27
|
-
unified_mode true
|
|
28
|
-
|
|
29
27
|
provides :openssl_x509_crl
|
|
30
28
|
|
|
31
29
|
description "Use the **openssl_x509_crl** resource to generate PEM-formatted x509 certificate revocation list (CRL) files."
|
|
@@ -24,8 +24,6 @@ class Chef
|
|
|
24
24
|
require_relative "../mixin/openssl_helper"
|
|
25
25
|
include Chef::Mixin::OpenSSLHelper
|
|
26
26
|
|
|
27
|
-
unified_mode true
|
|
28
|
-
|
|
29
27
|
provides :openssl_x509_request
|
|
30
28
|
|
|
31
29
|
description "Use the **openssl_x509_request** resource to generate PEM-formatted x509 certificates requests. If no existing key is specified, the resource will automatically generate a passwordless key with the certificate."
|
|
@@ -21,10 +21,11 @@ require_relative "package"
|
|
|
21
21
|
class Chef
|
|
22
22
|
class Resource
|
|
23
23
|
class PacmanPackage < Chef::Resource::Package
|
|
24
|
-
unified_mode true
|
|
25
24
|
|
|
26
25
|
provides :pacman_package
|
|
27
26
|
|
|
27
|
+
allowed_actions :install, :upgrade, :remove, :purge
|
|
28
|
+
|
|
28
29
|
description "Use the **pacman_package** resource to manage packages (using pacman) on the Arch Linux platform."
|
|
29
30
|
end
|
|
30
31
|
end
|
data/lib/chef/resource/perl.rb
CHANGED
data/lib/chef/resource/plist.rb
CHANGED
|
@@ -22,7 +22,6 @@ class Chef
|
|
|
22
22
|
class Resource
|
|
23
23
|
|
|
24
24
|
class PlistResource < Chef::Resource # we name this PlistResource to avoid confusion with Plist from the plist gem
|
|
25
|
-
unified_mode true
|
|
26
25
|
|
|
27
26
|
provides :plist
|
|
28
27
|
|
|
@@ -85,7 +84,7 @@ class Chef
|
|
|
85
84
|
converge_if_changed :path do
|
|
86
85
|
converge_by "create new plist: '#{new_resource.path}'" do
|
|
87
86
|
file new_resource.path do
|
|
88
|
-
content
|
|
87
|
+
content({}.to_plist)
|
|
89
88
|
owner new_resource.owner
|
|
90
89
|
group new_resource.group
|
|
91
90
|
mode new_resource.mode if property_is_set?(:mode)
|
|
@@ -189,7 +188,12 @@ class Chef
|
|
|
189
188
|
sep = " "
|
|
190
189
|
arg = case subcommand.to_s
|
|
191
190
|
when "add"
|
|
192
|
-
|
|
191
|
+
if value.is_a?(Hash)
|
|
192
|
+
sep = ":"
|
|
193
|
+
value.map { |k, v| "#{k} #{type_to_commandline_string(v)}" }
|
|
194
|
+
else
|
|
195
|
+
type_to_commandline_string(value)
|
|
196
|
+
end
|
|
193
197
|
when "set"
|
|
194
198
|
if value.is_a?(Hash)
|
|
195
199
|
sep = ":"
|
|
@@ -21,12 +21,13 @@ require_relative "package"
|
|
|
21
21
|
class Chef
|
|
22
22
|
class Resource
|
|
23
23
|
class PortagePackage < Chef::Resource::Package
|
|
24
|
-
unified_mode true
|
|
25
24
|
|
|
26
25
|
provides :portage_package
|
|
27
26
|
|
|
28
27
|
description "Use the **portage_package** resource to manage packages for the Gentoo platform."
|
|
29
28
|
|
|
29
|
+
allowed_actions :install, :upgrade, :remove, :purge
|
|
30
|
+
|
|
30
31
|
property :package_name, String,
|
|
31
32
|
description: "An optional property to set the package name if it differs from the resource block's name.",
|
|
32
33
|
identity: true
|
data/lib/chef/resource/python.rb
CHANGED
data/lib/chef/resource/reboot.rb
CHANGED
|
@@ -20,7 +20,6 @@ require_relative "../resource"
|
|
|
20
20
|
class Chef
|
|
21
21
|
class Resource
|
|
22
22
|
class RhsmErrata < Chef::Resource
|
|
23
|
-
unified_mode true
|
|
24
23
|
provides(:rhsm_errata) { true }
|
|
25
24
|
|
|
26
25
|
description "Use the **rhsm_errata** resource to install packages associated with a given Red Hat Subscription Manager Errata ID. This is helpful if packages to mitigate a single vulnerability must be installed on your hosts."
|
|
@@ -20,7 +20,6 @@ require_relative "../resource"
|
|
|
20
20
|
class Chef
|
|
21
21
|
class Resource
|
|
22
22
|
class RhsmErrataLevel < Chef::Resource
|
|
23
|
-
unified_mode true
|
|
24
23
|
provides(:rhsm_errata_level) { true }
|
|
25
24
|
|
|
26
25
|
description "Use the **rhsm_errata_level** resource to install all packages of a specified errata level from the Red Hat Subscription Manager. For example, you can ensure that all packages associated with errata marked at a 'Critical' security level are installed."
|
|
@@ -22,7 +22,6 @@ require "shellwords" unless defined?(Shellwords)
|
|
|
22
22
|
class Chef
|
|
23
23
|
class Resource
|
|
24
24
|
class RhsmRegister < Chef::Resource
|
|
25
|
-
unified_mode true
|
|
26
25
|
provides(:rhsm_register) { true }
|
|
27
26
|
|
|
28
27
|
description "Use the **rhsm_register** resource to register a node with the Red Hat Subscription Manager or a local Red Hat Satellite server."
|
|
@@ -93,7 +92,7 @@ class Chef
|
|
|
93
92
|
|
|
94
93
|
property :release,
|
|
95
94
|
[Float, String],
|
|
96
|
-
description: "Sets the operating system minor release to use for subscriptions for the system. Products and updates are limited to the specified minor release version. This is used
|
|
95
|
+
description: "Sets the operating system minor release to use for subscriptions for the system. Products and updates are limited to the specified minor release version. This is used with the `auto_attach` option, it may also be used with activation keys. For example, `release '6.4'` will append `--release=6.4` to the register command.",
|
|
97
96
|
introduced: "17.8"
|
|
98
97
|
|
|
99
98
|
action :register, description: "Register the node with RHSM." do
|
|
@@ -137,8 +136,6 @@ class Chef
|
|
|
137
136
|
end
|
|
138
137
|
|
|
139
138
|
action :unregister, description: "Unregister the node from RHSM." do
|
|
140
|
-
description "Unregister the node from RHSM."
|
|
141
|
-
|
|
142
139
|
package flush_package_cache_name do
|
|
143
140
|
action :nothing
|
|
144
141
|
end
|
|
@@ -208,6 +205,7 @@ class Chef
|
|
|
208
205
|
command << "--name=#{Shellwords.shellescape(new_resource.system_name)}" if new_resource.system_name
|
|
209
206
|
command << "--serverurl=#{Shellwords.shellescape(new_resource.server_url)}" if new_resource.server_url
|
|
210
207
|
command << "--baseurl=#{Shellwords.shellescape(new_resource.base_url)}" if new_resource.base_url
|
|
208
|
+
command << "--release=#{Shellwords.shellescape(new_resource.release)}" if new_resource.release
|
|
211
209
|
command << "--force" if new_resource.force
|
|
212
210
|
|
|
213
211
|
return command.join(" ")
|
data/lib/chef/resource/route.rb
CHANGED
|
@@ -21,10 +21,11 @@ require_relative "package"
|
|
|
21
21
|
class Chef
|
|
22
22
|
class Resource
|
|
23
23
|
class RpmPackage < Chef::Resource::Package
|
|
24
|
-
unified_mode true
|
|
25
24
|
|
|
26
25
|
provides :rpm_package
|
|
27
26
|
|
|
27
|
+
allowed_actions :install, :upgrade, :remove
|
|
28
|
+
|
|
28
29
|
description "Use the **rpm_package** resource to manage packages using the RPM Package Manager."
|
|
29
30
|
|
|
30
31
|
property :allow_downgrade, [ TrueClass, FalseClass ],
|
data/lib/chef/resource/ruby.rb
CHANGED
|
@@ -23,8 +23,6 @@ class Chef
|
|
|
23
23
|
class Git < Chef::Resource
|
|
24
24
|
use "scm"
|
|
25
25
|
|
|
26
|
-
unified_mode true
|
|
27
|
-
|
|
28
26
|
provides :git
|
|
29
27
|
|
|
30
28
|
description "Use the **git** resource to manage source control resources that exist in a git repository. git version 1.6.5 (or higher) is required to use all of the functionality in the git resource."
|
|
@@ -24,8 +24,6 @@ class Chef
|
|
|
24
24
|
class Subversion < Chef::Resource
|
|
25
25
|
use "scm"
|
|
26
26
|
|
|
27
|
-
unified_mode true
|
|
28
|
-
|
|
29
27
|
provides :subversion
|
|
30
28
|
|
|
31
29
|
description "Use the **subversion** resource to manage source control resources that exist in a Subversion repository. Warning: The subversion resource has known bugs and may not work as expected. For more information see Chef GitHub issues, particularly [#4050](https://github.com/chef/chef/issues/4050) and [#4257](https://github.com/chef/chef/issues/4257)."
|
data/lib/chef/resource/script.rb
CHANGED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
#
|
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
#
|
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
# See the License for the specific language governing permissions and
|
|
12
|
+
# limitations under the License.
|
|
13
|
+
#
|
|
14
|
+
class Chef
|
|
15
|
+
module SELinux
|
|
16
|
+
module CommonHelpers
|
|
17
|
+
def selinux_disabled?
|
|
18
|
+
selinux_state.eql?(:disabled)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def selinux_enforcing?
|
|
22
|
+
selinux_state.eql?(:enforcing)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def selinux_permissive?
|
|
26
|
+
selinux_state.eql?(:permissive)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def state_change_reboot_required?
|
|
30
|
+
(selinux_disabled? && %i{enforcing permissive}.include?(action)) || ((selinux_enforcing? || selinux_permissive?) && action == :disabled)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def selinux_state
|
|
34
|
+
state = shell_out!("getenforce").stdout.strip.downcase.to_sym
|
|
35
|
+
raise "Got unknown SELinux state #{state}" unless %i{disabled enforcing permissive}.include?(state)
|
|
36
|
+
|
|
37
|
+
state
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def selinux_activate_required?
|
|
41
|
+
return false unless platform_family?("debian")
|
|
42
|
+
|
|
43
|
+
!File.read("/etc/default/grub").match?("security=selinux")
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Generated by Chef for <%= node['fqdn'] %>
|
|
2
|
+
# Do NOT modify this file by hand.
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
# This file controls the state of SELinux on the system.
|
|
6
|
+
# SELINUX= can take one of these three values:
|
|
7
|
+
# enforcing - SELinux security policy is enforced.
|
|
8
|
+
# permissive - SELinux prints warnings instead of enforcing.
|
|
9
|
+
# disabled - No SELinux policy is loaded.
|
|
10
|
+
SELINUX=<%= @selinux %>
|
|
11
|
+
# SELINUXTYPE= can take one of these three values:
|
|
12
|
+
# default - equivalent to the old strict and targeted policies
|
|
13
|
+
# mls - Multi-Level Security (for military and educational use)
|
|
14
|
+
# src - Custom policy built from source
|
|
15
|
+
SELINUXTYPE=<%= @selinuxtype %>
|
|
16
|
+
|
|
17
|
+
# SETLOCALDEFS= Check local definition changes
|
|
18
|
+
SETLOCALDEFS=0
|