chef 17.0.242-universal-mingw32 → 17.4.25-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 +4 -14
- data/Rakefile +2 -2
- data/chef.gemspec +10 -20
- data/lib/chef/action_collection.rb +6 -26
- data/lib/chef/application/base.rb +15 -0
- data/lib/chef/application.rb +4 -2
- data/lib/chef/chef_fs/file_pattern.rb +2 -2
- data/lib/chef/client.rb +7 -1
- data/lib/chef/compliance/default_attributes.rb +5 -3
- data/lib/chef/compliance/reporter/automate.rb +1 -1
- data/lib/chef/compliance/runner.rb +17 -3
- data/lib/chef/cookbook/cookbook_version_loader.rb +3 -3
- data/lib/chef/cookbook/gem_installer.rb +5 -1
- data/lib/chef/cookbook_version.rb +26 -4
- data/lib/chef/data_collector/run_end_message.rb +1 -1
- data/lib/chef/data_collector.rb +0 -1
- data/lib/chef/deprecated.rb +14 -4
- data/lib/chef/dsl/declare_resource.rb +5 -10
- data/lib/chef/dsl/render_helpers.rb +44 -0
- data/lib/chef/dsl/secret.rb +64 -0
- data/lib/chef/dsl/toml.rb +116 -0
- data/lib/chef/dsl/universal.rb +5 -0
- data/lib/chef/dsl.rb +1 -0
- data/lib/chef/event_dispatch/base.rb +2 -1
- data/lib/chef/exceptions.rb +23 -0
- data/lib/chef/formatters/doc.rb +2 -1
- data/lib/chef/formatters/error_mapper.rb +2 -2
- data/lib/chef/handler/slow_report.rb +66 -0
- data/lib/chef/handler.rb +46 -8
- data/lib/chef/json_compat.rb +1 -1
- data/lib/chef/node.rb +21 -20
- data/lib/chef/policy_builder/policyfile.rb +88 -45
- data/lib/chef/provider/directory.rb +6 -6
- data/lib/chef/provider/execute.rb +1 -1
- data/lib/chef/provider/file.rb +2 -2
- data/lib/chef/provider/group/dscl.rb +1 -1
- data/lib/chef/provider/launchd.rb +6 -6
- data/lib/chef/provider/link.rb +1 -1
- data/lib/chef/provider/lwrp_base.rb +1 -1
- data/lib/chef/provider/package/dnf/dnf_helper.py +11 -10
- data/lib/chef/provider/package/dnf/python_helper.rb +9 -8
- data/lib/chef/provider/package/habitat.rb +168 -0
- data/lib/chef/provider/package/powershell.rb +5 -0
- data/lib/chef/provider/package/yum/python_helper.rb +15 -10
- data/lib/chef/provider/package/yum/yum_helper.py +46 -62
- data/lib/chef/provider/package/yum.rb +1 -4
- data/lib/chef/provider/registry_key.rb +1 -1
- data/lib/chef/provider/service/systemd.rb +1 -1
- data/lib/chef/provider/subversion.rb +4 -4
- data/lib/chef/provider/support/yum_repo.erb +1 -1
- data/lib/chef/provider/support/zypper_repo.erb +4 -2
- data/lib/chef/provider/systemd_unit.rb +18 -17
- data/lib/chef/provider/template/content.rb +1 -1
- data/lib/chef/provider/user/mac.rb +3 -3
- data/lib/chef/provider/windows_script.rb +1 -1
- data/lib/chef/provider/yum_repository.rb +27 -43
- data/lib/chef/provider/zypper_repository.rb +30 -34
- data/lib/chef/provider.rb +26 -1
- data/lib/chef/provider_resolver.rb +8 -2
- data/lib/chef/providers.rb +1 -0
- data/lib/chef/resource/alternatives.rb +5 -5
- data/lib/chef/resource/apt_preference.rb +2 -2
- data/lib/chef/resource/apt_repository.rb +2 -2
- data/lib/chef/resource/apt_update.rb +4 -4
- data/lib/chef/resource/build_essential.rb +1 -1
- data/lib/chef/resource/chef_client_config.rb +10 -5
- data/lib/chef/resource/chef_client_cron.rb +3 -3
- data/lib/chef/resource/chef_client_launchd.rb +3 -3
- data/lib/chef/resource/chef_client_scheduled_task.rb +15 -15
- data/lib/chef/resource/chef_client_systemd_timer.rb +3 -3
- data/lib/chef/resource/chef_client_trusted_certificate.rb +2 -2
- data/lib/chef/resource/chef_handler.rb +2 -2
- data/lib/chef/resource/chef_sleep.rb +1 -1
- data/lib/chef/resource/chef_vault_secret.rb +2 -2
- data/lib/chef/resource/chocolatey_feature.rb +2 -2
- data/lib/chef/resource/chocolatey_source.rb +1 -1
- data/lib/chef/resource/cron/cron_d.rb +4 -6
- data/lib/chef/resource/cron_access.rb +1 -1
- data/lib/chef/resource/dmg_package.rb +1 -1
- data/lib/chef/resource/dsc_resource.rb +1 -1
- data/lib/chef/resource/execute.rb +5 -5
- data/lib/chef/resource/gem_package.rb +2 -1
- data/lib/chef/resource/group.rb +4 -4
- data/lib/chef/resource/habitat/_habitat_shared.rb +28 -0
- data/lib/chef/resource/habitat/habitat_package.rb +129 -0
- data/lib/chef/resource/habitat/habitat_sup.rb +329 -0
- data/lib/chef/resource/habitat/habitat_sup_systemd.rb +67 -0
- data/lib/chef/resource/habitat/habitat_sup_windows.rb +90 -0
- data/lib/chef/resource/habitat_config.rb +107 -0
- data/lib/chef/resource/habitat_install.rb +247 -0
- data/lib/chef/resource/habitat_service.rb +451 -0
- data/lib/chef/resource/habitat_user_toml.rb +92 -0
- data/lib/chef/resource/homebrew_cask.rb +18 -7
- data/lib/chef/resource/homebrew_package.rb +1 -1
- data/lib/chef/resource/homebrew_tap.rb +4 -3
- data/lib/chef/resource/homebrew_update.rb +2 -2
- data/lib/chef/resource/hostname.rb +49 -7
- data/lib/chef/resource/inspec_waiver_file_entry.rb +156 -0
- data/lib/chef/resource/kernel_module.rb +6 -6
- data/lib/chef/resource/launchd.rb +3 -3
- data/lib/chef/resource/locale.rb +1 -1
- data/lib/chef/resource/lwrp_base.rb +18 -3
- data/lib/chef/resource/macos_userdefaults.rb +2 -2
- data/lib/chef/resource/ohai_hint.rb +2 -6
- data/lib/chef/resource/openbsd_package.rb +17 -0
- data/lib/chef/resource/openssl_dhparam.rb +1 -2
- data/lib/chef/resource/openssl_ec_private_key.rb +1 -3
- data/lib/chef/resource/openssl_ec_public_key.rb +1 -3
- data/lib/chef/resource/openssl_rsa_private_key.rb +1 -3
- data/lib/chef/resource/openssl_rsa_public_key.rb +1 -3
- data/lib/chef/resource/openssl_x509_certificate.rb +1 -4
- data/lib/chef/resource/openssl_x509_crl.rb +1 -3
- data/lib/chef/resource/openssl_x509_request.rb +1 -3
- data/lib/chef/resource/osx_profile.rb +3 -3
- data/lib/chef/resource/plist.rb +1 -1
- data/lib/chef/resource/powershell_package_source.rb +2 -4
- data/lib/chef/resource/reboot.rb +38 -9
- data/lib/chef/resource/remote_directory.rb +2 -2
- data/lib/chef/resource/remote_file.rb +3 -3
- data/lib/chef/resource/rhsm_errata.rb +0 -2
- data/lib/chef/resource/rhsm_errata_level.rb +1 -5
- data/lib/chef/resource/rhsm_repo.rb +15 -0
- data/lib/chef/resource/rhsm_subscription.rb +5 -5
- data/lib/chef/resource/ruby_block.rb +100 -0
- data/lib/chef/resource/scm/subversion.rb +1 -1
- data/lib/chef/resource/ssh_known_hosts_entry.rb +4 -7
- data/lib/chef/resource/sudo.rb +2 -6
- data/lib/chef/resource/support/HabService.dll.config.erb +19 -0
- data/lib/chef/resource/support/client.erb +8 -1
- data/lib/chef/resource/support/sup.toml.erb +179 -0
- data/lib/chef/resource/swap_file.rb +2 -6
- data/lib/chef/resource/sysctl.rb +2 -2
- data/lib/chef/resource/systemd_unit.rb +3 -3
- data/lib/chef/resource/timezone.rb +1 -1
- data/lib/chef/resource/user_ulimit.rb +2 -2
- data/lib/chef/resource/windows_ad_join.rb +2 -2
- data/lib/chef/resource/windows_audit_policy.rb +2 -2
- data/lib/chef/resource/windows_auto_run.rb +2 -2
- data/lib/chef/resource/windows_certificate.rb +1 -1
- data/lib/chef/resource/windows_defender.rb +163 -0
- data/lib/chef/resource/windows_defender_exclusion.rb +125 -0
- data/lib/chef/resource/windows_dfs_folder.rb +2 -2
- data/lib/chef/resource/windows_dfs_namespace.rb +2 -2
- data/lib/chef/resource/windows_dns_record.rb +2 -2
- data/lib/chef/resource/windows_dns_zone.rb +2 -2
- data/lib/chef/resource/windows_env.rb +1 -1
- data/lib/chef/resource/windows_feature.rb +3 -3
- data/lib/chef/resource/windows_feature_dism.rb +3 -5
- data/lib/chef/resource/windows_feature_powershell.rb +3 -3
- data/lib/chef/resource/windows_firewall_profile.rb +2 -2
- data/lib/chef/resource/windows_firewall_rule.rb +20 -6
- data/lib/chef/resource/windows_font.rb +2 -2
- data/lib/chef/resource/windows_pagefile.rb +104 -65
- data/lib/chef/resource/windows_path.rb +4 -4
- data/lib/chef/resource/windows_printer.rb +80 -61
- data/lib/chef/resource/windows_printer_port.rb +48 -65
- data/lib/chef/resource/windows_security_policy.rb +7 -4
- data/lib/chef/resource/windows_share.rb +2 -2
- data/lib/chef/resource/windows_shortcut.rb +1 -1
- data/lib/chef/resource/windows_task.rb +2 -2
- data/lib/chef/resource/windows_uac.rb +3 -5
- data/lib/chef/resource/windows_update_settings.rb +259 -0
- data/lib/chef/resource/windows_user_privilege.rb +2 -2
- data/lib/chef/resource/windows_workgroup.rb +2 -2
- data/lib/chef/resource/yum_package.rb +11 -15
- data/lib/chef/resource/zypper_package.rb +4 -4
- data/lib/chef/resource/zypper_repository.rb +28 -8
- data/lib/chef/resource.rb +20 -25
- data/lib/chef/resource_builder.rb +8 -2
- data/lib/chef/resource_inspector.rb +6 -2
- data/lib/chef/resource_reporter.rb +0 -1
- data/lib/chef/resources.rb +13 -1
- data/lib/chef/run_lock.rb +1 -1
- data/lib/chef/runner.rb +1 -1
- data/lib/chef/secret_fetcher/aws_secrets_manager.rb +65 -0
- data/lib/chef/secret_fetcher/azure_key_vault.rb +78 -0
- data/lib/chef/secret_fetcher/base.rb +76 -0
- data/lib/chef/secret_fetcher/example.rb +46 -0
- data/lib/chef/secret_fetcher.rb +55 -0
- data/lib/chef/shell/ext.rb +3 -3
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api.rb +9 -2
- 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 +7 -0
- data/spec/data/knife_subcommand/test_name_mapping.rb +4 -0
- data/spec/data/knife_subcommand/test_yourself.rb +21 -0
- data/spec/functional/mixin/from_file_spec.rb +1 -1
- data/spec/functional/resource/dnf_package_spec.rb +857 -537
- data/spec/functional/resource/group_spec.rb +1 -1
- data/spec/functional/resource/link_spec.rb +1 -1
- data/spec/functional/resource/remote_file_spec.rb +1 -1
- data/spec/functional/resource/windows_env_spec.rb +2 -2
- data/spec/functional/resource/windows_hostname_spec.rb +91 -0
- data/spec/functional/resource/windows_pagefile_spec.rb +98 -0
- data/spec/functional/resource/yum_package_spec.rb +495 -428
- data/spec/integration/client/client_spec.rb +0 -20
- data/spec/integration/compliance/compliance_spec.rb +1 -0
- data/spec/integration/recipes/recipe_dsl_spec.rb +1 -1
- data/spec/integration/recipes/resource_action_spec.rb +6 -6
- data/spec/integration/recipes/unified_mode_spec.rb +70 -0
- data/spec/spec_helper.rb +3 -0
- data/spec/support/chef_helpers.rb +1 -1
- data/spec/support/shared/functional/execute_resource.rb +1 -1
- data/spec/support/shared/functional/knife.rb +37 -0
- data/spec/support/shared/integration/knife_support.rb +192 -0
- data/spec/support/shared/unit/knife_shared.rb +39 -0
- data/spec/support/shared/unit/provider/file.rb +3 -9
- data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -1
- data/spec/unit/compliance/runner_spec.rb +46 -2
- data/spec/unit/cookbook_version_spec.rb +52 -0
- data/spec/unit/data_collector_spec.rb +47 -1
- data/spec/unit/dsl/render_helpers_spec.rb +102 -0
- data/spec/unit/dsl/secret_spec.rb +71 -0
- data/spec/unit/handler_spec.rb +8 -2
- data/spec/unit/policy_builder/dynamic_spec.rb +0 -5
- data/spec/unit/policy_builder/policyfile_spec.rb +144 -56
- data/spec/unit/provider/apt_update_spec.rb +3 -1
- data/spec/unit/provider/link_spec.rb +1 -1
- data/spec/unit/provider/mount/aix_spec.rb +1 -1
- data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -0
- data/spec/unit/provider/package/powershell_spec.rb +74 -12
- data/spec/unit/provider/package/yum/python_helper_spec.rb +1 -0
- data/spec/unit/provider/service/systemd_service_spec.rb +2 -2
- data/spec/unit/provider/systemd_unit_spec.rb +2 -2
- data/spec/unit/provider/zypper_repository_spec.rb +3 -10
- data/spec/unit/provider_spec.rb +23 -0
- data/spec/unit/resource/homebrew_cask_spec.rb +29 -11
- data/spec/unit/resource/inspec_waiver_file_entry_spec.rb +80 -0
- data/spec/unit/resource/rhsm_subscription_spec.rb +50 -3
- data/spec/unit/resource/systemd_unit_spec.rb +1 -1
- data/spec/unit/resource/windows_defender_exclusion_spec.rb +62 -0
- data/spec/unit/resource/windows_defender_spec.rb +71 -0
- data/spec/unit/resource/windows_firewall_rule_spec.rb +12 -7
- data/spec/unit/resource/windows_pagefile_spec.rb +4 -9
- data/spec/unit/resource/windows_update_settings_spec.rb +64 -0
- data/spec/unit/resource/zypper_repository_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +19 -8
- data/spec/unit/secret_fetcher/aws_secrets_manager_spec.rb +70 -0
- data/spec/unit/secret_fetcher/azure_key_vault_spec.rb +70 -0
- data/spec/unit/secret_fetcher_spec.rb +82 -0
- data/tasks/rspec.rb +4 -9
- metadata +65 -161
- data/lib/chef/provider/package/yum/simplejson/LICENSE.txt +0 -79
- data/lib/chef/provider/package/yum/simplejson/__init__.py +0 -318
- data/lib/chef/provider/package/yum/simplejson/__init__.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/decoder.py +0 -354
- data/lib/chef/provider/package/yum/simplejson/decoder.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/encoder.py +0 -440
- data/lib/chef/provider/package/yum/simplejson/encoder.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/scanner.py +0 -65
- data/lib/chef/provider/package/yum/simplejson/scanner.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/tool.py +0 -37
@@ -28,7 +28,7 @@ class Chef
|
|
28
28
|
|
29
29
|
provides :subversion
|
30
30
|
|
31
|
-
description "Use the **subversion** resource to manage source control resources that exist in a Subversion repository."
|
31
|
+
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)."
|
32
32
|
examples <<~DOC
|
33
33
|
**Get the latest version of an application**
|
34
34
|
|
@@ -75,7 +75,8 @@ class Chef
|
|
75
75
|
|
76
76
|
property :group, [String, Integer],
|
77
77
|
description: "The file group for the ssh_known_hosts file.",
|
78
|
-
default: lazy { node["root_group"] }
|
78
|
+
default: lazy { node["root_group"] },
|
79
|
+
default_description: "The root user's group depending on platform."
|
79
80
|
|
80
81
|
property :hash_entries, [TrueClass, FalseClass],
|
81
82
|
description: "Hash the hostname and addresses in the ssh_known_hosts file for privacy.",
|
@@ -85,9 +86,7 @@ class Chef
|
|
85
86
|
description: "The location of the ssh known hosts file. Change this to set a known host file for a particular user.",
|
86
87
|
default: "/etc/ssh/ssh_known_hosts"
|
87
88
|
|
88
|
-
action :create do
|
89
|
-
description "Create an entry in the ssh_known_hosts file."
|
90
|
-
|
89
|
+
action :create, description: "Create an entry in the ssh_known_hosts file." do
|
91
90
|
key =
|
92
91
|
if new_resource.key
|
93
92
|
hoststr = (new_resource.port != 22) ? "[#{new_resource.host}]:#{new_resource.port}" : new_resource.host
|
@@ -129,9 +128,7 @@ class Chef
|
|
129
128
|
end
|
130
129
|
|
131
130
|
# all this does is send an immediate run_action(:create) to the template resource
|
132
|
-
action :flush do
|
133
|
-
description "Immediately flush the entries to the config file. Without this the actual writing of the file is delayed in the #{ChefUtils::Dist::Infra::PRODUCT} run so all entries can be accumulated before writing the file out."
|
134
|
-
|
131
|
+
action :flush, description: "Immediately flush the entries to the config file. Without this the actual writing of the file is delayed in the #{ChefUtils::Dist::Infra::PRODUCT} run so all entries can be accumulated before writing the file out." do
|
135
132
|
with_run_context :root do
|
136
133
|
# if you haven't ever called ssh_known_hosts_entry before you're definitely doing it wrong so we blow up hard.
|
137
134
|
find_resource!(:template, "update ssh known hosts file #{new_resource.file_location}").run_action(:create)
|
data/lib/chef/resource/sudo.rb
CHANGED
@@ -170,9 +170,7 @@ class Chef
|
|
170
170
|
end
|
171
171
|
end
|
172
172
|
|
173
|
-
action :create do
|
174
|
-
description "Create a single sudoers config in the sudoers.d directory"
|
175
|
-
|
173
|
+
action :create, description: "Create a single sudoers configuration file in the `sudoers.d` directory." do
|
176
174
|
validate_properties
|
177
175
|
|
178
176
|
if docker? # don't even put this into resource collection unless we're in docker
|
@@ -230,9 +228,7 @@ class Chef
|
|
230
228
|
end
|
231
229
|
|
232
230
|
# Removes a user from the sudoers group
|
233
|
-
action :delete do
|
234
|
-
description "Remove a sudoers config from the sudoers.d directory"
|
235
|
-
|
231
|
+
action :delete, description: "Remove a sudoers configuration file from the `sudoers.d` directory." do
|
236
232
|
file "#{new_resource.config_prefix}/sudoers.d/#{new_resource.filename}" do
|
237
233
|
action :delete
|
238
234
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<configuration>
|
3
|
+
<appSettings>
|
4
|
+
<add key="debug" value="false" />
|
5
|
+
<% if @auth_token %>
|
6
|
+
<add key="ENV_HAB_AUTH_TOKEN" value="<%= @auth_token %>" />
|
7
|
+
<% end %>
|
8
|
+
<% if @gateway_auth_token %>
|
9
|
+
<add key="ENV_HAB_SUP_GATEWAY_AUTH_TOKEN" value="<%= @gateway_auth_token %>" />
|
10
|
+
<% end %>
|
11
|
+
<% if @bldr_url %>
|
12
|
+
<add key="ENV_HAB_BLDR_URL" value="<%= @bldr_url %>" />
|
13
|
+
<% end %>
|
14
|
+
<%if @exec_start_options %>
|
15
|
+
<add key="launcherArgs" value="--no-color <%= @exec_start_options %>" />
|
16
|
+
<% end %>
|
17
|
+
<add key="launcherPath" value="C:\Hab\pkgs\<%= `hab pkg list core/hab-launcher`.split().last %>\bin\hab-launch.exe"/>
|
18
|
+
</appSettings>
|
19
|
+
</configuration>
|
@@ -18,10 +18,17 @@
|
|
18
18
|
@pid_file
|
19
19
|
@policy_group
|
20
20
|
@policy_name
|
21
|
-
@ssl_verify_mode
|
21
|
+
@ssl_verify_mode
|
22
|
+
@policy_persist_run_list).each do |prop| -%>
|
22
23
|
<% next if instance_variable_get(prop).nil? || instance_variable_get(prop).empty? -%>
|
23
24
|
<%=prop.delete_prefix("@") %> <%= instance_variable_get(prop).inspect %>
|
24
25
|
<% end -%>
|
26
|
+
<%# ohai_disabled_plugins and ohai_optional_plugins properties don't match the config value perfectly-%>
|
27
|
+
<% %w(@ohai_disabled_plugins
|
28
|
+
@ohai_optional_plugins).each do |prop| -%>
|
29
|
+
<% next if instance_variable_get(prop).nil? || instance_variable_get(prop).empty? -%>
|
30
|
+
<%=prop.gsub("@ohai_", "ohai.") %> <%= instance_variable_get(prop).inspect %>
|
31
|
+
<% end -%>
|
25
32
|
<%# log_location is special due to STDOUT/STDERR from String -> IO Object -%>
|
26
33
|
<% unless @log_location.nil? %>
|
27
34
|
<% if @log_location.is_a?(String) && %w(STDOUT STDERR).include?(@log_location) -%>
|
@@ -0,0 +1,179 @@
|
|
1
|
+
# sup.toml
|
2
|
+
# Used for passing configuration options to the Chef Habitat supervisor
|
3
|
+
# This file is controlled by the 'habitat' cookbook and should not be modified by hand -- local modifications may be overwritten.
|
4
|
+
|
5
|
+
### The listen address for the Gossip Gateway
|
6
|
+
<% if @listen_gossip %>
|
7
|
+
listen_gossip = "<%= @listen_gossip %>"
|
8
|
+
<% end %>
|
9
|
+
|
10
|
+
### Start the supervisor in local mode
|
11
|
+
# local_gossip_mode =
|
12
|
+
|
13
|
+
### The listen address for the HTTP Gateway
|
14
|
+
<% if @listen_http %>
|
15
|
+
listen_http = "<%= @listen_http %>"
|
16
|
+
<% end %>
|
17
|
+
### Disable the HTTP Gateway completely
|
18
|
+
# http_disable =
|
19
|
+
|
20
|
+
### The listen address for the Control Gateway
|
21
|
+
<% if @listen_ctl %>
|
22
|
+
listen_ctl = "<%= @listen_ctl %>"
|
23
|
+
<% end %>
|
24
|
+
### The organization the Supervisor and its services are part of
|
25
|
+
<% if @organization %>
|
26
|
+
organization = "<%= @organization %>"
|
27
|
+
<% end %>
|
28
|
+
### The listen address of one or more initial peers (IP[:PORT])
|
29
|
+
<% if @peer %>
|
30
|
+
peer = <%= @peer %>
|
31
|
+
<% end %>
|
32
|
+
### Make this Supervisor a permanent peer
|
33
|
+
<% if @permanent_peer %>
|
34
|
+
permanent_peer = <%= @permanent_peer %>
|
35
|
+
<% end %>
|
36
|
+
### Watch this file for connecting to the ring
|
37
|
+
# peer_watch_file =
|
38
|
+
|
39
|
+
### Cache for creating and searching for encryption keys
|
40
|
+
# cache_key_path =
|
41
|
+
|
42
|
+
### The name of the ring used by the Supervisor when running with wire encryption
|
43
|
+
<% if @ring %>
|
44
|
+
ring = "<%= @ring %>"
|
45
|
+
<% end %>
|
46
|
+
### Use the package config from this path rather than the package itself
|
47
|
+
# config_from =
|
48
|
+
|
49
|
+
### Enable automatic updates for the Supervisor itself
|
50
|
+
<% if @auto_update %>
|
51
|
+
auto_update = <%= @auto_update %>
|
52
|
+
<% end %>
|
53
|
+
### The period of time in seconds between Supervisor update checks
|
54
|
+
# auto_update_period =
|
55
|
+
|
56
|
+
### The period of time in seconds between service update checks
|
57
|
+
# service_update_period =
|
58
|
+
|
59
|
+
### The private key for HTTP Gateway TLS encryption
|
60
|
+
###
|
61
|
+
### Read the private key from KEY_FILE. This should be an RSA private key or PKCS8-encoded private key in PEM format.
|
62
|
+
# key_file =
|
63
|
+
|
64
|
+
### The server certificates for HTTP Gateway TLS encryption
|
65
|
+
###
|
66
|
+
### Read server certificates from CERT_FILE. This should contain PEM-format certificates in the right order. The first certificate should certify KEY_FILE. The last should be a root CA.
|
67
|
+
# cert_file =
|
68
|
+
|
69
|
+
### The CA certificate for HTTP Gateway TLS encryption
|
70
|
+
###
|
71
|
+
### Read the CA certificate from CA_CERT_FILE. This should contain PEM-format certificate that can be used to validate client requests
|
72
|
+
# ca_cert_file =
|
73
|
+
|
74
|
+
### Load a Habitat package as part of the Supervisor startup
|
75
|
+
###
|
76
|
+
### The package can be specified by a package identifier (ex: core/redis) or filepath to a Habitat artifact (ex: /home/core-redis-3.0.7-21120102031201-x86_64-linux.hart).
|
77
|
+
# pkg_ident_or_artifact =
|
78
|
+
|
79
|
+
### Verbose output showing file and line/column numbers
|
80
|
+
# verbose =
|
81
|
+
|
82
|
+
### Turn ANSI color off
|
83
|
+
# no_color =
|
84
|
+
|
85
|
+
### Use structured JSON logging for the Supervisor
|
86
|
+
###
|
87
|
+
### This option also sets NO_COLOR.
|
88
|
+
# json_logging =
|
89
|
+
|
90
|
+
### The IPv4 address to use as the `sys.ip` template variable
|
91
|
+
###
|
92
|
+
### If this argument is not set, the supervisor tries to dynamically determine an IP address. If that fails, the supervisor defaults to using `127.0.0.1`.
|
93
|
+
# sys_ip_address =
|
94
|
+
|
95
|
+
### The name of the application for event stream purposes
|
96
|
+
###
|
97
|
+
### This will be attached to all events generated by this Supervisor.
|
98
|
+
<% if @event_stream_application %>
|
99
|
+
event_stream_application = "<%= @event_stream_application %>"
|
100
|
+
<% end %>
|
101
|
+
### The name of the environment for event stream purposes
|
102
|
+
###
|
103
|
+
### This will be attached to all events generated by this Supervisor.
|
104
|
+
<% if @event_stream_environment %>
|
105
|
+
event_stream_environment = "<%= @event_stream_environment %>"
|
106
|
+
<% end %>
|
107
|
+
### Event stream connection timeout before exiting the Supervisor
|
108
|
+
###
|
109
|
+
### Set to '0' to immediately start the Supervisor and continue running regardless of the initial connection status.
|
110
|
+
# event_stream_connect_timeout =
|
111
|
+
|
112
|
+
### The event stream connection url used to send events to Chef Automate
|
113
|
+
###
|
114
|
+
### This enables the event stream and requires EVENT_STREAM_APPLICATION, EVENT_STREAM_ENVIRONMENT, and EVENT_STREAM_TOKEN also be set.
|
115
|
+
<% if @event_stream_url %>
|
116
|
+
event_stream_url = "<%= @event_stream_url %>"
|
117
|
+
<% end %>
|
118
|
+
### The name of the site where this Supervisor is running for event stream purposes
|
119
|
+
<% if @event_stream_site %>
|
120
|
+
event_stream_site = "<%= @event_stream_site %>"
|
121
|
+
<% end %>
|
122
|
+
### The authentication token for connecting the event stream to Chef Automate
|
123
|
+
<% if @event_stream_token %>
|
124
|
+
event_stream_token = "<%= @event_stream_token %>"
|
125
|
+
<% end %>
|
126
|
+
### An arbitrary key-value pair to add to each event generated by this Supervisor
|
127
|
+
# event_meta = []
|
128
|
+
|
129
|
+
### The path to Chef Automate's event stream certificate used to establish a TLS connection
|
130
|
+
###
|
131
|
+
### The certificate should be in PEM format.
|
132
|
+
<% if @event_stream_server_certificate %>
|
133
|
+
event_stream_server_certificate = "<%= @event_stream_server_certificate %>"
|
134
|
+
<% end %>
|
135
|
+
### Automatically cleanup old packages
|
136
|
+
###
|
137
|
+
### The Supervisor will automatically cleanup old packages only keeping the KEEP_LATEST_PACKAGES latest packages. If this argument is not specified, no automatic package cleanup is performed.
|
138
|
+
<% if @keep_latest_packages %>
|
139
|
+
keep_latest_packages = "<%= @keep_latest_packages %>"
|
140
|
+
<% end %>
|
141
|
+
### Receive updates from the specified release channel
|
142
|
+
# channel =
|
143
|
+
|
144
|
+
### Specify an alternate Builder endpoint. If not specified, the value will be taken from the HAB_BLDR_URL environment variable if defined. (default: https://bldr.habitat.sh)
|
145
|
+
<% if @bldr_url %>
|
146
|
+
bldr_url = "<%= @bldr_url %>"
|
147
|
+
<% end %>
|
148
|
+
### The service group with shared config and topology
|
149
|
+
# group =
|
150
|
+
|
151
|
+
### Service topology
|
152
|
+
# topology =
|
153
|
+
|
154
|
+
### The update strategy
|
155
|
+
# strategy =
|
156
|
+
|
157
|
+
### The condition dictating when this service should update
|
158
|
+
###
|
159
|
+
### latest: Runs the latest package that can be found in the configured channel and local packages.
|
160
|
+
###
|
161
|
+
### track-channel: Always run what is at the head of a given channel. This enables service rollback where demoting a package from a channel will cause the package to rollback to an older version of the package. A ramification of enabling this condition is packages newer than the package at the head of the channel will be automatically uninstalled during a service rollback.
|
162
|
+
<% if @update_condition %>
|
163
|
+
update_condition = "<%= @update_condition %>"
|
164
|
+
<% end %>
|
165
|
+
### One or more service groups to bind to a configuration
|
166
|
+
# bind = []
|
167
|
+
|
168
|
+
### Governs how the presence or absence of binds affects service startup
|
169
|
+
###
|
170
|
+
### strict: blocks startup until all binds are present.
|
171
|
+
# binding_mode =
|
172
|
+
|
173
|
+
### The interval in seconds on which to run health checks
|
174
|
+
# health_check_interval =
|
175
|
+
|
176
|
+
### The delay in seconds after sending the shutdown signal to wait before killing the service process
|
177
|
+
###
|
178
|
+
### The default value can be set in the packages plan file.
|
179
|
+
# shutdown_timeout =
|
@@ -63,9 +63,7 @@ class Chef
|
|
63
63
|
property :swappiness, Integer,
|
64
64
|
description: "The swappiness value to set on the system."
|
65
65
|
|
66
|
-
action :create do
|
67
|
-
description "Create a swapfile."
|
68
|
-
|
66
|
+
action :create, description: "Create a swapfile." do
|
69
67
|
if swap_enabled?
|
70
68
|
Chef::Log.debug("#{new_resource} already created - nothing to do")
|
71
69
|
else
|
@@ -85,9 +83,7 @@ class Chef
|
|
85
83
|
end
|
86
84
|
end
|
87
85
|
|
88
|
-
action :remove do
|
89
|
-
description "Remove a swapfile and disable swap."
|
90
|
-
|
86
|
+
action :remove, description: "Remove a swapfile and disable swap." do
|
91
87
|
swapoff if swap_enabled?
|
92
88
|
remove_swapfile if ::File.exist?(new_resource.path)
|
93
89
|
end
|
data/lib/chef/resource/sysctl.rb
CHANGED
@@ -131,7 +131,7 @@ class Chef
|
|
131
131
|
|
132
132
|
end
|
133
133
|
|
134
|
-
action :apply, description: "
|
134
|
+
action :apply, description: "Set the kernel parameter and update the `sysctl` settings." do
|
135
135
|
converge_if_changed do
|
136
136
|
# set it temporarily
|
137
137
|
set_sysctl_param(new_resource.key, new_resource.value)
|
@@ -150,7 +150,7 @@ class Chef
|
|
150
150
|
end
|
151
151
|
end
|
152
152
|
|
153
|
-
action :remove, description: "Remove
|
153
|
+
action :remove, description: "Remove the kernel parameter and update the `sysctl` settings." do
|
154
154
|
# only converge the resource if the file actually exists to delete
|
155
155
|
if ::File.exist?("#{new_resource.conf_dir}/99-chef-#{new_resource.key.tr("/", ".")}.conf")
|
156
156
|
converge_by "removing sysctl config at #{new_resource.conf_dir}/99-chef-#{new_resource.key.tr("/", ".")}.conf" do
|
@@ -34,7 +34,7 @@ class Chef
|
|
34
34
|
|
35
35
|
```ruby
|
36
36
|
systemd_unit 'etcd.service' do
|
37
|
-
content(Unit: {
|
37
|
+
content({ Unit: {
|
38
38
|
Description: 'Etcd',
|
39
39
|
Documentation: ['https://coreos.com/etcd', 'man:etcd(1)'],
|
40
40
|
After: 'network.target',
|
@@ -46,7 +46,7 @@ class Chef
|
|
46
46
|
},
|
47
47
|
Install: {
|
48
48
|
WantedBy: 'multi-user.target',
|
49
|
-
})
|
49
|
+
} })
|
50
50
|
action [:create, :enable]
|
51
51
|
end
|
52
52
|
```
|
@@ -113,7 +113,7 @@ class Chef
|
|
113
113
|
when Hash
|
114
114
|
IniParse.gen do |doc|
|
115
115
|
content.each_pair do |sect, opts|
|
116
|
-
doc.section(sect) do |section|
|
116
|
+
doc.section(sect, { option_sep: "=" }) do |section|
|
117
117
|
opts.each_pair do |opt, val|
|
118
118
|
[val].flatten.each do |v|
|
119
119
|
section.option(opt, v)
|
@@ -119,7 +119,7 @@ class Chef
|
|
119
119
|
end
|
120
120
|
end
|
121
121
|
|
122
|
-
action :set, description: "Set the system timezone" do
|
122
|
+
action :set, description: "Set the system timezone." do
|
123
123
|
# we have to check windows first since the value isn't case sensitive here
|
124
124
|
if windows?
|
125
125
|
unless current_windows_tz.casecmp?(new_resource.timezone)
|
@@ -78,7 +78,7 @@ class Chef
|
|
78
78
|
coerce: proc { |m| m.end_with?(".conf") ? m : m + ".conf" },
|
79
79
|
default: lazy { |r| r.username == "*" ? "00_all_limits.conf" : "#{r.username}_limits.conf" }
|
80
80
|
|
81
|
-
action :create, description: "Create a ulimit configuration file" do
|
81
|
+
action :create, description: "Create a ulimit configuration file." do
|
82
82
|
template "/etc/security/limits.d/#{new_resource.filename}" do
|
83
83
|
source ::File.expand_path("support/ulimit.erb", __dir__)
|
84
84
|
local true
|
@@ -106,7 +106,7 @@ class Chef
|
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
109
|
-
action :delete, description: "Delete an existing ulimit configuration file" do
|
109
|
+
action :delete, description: "Delete an existing ulimit configuration file." do
|
110
110
|
file "/etc/security/limits.d/#{new_resource.filename}" do
|
111
111
|
action :delete
|
112
112
|
end
|
@@ -97,7 +97,7 @@ class Chef
|
|
97
97
|
property :sensitive, [TrueClass, FalseClass],
|
98
98
|
default: true, desired_state: false
|
99
99
|
|
100
|
-
action :join, description: "Join the Active Directory domain" do
|
100
|
+
action :join, description: "Join the Active Directory domain." do
|
101
101
|
unless on_desired_domain?
|
102
102
|
cmd = "$pswd = ConvertTo-SecureString \'#{new_resource.domain_password}\' -AsPlainText -Force;"
|
103
103
|
cmd << "$credential = New-Object System.Management.Automation.PSCredential (\"#{sanitize_usename}\",$pswd);"
|
@@ -127,7 +127,7 @@ class Chef
|
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
130
|
-
action :leave, description: "Leave an Active Directory domain and re-join a workgroup" do
|
130
|
+
action :leave, description: "Leave an Active Directory domain and re-join a workgroup." do
|
131
131
|
if joined_to_domain?
|
132
132
|
cmd = ""
|
133
133
|
cmd << "$pswd = ConvertTo-SecureString \'#{new_resource.domain_password}\' -AsPlainText -Force;"
|
@@ -106,7 +106,7 @@ class Chef
|
|
106
106
|
|
107
107
|
```ruby
|
108
108
|
windows_audit_policy "Set Audit Policy for 'Credential Validation' actions to 'Success'" do
|
109
|
-
subcategory
|
109
|
+
subcategory 'Credential Validation'
|
110
110
|
success true
|
111
111
|
failure false
|
112
112
|
action :set
|
@@ -152,7 +152,7 @@ class Chef
|
|
152
152
|
property :audit_base_directories, [true, false],
|
153
153
|
description: "Setting this audit policy option to true will force the system to assign a System Access Control List to named objects to enable auditing of container objects such as directories."
|
154
154
|
|
155
|
-
action :set, description: "Configure an audit policy" do
|
155
|
+
action :set, description: "Configure an audit policy." do
|
156
156
|
unless new_resource.subcategory.nil?
|
157
157
|
new_resource.subcategory.each do |subcategory|
|
158
158
|
next if subcategory_configured?(subcategory, new_resource.success, new_resource.failure)
|
@@ -57,7 +57,7 @@ class Chef
|
|
57
57
|
|
58
58
|
alias_method :program, :path
|
59
59
|
|
60
|
-
action :create, description: "Create an item to be run at login" do
|
60
|
+
action :create, description: "Create an item to be run at login." do
|
61
61
|
|
62
62
|
data = "\"#{new_resource.path}\""
|
63
63
|
data << " #{new_resource.args}" if new_resource.args
|
@@ -72,7 +72,7 @@ class Chef
|
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
75
|
-
action :remove, description: "Remove an item that was previously configured to run at login" do
|
75
|
+
action :remove, description: "Remove an item that was previously configured to run at login." do
|
76
76
|
registry_key registry_path do
|
77
77
|
values [{
|
78
78
|
name: new_resource.program_name,
|
@@ -160,7 +160,7 @@ class Chef
|
|
160
160
|
end
|
161
161
|
end
|
162
162
|
|
163
|
-
action :verify, description: "Verifies a certificate and logs the result" do
|
163
|
+
action :verify, description: "Verifies a certificate and logs the result." do
|
164
164
|
out = verify_cert
|
165
165
|
if !!out == out
|
166
166
|
out = out ? "Certificate is valid" : "Certificate not valid"
|