chef 18.2.7 → 18.4.2

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.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/chef-universal-mingw-ucrt.gemspec +1 -1
  4. data/chef.gemspec +3 -3
  5. data/lib/chef/application/base.rb +2 -0
  6. data/lib/chef/chef_fs/file_pattern.rb +1 -1
  7. data/lib/chef/chef_fs/path_utils.rb +7 -9
  8. data/lib/chef/client.rb +2 -2
  9. data/lib/chef/cookbook/synchronizer.rb +19 -2
  10. data/lib/chef/cookbook_version.rb +1 -1
  11. data/lib/chef/delayed_evaluator.rb +4 -0
  12. data/lib/chef/file_access_control/windows.rb +4 -1
  13. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +2 -0
  14. data/lib/chef/http/ssl_policies.rb +2 -2
  15. data/lib/chef/mixin/homebrew_user.rb +15 -5
  16. data/lib/chef/monkey_patches/net-http.rb +127 -0
  17. data/lib/chef/node/attribute_collections.rb +10 -1
  18. data/lib/chef/node/immutable_collections.rb +7 -3
  19. data/lib/chef/node/mixin/state_tracking.rb +1 -1
  20. data/lib/chef/node/mixin/state_tracking_array.rb +41 -0
  21. data/lib/chef/node.rb +22 -0
  22. data/lib/chef/provider/launchd.rb +1 -1
  23. data/lib/chef/provider/mount/linux.rb +1 -1
  24. data/lib/chef/provider/mount/mount.rb +5 -5
  25. data/lib/chef/provider/package/apt.rb +11 -2
  26. data/lib/chef/provider/package/chocolatey.rb +239 -18
  27. data/lib/chef/provider/package/zypper.rb +6 -0
  28. data/lib/chef/provider/powershell_script.rb +96 -6
  29. data/lib/chef/provider/remote_file/http.rb +1 -1
  30. data/lib/chef/provider/service/systemd.rb +23 -8
  31. data/lib/chef/provider/service/windows.rb +1 -0
  32. data/lib/chef/provider/service.rb +14 -0
  33. data/lib/chef/provider/user.rb +5 -1
  34. data/lib/chef/provider/yum_repository.rb +1 -1
  35. data/lib/chef/recipe.rb +3 -11
  36. data/lib/chef/resource/_rest_resource.rb +1 -1
  37. data/lib/chef/resource/apt_package.rb +19 -0
  38. data/lib/chef/resource/apt_repository.rb +26 -6
  39. data/lib/chef/resource/chef_client_systemd_timer.rb +1 -1
  40. data/lib/chef/resource/chocolatey_installer.rb +207 -0
  41. data/lib/chef/resource/chocolatey_package.rb +8 -0
  42. data/lib/chef/resource/homebrew_cask.rb +6 -7
  43. data/lib/chef/resource/homebrew_package.rb +1 -1
  44. data/lib/chef/resource/homebrew_tap.rb +5 -5
  45. data/lib/chef/resource/launchd.rb +5 -1
  46. data/lib/chef/resource/locale.rb +5 -2
  47. data/lib/chef/resource/macos_pkg.rb +111 -0
  48. data/lib/chef/resource/powershell_script.rb +5 -1
  49. data/lib/chef/resource/service.rb +3 -0
  50. data/lib/chef/resource/sudo.rb +37 -2
  51. data/lib/chef/resource/support/ulimit.erb +40 -0
  52. data/lib/chef/resource/user_ulimit.rb +38 -0
  53. data/lib/chef/resource/windows_certificate.rb +1 -1
  54. data/lib/chef/resource/windows_security_policy.rb +2 -2
  55. data/lib/chef/resource.rb +11 -1
  56. data/lib/chef/resources.rb +2 -0
  57. data/lib/chef/version.rb +1 -1
  58. data/lib/chef/win32/security.rb +7 -1
  59. data/spec/data/trusted_certs/example.crt +29 -20
  60. data/spec/data/trusted_certs/example_no_cn.crt +30 -34
  61. data/spec/functional/resource/chocolatey_package_spec.rb +32 -20
  62. data/spec/functional/resource/execute_spec.rb +1 -1
  63. data/spec/functional/resource/windows_certificate_spec.rb +25 -0
  64. data/spec/functional/resource/zypper_package_spec.rb +10 -0
  65. data/spec/unit/client_spec.rb +2 -2
  66. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +1 -1
  67. data/spec/unit/delayed_evaluator_spec.rb +35 -0
  68. data/spec/unit/mixin/homebrew_user_spec.rb +30 -7
  69. data/spec/unit/node/vivid_mash_spec.rb +42 -0
  70. data/spec/unit/node_spec.rb +6 -0
  71. data/spec/unit/provider/apt_repository_spec.rb +17 -7
  72. data/spec/unit/provider/launchd_spec.rb +2 -2
  73. data/spec/unit/provider/mount/aix_spec.rb +2 -2
  74. data/spec/unit/provider/mount/linux_spec.rb +6 -5
  75. data/spec/unit/provider/mount/mount_spec.rb +8 -8
  76. data/spec/unit/provider/package/apt_spec.rb +18 -13
  77. data/spec/unit/provider/package/chocolatey_spec.rb +53 -9
  78. data/spec/unit/provider/package/rpm_spec.rb +2 -2
  79. data/spec/unit/provider/package/zypper_spec.rb +10 -0
  80. data/spec/unit/provider/powershell_script_spec.rb +100 -4
  81. data/spec/unit/provider/remote_file/http_spec.rb +4 -4
  82. data/spec/unit/provider/service/systemd_service_spec.rb +1 -0
  83. data/spec/unit/provider/user/linux_spec.rb +10 -0
  84. data/spec/unit/resource/apt_repository_spec.rb +5 -0
  85. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +1 -1
  86. data/spec/unit/resource/chocolatey_installer_spec.rb +151 -0
  87. data/spec/unit/resource/macos_pkg_spec.rb +38 -0
  88. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  89. data/spec/unit/resource_spec.rb +86 -0
  90. metadata +29 -16
  91. /data/spec/functional/assets/chocolatey_feed/{test-A.1.0.nupkg → test-A.1.0.0.nupkg} +0 -0
  92. /data/spec/functional/assets/chocolatey_feed/{test-A.1.5.nupkg → test-A.1.5.0.nupkg} +0 -0
  93. /data/spec/functional/assets/chocolatey_feed/{test-A.2.0.nupkg → test-A.2.0.0.nupkg} +0 -0
  94. /data/spec/functional/assets/chocolatey_feed/{test-B.1.0.nupkg → test-B.1.0.0.nupkg} +0 -0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef
3
3
  version: !ruby/object:Gem::Version
4
- version: 18.2.7
4
+ version: 18.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Jacob
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-04 00:00:00.000000000 Z
11
+ date: 2024-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef-config
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 18.2.7
19
+ version: 18.4.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 18.2.7
26
+ version: 18.4.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: chef-utils
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 18.2.7
33
+ version: 18.4.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 18.2.7
40
+ version: 18.4.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: train-core
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -221,6 +221,9 @@ dependencies:
221
221
  - - ">="
222
222
  - !ruby/object:Gem::Version
223
223
  version: '5'
224
+ - - "<"
225
+ - !ruby/object:Gem::Version
226
+ version: '6'
224
227
  type: :runtime
225
228
  prerelease: false
226
229
  version_requirements: !ruby/object:Gem::Requirement
@@ -228,18 +231,21 @@ dependencies:
228
231
  - - ">="
229
232
  - !ruby/object:Gem::Version
230
233
  version: '5'
234
+ - - "<"
235
+ - !ruby/object:Gem::Version
236
+ version: '6'
231
237
  - !ruby/object:Gem::Dependency
232
238
  name: ffi
233
239
  requirement: !ruby/object:Gem::Requirement
234
240
  requirements:
235
- - - ">="
241
+ - - "~>"
236
242
  - !ruby/object:Gem::Version
237
243
  version: 1.15.5
238
244
  type: :runtime
239
245
  prerelease: false
240
246
  version_requirements: !ruby/object:Gem::Requirement
241
247
  requirements:
242
- - - ">="
248
+ - - "~>"
243
249
  - !ruby/object:Gem::Version
244
250
  version: 1.15.5
245
251
  - !ruby/object:Gem::Dependency
@@ -458,14 +464,14 @@ dependencies:
458
464
  name: unf_ext
459
465
  requirement: !ruby/object:Gem::Requirement
460
466
  requirements:
461
- - - ">="
467
+ - - "~>"
462
468
  - !ruby/object:Gem::Version
463
469
  version: 0.0.8.2
464
470
  type: :runtime
465
471
  prerelease: false
466
472
  version_requirements: !ruby/object:Gem::Requirement
467
473
  requirements:
468
- - - ">="
474
+ - - "~>"
469
475
  - !ruby/object:Gem::Version
470
476
  version: 0.0.8.2
471
477
  - !ruby/object:Gem::Dependency
@@ -857,6 +863,7 @@ files:
857
863
  - lib/chef/mixin/windows_env_helper.rb
858
864
  - lib/chef/mixin/xml_escape.rb
859
865
  - lib/chef/mixins.rb
866
+ - lib/chef/monkey_patches/net-http.rb
860
867
  - lib/chef/monkey_patches/webrick-utils.rb
861
868
  - lib/chef/monkey_patches/win32/registry.rb
862
869
  - lib/chef/monologger.rb
@@ -870,6 +877,7 @@ files:
870
877
  - lib/chef/node/mixin/immutablize_hash.rb
871
878
  - lib/chef/node/mixin/mashy_array.rb
872
879
  - lib/chef/node/mixin/state_tracking.rb
880
+ - lib/chef/node/mixin/state_tracking_array.rb
873
881
  - lib/chef/node_map.rb
874
882
  - lib/chef/null_logger.rb
875
883
  - lib/chef/org.rb
@@ -1055,6 +1063,7 @@ files:
1055
1063
  - lib/chef/resource/chef_vault_secret.rb
1056
1064
  - lib/chef/resource/chocolatey_config.rb
1057
1065
  - lib/chef/resource/chocolatey_feature.rb
1066
+ - lib/chef/resource/chocolatey_installer.rb
1058
1067
  - lib/chef/resource/chocolatey_package.rb
1059
1068
  - lib/chef/resource/chocolatey_source.rb
1060
1069
  - lib/chef/resource/conditional.rb
@@ -1108,6 +1117,7 @@ files:
1108
1117
  - lib/chef/resource/locale.rb
1109
1118
  - lib/chef/resource/log.rb
1110
1119
  - lib/chef/resource/lwrp_base.rb
1120
+ - lib/chef/resource/macos_pkg.rb
1111
1121
  - lib/chef/resource/macos_userdefaults.rb
1112
1122
  - lib/chef/resource/macosx_service.rb
1113
1123
  - lib/chef/resource/macports_package.rb
@@ -1713,10 +1723,10 @@ files:
1713
1723
  - spec/functional/assets/PkgA.1.0.0.0.bff
1714
1724
  - spec/functional/assets/PkgA.2.0.0.0.bff
1715
1725
  - spec/functional/assets/chefinittest
1716
- - spec/functional/assets/chocolatey_feed/test-A.1.0.nupkg
1717
- - spec/functional/assets/chocolatey_feed/test-A.1.5.nupkg
1718
- - spec/functional/assets/chocolatey_feed/test-A.2.0.nupkg
1719
- - spec/functional/assets/chocolatey_feed/test-B.1.0.nupkg
1726
+ - spec/functional/assets/chocolatey_feed/test-A.1.0.0.nupkg
1727
+ - spec/functional/assets/chocolatey_feed/test-A.1.5.0.nupkg
1728
+ - spec/functional/assets/chocolatey_feed/test-A.2.0.0.nupkg
1729
+ - spec/functional/assets/chocolatey_feed/test-B.1.0.0.nupkg
1720
1730
  - spec/functional/assets/dummy-1-0.aix6.1.noarch.rpm
1721
1731
  - spec/functional/assets/dummy-2-0.aix6.1.noarch.rpm
1722
1732
  - spec/functional/assets/inittest
@@ -1987,6 +1997,7 @@ files:
1987
1997
  - spec/unit/decorator/lazy_array_spec.rb
1988
1998
  - spec/unit/decorator/lazy_spec.rb
1989
1999
  - spec/unit/decorator_spec.rb
2000
+ - spec/unit/delayed_evaluator_spec.rb
1990
2001
  - spec/unit/deprecated_spec.rb
1991
2002
  - spec/unit/deprecation_spec.rb
1992
2003
  - spec/unit/digester_spec.rb
@@ -2232,6 +2243,7 @@ files:
2232
2243
  - spec/unit/resource/chef_vault_secret_spec.rb
2233
2244
  - spec/unit/resource/chocolatey_config_spec.rb
2234
2245
  - spec/unit/resource/chocolatey_feature_spec.rb
2246
+ - spec/unit/resource/chocolatey_installer_spec.rb
2235
2247
  - spec/unit/resource/chocolatey_package_spec.rb
2236
2248
  - spec/unit/resource/chocolatey_source_spec.rb
2237
2249
  - spec/unit/resource/conditional_action_not_nothing_spec.rb
@@ -2274,6 +2286,7 @@ files:
2274
2286
  - spec/unit/resource/link_spec.rb
2275
2287
  - spec/unit/resource/locale_spec.rb
2276
2288
  - spec/unit/resource/log_spec.rb
2289
+ - spec/unit/resource/macos_pkg_spec.rb
2277
2290
  - spec/unit/resource/macos_user_defaults_spec.rb
2278
2291
  - spec/unit/resource/macosx_service.rb
2279
2292
  - spec/unit/resource/macports_package_spec.rb
@@ -2458,14 +2471,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
2458
2471
  requirements:
2459
2472
  - - ">="
2460
2473
  - !ruby/object:Gem::Version
2461
- version: 3.1.0
2474
+ version: 3.0.3
2462
2475
  required_rubygems_version: !ruby/object:Gem::Requirement
2463
2476
  requirements:
2464
2477
  - - ">="
2465
2478
  - !ruby/object:Gem::Version
2466
2479
  version: '0'
2467
2480
  requirements: []
2468
- rubygems_version: 3.3.7
2481
+ rubygems_version: 3.2.32
2469
2482
  signing_key:
2470
2483
  specification_version: 4
2471
2484
  summary: A systems integration framework, built to bring the benefits of configuration