puppet 6.19.1-x64-mingw32 → 6.23.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (293) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +2 -16
  3. data/Gemfile +3 -1
  4. data/Gemfile.lock +51 -40
  5. data/ext/osx/puppet.plist +2 -0
  6. data/ext/project_data.yaml +2 -2
  7. data/lib/puppet/application.rb +10 -6
  8. data/lib/puppet/application/agent.rb +12 -4
  9. data/lib/puppet/application/apply.rb +4 -2
  10. data/lib/puppet/application/device.rb +2 -0
  11. data/lib/puppet/application/filebucket.rb +2 -2
  12. data/lib/puppet/application/resource.rb +2 -1
  13. data/lib/puppet/application/script.rb +2 -0
  14. data/lib/puppet/application/ssl.rb +11 -0
  15. data/lib/puppet/application_support.rb +7 -0
  16. data/lib/puppet/configurer.rb +28 -18
  17. data/lib/puppet/configurer/downloader.rb +2 -1
  18. data/lib/puppet/defaults.rb +51 -23
  19. data/lib/puppet/environments.rb +54 -55
  20. data/lib/puppet/face/config.rb +10 -0
  21. data/lib/puppet/face/epp.rb +12 -2
  22. data/lib/puppet/face/facts.rb +158 -0
  23. data/lib/puppet/ffi/posix.rb +10 -0
  24. data/lib/puppet/ffi/posix/constants.rb +14 -0
  25. data/lib/puppet/ffi/posix/functions.rb +24 -0
  26. data/lib/puppet/file_serving/fileset.rb +14 -2
  27. data/lib/puppet/file_system/memory_file.rb +8 -1
  28. data/lib/puppet/file_system/windows.rb +2 -0
  29. data/lib/puppet/functions/all.rb +1 -1
  30. data/lib/puppet/functions/camelcase.rb +1 -1
  31. data/lib/puppet/functions/capitalize.rb +2 -2
  32. data/lib/puppet/functions/downcase.rb +2 -2
  33. data/lib/puppet/functions/epp.rb +1 -0
  34. data/lib/puppet/functions/get.rb +5 -5
  35. data/lib/puppet/functions/group_by.rb +13 -5
  36. data/lib/puppet/functions/inline_epp.rb +1 -0
  37. data/lib/puppet/functions/lest.rb +1 -1
  38. data/lib/puppet/functions/new.rb +100 -100
  39. data/lib/puppet/functions/partition.rb +12 -4
  40. data/lib/puppet/functions/require.rb +5 -5
  41. data/lib/puppet/functions/sort.rb +3 -3
  42. data/lib/puppet/functions/tree_each.rb +7 -9
  43. data/lib/puppet/functions/type.rb +4 -4
  44. data/lib/puppet/functions/upcase.rb +2 -2
  45. data/lib/puppet/http/resolver/server_list.rb +15 -4
  46. data/lib/puppet/http/service/compiler.rb +69 -0
  47. data/lib/puppet/http/service/file_server.rb +2 -1
  48. data/lib/puppet/indirector/catalog/compiler.rb +1 -0
  49. data/lib/puppet/indirector/fact_search.rb +60 -0
  50. data/lib/puppet/indirector/facts/facter.rb +24 -3
  51. data/lib/puppet/indirector/facts/json.rb +27 -0
  52. data/lib/puppet/indirector/facts/yaml.rb +3 -58
  53. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  54. data/lib/puppet/indirector/json.rb +5 -1
  55. data/lib/puppet/indirector/node/json.rb +8 -0
  56. data/lib/puppet/indirector/report/json.rb +34 -0
  57. data/lib/puppet/module_tool/applications/installer.rb +48 -2
  58. data/lib/puppet/module_tool/errors/shared.rb +17 -2
  59. data/lib/puppet/network/formats.rb +69 -1
  60. data/lib/puppet/network/http/factory.rb +4 -0
  61. data/lib/puppet/pal/pal_impl.rb +70 -17
  62. data/lib/puppet/parser/ast/leaf.rb +3 -2
  63. data/lib/puppet/parser/functions/fqdn_rand.rb +14 -6
  64. data/lib/puppet/parser/templatewrapper.rb +1 -1
  65. data/lib/puppet/pops/evaluator/deferred_resolver.rb +5 -3
  66. data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -3
  67. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  68. data/lib/puppet/pops/types/p_sem_ver_type.rb +8 -2
  69. data/lib/puppet/pops/types/p_sensitive_type.rb +10 -0
  70. data/lib/puppet/property/list.rb +1 -1
  71. data/lib/puppet/provider/group/groupadd.rb +13 -8
  72. data/lib/puppet/provider/package/apt.rb +34 -2
  73. data/lib/puppet/provider/package/aptitude.rb +6 -0
  74. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  75. data/lib/puppet/provider/package/nim.rb +11 -6
  76. data/lib/puppet/provider/service/debian.rb +2 -0
  77. data/lib/puppet/provider/service/systemd.rb +14 -4
  78. data/lib/puppet/provider/service/windows.rb +38 -0
  79. data/lib/puppet/provider/user/aix.rb +2 -2
  80. data/lib/puppet/provider/user/directoryservice.rb +25 -12
  81. data/lib/puppet/provider/user/useradd.rb +62 -8
  82. data/lib/puppet/reference/configuration.rb +7 -6
  83. data/lib/puppet/settings.rb +33 -28
  84. data/lib/puppet/settings/alias_setting.rb +37 -0
  85. data/lib/puppet/settings/base_setting.rb +26 -2
  86. data/lib/puppet/settings/environment_conf.rb +1 -0
  87. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  88. data/lib/puppet/type/file.rb +19 -1
  89. data/lib/puppet/type/file/selcontext.rb +1 -1
  90. data/lib/puppet/type/package.rb +3 -3
  91. data/lib/puppet/type/service.rb +18 -38
  92. data/lib/puppet/type/tidy.rb +21 -2
  93. data/lib/puppet/type/user.rb +38 -20
  94. data/lib/puppet/util/autoload.rb +1 -8
  95. data/lib/puppet/util/fact_dif.rb +81 -0
  96. data/lib/puppet/util/monkey_patches.rb +7 -0
  97. data/lib/puppet/util/posix.rb +54 -5
  98. data/lib/puppet/util/rubygems.rb +5 -1
  99. data/lib/puppet/util/selinux.rb +30 -4
  100. data/lib/puppet/util/windows/adsi.rb +46 -0
  101. data/lib/puppet/util/windows/api_types.rb +1 -1
  102. data/lib/puppet/util/windows/principal.rb +9 -2
  103. data/lib/puppet/util/windows/service.rb +1 -1
  104. data/lib/puppet/util/windows/sid.rb +4 -2
  105. data/lib/puppet/version.rb +1 -1
  106. data/locales/puppet.pot +372 -288
  107. data/man/man5/puppet.conf.5 +282 -254
  108. data/man/man8/puppet-agent.8 +2 -2
  109. data/man/man8/puppet-apply.8 +2 -2
  110. data/man/man8/puppet-catalog.8 +1 -1
  111. data/man/man8/puppet-config.8 +1 -1
  112. data/man/man8/puppet-describe.8 +1 -1
  113. data/man/man8/puppet-device.8 +2 -2
  114. data/man/man8/puppet-doc.8 +1 -1
  115. data/man/man8/puppet-epp.8 +1 -1
  116. data/man/man8/puppet-facts.8 +90 -1
  117. data/man/man8/puppet-filebucket.8 +3 -3
  118. data/man/man8/puppet-generate.8 +1 -1
  119. data/man/man8/puppet-help.8 +1 -1
  120. data/man/man8/puppet-key.8 +1 -1
  121. data/man/man8/puppet-lookup.8 +1 -1
  122. data/man/man8/puppet-man.8 +1 -1
  123. data/man/man8/puppet-module.8 +1 -1
  124. data/man/man8/puppet-node.8 +4 -1
  125. data/man/man8/puppet-parser.8 +1 -1
  126. data/man/man8/puppet-plugin.8 +1 -1
  127. data/man/man8/puppet-report.8 +4 -1
  128. data/man/man8/puppet-resource.8 +1 -1
  129. data/man/man8/puppet-script.8 +2 -2
  130. data/man/man8/puppet-ssl.8 +5 -1
  131. data/man/man8/puppet-status.8 +1 -1
  132. data/man/man8/puppet.8 +2 -2
  133. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +91 -0
  134. data/spec/fixtures/ssl/127.0.0.1-key.pem +107 -57
  135. data/spec/fixtures/ssl/127.0.0.1.pem +52 -31
  136. data/spec/fixtures/ssl/bad-basic-constraints.pem +57 -35
  137. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +57 -35
  138. data/spec/fixtures/ssl/ca.pem +57 -35
  139. data/spec/fixtures/ssl/crl.pem +28 -18
  140. data/spec/fixtures/ssl/ec-key.pem +11 -11
  141. data/spec/fixtures/ssl/ec.pem +33 -24
  142. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  143. data/spec/fixtures/ssl/encrypted-key.pem +108 -58
  144. data/spec/fixtures/ssl/intermediate-agent-crl.pem +28 -19
  145. data/spec/fixtures/ssl/intermediate-agent.pem +57 -36
  146. data/spec/fixtures/ssl/intermediate-crl.pem +31 -21
  147. data/spec/fixtures/ssl/intermediate.pem +57 -36
  148. data/spec/fixtures/ssl/pluto-key.pem +107 -57
  149. data/spec/fixtures/ssl/pluto.pem +52 -30
  150. data/spec/fixtures/ssl/request-key.pem +107 -57
  151. data/spec/fixtures/ssl/request.pem +47 -26
  152. data/spec/fixtures/ssl/revoked-key.pem +107 -57
  153. data/spec/fixtures/ssl/revoked.pem +52 -30
  154. data/spec/fixtures/ssl/signed-key.pem +107 -57
  155. data/spec/fixtures/ssl/signed.pem +52 -30
  156. data/spec/fixtures/ssl/tampered-cert.pem +52 -30
  157. data/spec/fixtures/ssl/tampered-csr.pem +47 -26
  158. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +107 -57
  159. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +50 -29
  160. data/spec/fixtures/ssl/unknown-ca-key.pem +107 -57
  161. data/spec/fixtures/ssl/unknown-ca.pem +55 -33
  162. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +9 -0
  163. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +4 -0
  164. data/spec/integration/application/agent_spec.rb +160 -3
  165. data/spec/integration/application/apply_spec.rb +19 -0
  166. data/spec/integration/application/plugin_spec.rb +1 -1
  167. data/spec/integration/application/resource_spec.rb +30 -0
  168. data/spec/integration/defaults_spec.rb +0 -7
  169. data/spec/integration/environments/setting_hooks_spec.rb +1 -1
  170. data/spec/integration/http/client_spec.rb +12 -0
  171. data/spec/integration/indirector/direct_file_server_spec.rb +1 -3
  172. data/spec/integration/resource/type_collection_spec.rb +2 -6
  173. data/spec/integration/transaction_spec.rb +4 -9
  174. data/spec/integration/util/windows/adsi_spec.rb +21 -1
  175. data/spec/integration/util/windows/principal_spec.rb +21 -0
  176. data/spec/integration/util/windows/registry_spec.rb +6 -10
  177. data/spec/lib/puppet/test_ca.rb +2 -2
  178. data/spec/lib/puppet_spec/settings.rb +6 -1
  179. data/spec/spec_helper.rb +12 -5
  180. data/spec/unit/agent_spec.rb +8 -6
  181. data/spec/unit/application/agent_spec.rb +7 -3
  182. data/spec/unit/application/config_spec.rb +224 -4
  183. data/spec/unit/application/facts_spec.rb +482 -3
  184. data/spec/unit/application/filebucket_spec.rb +0 -2
  185. data/spec/unit/application/ssl_spec.rb +23 -0
  186. data/spec/unit/application_spec.rb +51 -9
  187. data/spec/unit/configurer/downloader_spec.rb +6 -0
  188. data/spec/unit/configurer_spec.rb +23 -0
  189. data/spec/unit/confine/feature_spec.rb +1 -1
  190. data/spec/unit/confine_spec.rb +8 -2
  191. data/spec/unit/defaults_spec.rb +36 -1
  192. data/spec/unit/environments_spec.rb +221 -68
  193. data/spec/unit/face/config_spec.rb +27 -32
  194. data/spec/unit/face/facts_spec.rb +4 -0
  195. data/spec/unit/face/node_spec.rb +0 -11
  196. data/spec/unit/file_serving/configuration/parser_spec.rb +0 -1
  197. data/spec/unit/file_serving/fileset_spec.rb +60 -0
  198. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  199. data/spec/unit/file_serving/terminus_helper_spec.rb +11 -4
  200. data/spec/unit/file_system_spec.rb +9 -0
  201. data/spec/unit/forge/module_release_spec.rb +2 -7
  202. data/spec/unit/functions/inline_epp_spec.rb +26 -1
  203. data/spec/unit/gettext/config_spec.rb +12 -0
  204. data/spec/unit/http/service/compiler_spec.rb +172 -0
  205. data/spec/unit/http/service_spec.rb +1 -1
  206. data/spec/unit/indirector/catalog/compiler_spec.rb +14 -10
  207. data/spec/unit/indirector/face_spec.rb +0 -1
  208. data/spec/unit/indirector/facts/facter_spec.rb +95 -1
  209. data/spec/unit/indirector/facts/json_spec.rb +255 -0
  210. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +26 -8
  211. data/spec/unit/indirector/indirection_spec.rb +8 -12
  212. data/spec/unit/indirector/key/file_spec.rb +0 -1
  213. data/spec/unit/indirector/node/json_spec.rb +33 -0
  214. data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
  215. data/spec/unit/indirector/report/yaml_spec.rb +72 -8
  216. data/spec/unit/indirector_spec.rb +2 -2
  217. data/spec/unit/module_tool/applications/installer_spec.rb +66 -0
  218. data/spec/unit/network/authconfig_spec.rb +0 -3
  219. data/spec/unit/network/formats_spec.rb +41 -0
  220. data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -9
  221. data/spec/unit/network/http/factory_spec.rb +19 -0
  222. data/spec/unit/network/http/handler_spec.rb +0 -5
  223. data/spec/unit/parser/compiler_spec.rb +3 -19
  224. data/spec/unit/parser/functions/fqdn_rand_spec.rb +15 -1
  225. data/spec/unit/parser/resource_spec.rb +14 -8
  226. data/spec/unit/parser/templatewrapper_spec.rb +4 -3
  227. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +20 -0
  228. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +18 -0
  229. data/spec/unit/pops/types/p_sensitive_type_spec.rb +18 -0
  230. data/spec/unit/property_spec.rb +1 -0
  231. data/spec/unit/provider/group/groupadd_spec.rb +5 -2
  232. data/spec/unit/provider/nameservice_spec.rb +66 -65
  233. data/spec/unit/provider/package/apt_spec.rb +28 -23
  234. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  235. data/spec/unit/provider/package/base_spec.rb +6 -5
  236. data/spec/unit/provider/package/dnfmodule_spec.rb +10 -1
  237. data/spec/unit/provider/package/nim_spec.rb +42 -0
  238. data/spec/unit/provider/package/pacman_spec.rb +18 -12
  239. data/spec/unit/provider/package/pip_spec.rb +6 -11
  240. data/spec/unit/provider/package/pkgdmg_spec.rb +0 -4
  241. data/spec/unit/provider/service/init_spec.rb +1 -0
  242. data/spec/unit/provider/service/openwrt_spec.rb +3 -1
  243. data/spec/unit/provider/service/systemd_spec.rb +53 -8
  244. data/spec/unit/provider/service/windows_spec.rb +202 -0
  245. data/spec/unit/provider/user/aix_spec.rb +5 -0
  246. data/spec/unit/provider/user/directoryservice_spec.rb +67 -35
  247. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  248. data/spec/unit/provider/user/pw_spec.rb +2 -0
  249. data/spec/unit/provider/user/useradd_spec.rb +71 -3
  250. data/spec/unit/provider_spec.rb +8 -10
  251. data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
  252. data/spec/unit/resource/capability_finder_spec.rb +6 -1
  253. data/spec/unit/resource/catalog_spec.rb +1 -1
  254. data/spec/unit/resource/type_spec.rb +1 -1
  255. data/spec/unit/resource_spec.rb +11 -10
  256. data/spec/unit/settings_spec.rb +419 -242
  257. data/spec/unit/ssl/base_spec.rb +0 -1
  258. data/spec/unit/ssl/host_spec.rb +0 -5
  259. data/spec/unit/ssl/ssl_provider_spec.rb +14 -8
  260. data/spec/unit/ssl/state_machine_spec.rb +19 -5
  261. data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -9
  262. data/spec/unit/transaction/event_manager_spec.rb +14 -11
  263. data/spec/unit/transaction_spec.rb +18 -11
  264. data/spec/unit/type/file/content_spec.rb +0 -1
  265. data/spec/unit/type/file/selinux_spec.rb +3 -5
  266. data/spec/unit/type/file_spec.rb +0 -6
  267. data/spec/unit/type/group_spec.rb +13 -6
  268. data/spec/unit/type/resources_spec.rb +7 -7
  269. data/spec/unit/type/service_spec.rb +60 -189
  270. data/spec/unit/type/tidy_spec.rb +17 -8
  271. data/spec/unit/type/user_spec.rb +45 -0
  272. data/spec/unit/type_spec.rb +2 -2
  273. data/spec/unit/util/at_fork_spec.rb +2 -2
  274. data/spec/unit/util/autoload_spec.rb +5 -1
  275. data/spec/unit/util/backups_spec.rb +1 -2
  276. data/spec/unit/util/execution_spec.rb +15 -11
  277. data/spec/unit/util/inifile_spec.rb +6 -14
  278. data/spec/unit/util/log_spec.rb +8 -7
  279. data/spec/unit/util/logging_spec.rb +3 -3
  280. data/spec/unit/util/posix_spec.rb +363 -15
  281. data/spec/unit/util/rubygems_spec.rb +2 -2
  282. data/spec/unit/util/selinux_spec.rb +163 -68
  283. data/spec/unit/util/storage_spec.rb +3 -1
  284. data/spec/unit/util/suidmanager_spec.rb +44 -41
  285. data/spec/unit/util/windows/sid_spec.rb +6 -0
  286. data/spec/unit/util_spec.rb +13 -6
  287. data/tasks/generate_cert_fixtures.rake +2 -2
  288. metadata +33 -16
  289. data/spec/integration/application/config_spec.rb +0 -74
  290. data/spec/lib/matchers/include.rb +0 -27
  291. data/spec/lib/matchers/include_spec.rb +0 -32
  292. data/spec/unit/face/catalog_spec.rb +0 -6
  293. data/spec/unit/face/module_spec.rb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bebf7c1f070e9b926268d10514168aa9c980571fb38937cca7d0ecd453b46571
4
- data.tar.gz: 5085ac016a244c154912c61e51d0f7c88e1d0795633087c60d51b1918f69549c
3
+ metadata.gz: '039f51c72f429dd07abf7008f97a11344cd150d8070ecd3012c19368beb31569'
4
+ data.tar.gz: 26d8e4acf456f6e09a541359a5b24c449a39aa1db09b0c911aea2db05a861c75
5
5
  SHA512:
6
- metadata.gz: 420e17e3874a6acd6429883fa2933c9128d4d0c8603df758a71cc51d9d00c58cc17f89a67d587516aba460a4fa56ed2a5c44a4c61772536c847215e519193f45
7
- data.tar.gz: b059f4655feb7d7ef87a443116c28028bcf2a6c9d21222c89614a39014558e436871e3a5c743fe1b102d4949332b405121b8b640cab80095c87c84bd9386a08b
6
+ metadata.gz: b045dd0cb388f971529bf5fe20d96b570c06ecfc5406a249f51c6030223548b00b19676a6b0d0aaa53259e2acebb67a9738dd95bac2a162ce869a1be14d26250
7
+ data.tar.gz: 6cb9a599d7ac5987eac8fd726418f9642a80e263aa491c1ee094c4a6177f9b897d6d1b82d64c27b5f497399a1f41900f7b33e09553f88c31acb07961098ae750
data/CODEOWNERS CHANGED
@@ -1,23 +1,9 @@
1
- # default to platform-core
2
- * @puppetlabs/platform-core @puppetlabs/puppetserver-maintainers
3
-
4
- # Night's Watch
5
- /lib/puppet/type/group @puppetlabs/night-s-watch
6
- /lib/puppet/type/package @puppetlabs/night-s-watch
7
- /lib/puppet/type/service @puppetlabs/night-s-watch
8
- /lib/puppet/type/user @puppetlabs/night-s-watch
9
- /lib/puppet/provider/group @puppetlabs/night-s-watch
10
- /lib/puppet/provider/package @puppetlabs/night-s-watch
11
- /lib/puppet/provider/service @puppetlabs/night-s-watch
12
- /lib/puppet/provider/user @puppetlabs/night-s-watch
1
+ # defaults
2
+ * @puppetlabs/platform-core @puppetlabs/puppetserver-maintainers @puppetlabs/night-s-watch
13
3
 
14
4
  # PAL
15
5
  /lib/puppet/pal @puppetlabs/bolt
16
6
 
17
- # puppet device
18
- /lib/puppet/application/device.rb @puppetlabs/networking
19
- /lib/puppet/util/network_device @puppetlabs/networking
20
-
21
7
  # puppet module
22
8
  /lib/puppet/application/module.rb @puppetlabs/pdk
23
9
  /lib/puppet/face/module @puppetlabs/pdk
data/Gemfile CHANGED
@@ -38,9 +38,11 @@ group(:features) do
38
38
  end
39
39
 
40
40
  group(:test) do
41
+ gem "ffi", require: false
41
42
  gem "json-schema", "~> 2.0", require: false
42
43
  gem "rake", *location_for(ENV['RAKE_LOCATION'] || '~> 12.2')
43
44
  gem "rspec", "~> 3.1", require: false
45
+ gem "rspec-expectations", ["~> 3.9", "!= 3.9.3"]
44
46
  gem "rspec-its", "~> 1.1", require: false
45
47
  gem 'vcr', '~> 5.0', require: false
46
48
  gem 'webmock', '~> 3.0', require: false
@@ -54,7 +56,7 @@ group(:development, optional: true) do
54
56
  gem 'memory_profiler', require: false, platforms: [:mri]
55
57
  gem 'pry', require: false, platforms: [:ruby]
56
58
  gem "racc", "1.4.9", require: false, platforms: [:ruby]
57
- if RUBY_PLATFORM != 'java'
59
+ if RUBY_PLATFORM != 'java' && RUBY_VERSION.to_f >= 2.5
58
60
  gem 'ruby-prof', '>= 0.16.0', require: false
59
61
  end
60
62
  end
data/Gemfile.lock CHANGED
@@ -1,7 +1,18 @@
1
+ GIT
2
+ remote: git://github.com/puppetlabs/packaging
3
+ revision: 9ddc3c730023911b5ef015dc55a4d2e9a55e4a6c
4
+ branch: 1.0.x
5
+ specs:
6
+ packaging (0.99.77)
7
+ artifactory (~> 2)
8
+ csv (= 3.1.5)
9
+ rake (>= 12.3)
10
+ release-metrics
11
+
1
12
  PATH
2
13
  remote: .
3
14
  specs:
4
- puppet (6.19.1)
15
+ puppet (6.23.0)
5
16
  CFPropertyList (~> 2.2)
6
17
  concurrent-ruby (~> 1.0)
7
18
  deep_merge (~> 1.0)
@@ -20,18 +31,20 @@ GEM
20
31
  addressable (2.7.0)
21
32
  public_suffix (>= 2.0.2, < 5.0)
22
33
  artifactory (2.8.2)
23
- ast (2.4.1)
34
+ ast (2.4.2)
24
35
  coderay (1.1.3)
25
- concurrent-ruby (1.1.7)
26
- crack (0.4.4)
36
+ concurrent-ruby (1.1.9)
37
+ crack (0.4.5)
38
+ rexml
27
39
  csv (3.1.5)
28
40
  deep_merge (1.2.1)
29
41
  diff-lcs (1.4.4)
30
42
  docopt (0.6.1)
31
- facter (4.0.44)
43
+ facter (4.2.1)
32
44
  hocon (~> 1.3)
33
45
  thor (>= 1.0.1, < 2.0)
34
46
  fast_gettext (1.1.2)
47
+ ffi (1.15.1)
35
48
  gettext (3.2.9)
36
49
  locale (>= 2.0.5)
37
50
  text (>= 1.3.0)
@@ -40,70 +53,66 @@ GEM
40
53
  gettext (>= 3.0.2, < 3.3.0)
41
54
  locale
42
55
  hashdiff (1.0.1)
43
- hiera (3.6.0)
44
- hiera-eyaml (3.2.0)
45
- highline (~> 1.6.19)
56
+ hiera (3.7.0)
57
+ hiera-eyaml (3.2.2)
58
+ highline
46
59
  optimist
47
- highline (1.6.21)
60
+ highline (2.0.3)
48
61
  hocon (1.3.1)
49
62
  hpricot (0.8.6)
50
63
  httpclient (2.8.3)
51
64
  json-schema (2.8.1)
52
65
  addressable (>= 2.4)
53
66
  locale (2.1.3)
54
- memory_profiler (0.9.14)
67
+ memory_profiler (1.0.0)
55
68
  method_source (1.0.0)
56
69
  minitar (0.9)
57
- msgpack (1.3.3)
70
+ msgpack (1.4.2)
58
71
  multi_json (1.15.0)
59
72
  mustache (1.1.1)
60
73
  optimist (3.0.1)
61
- packaging (0.99.71)
62
- artifactory (~> 2)
63
- csv (= 3.1.5)
64
- rake (>= 12.3)
65
- release-metrics
66
- parallel (1.19.2)
74
+ parallel (1.20.1)
67
75
  parser (2.7.2.0)
68
76
  ast (~> 2.4.1)
69
- powerpack (0.1.2)
70
- pry (0.13.1)
77
+ powerpack (0.1.3)
78
+ pry (0.14.1)
71
79
  coderay (~> 1.1)
72
80
  method_source (~> 1.0)
73
81
  public_suffix (4.0.6)
74
- puppet-resource_api (1.8.13)
82
+ puppet-resource_api (1.8.14)
75
83
  hocon (>= 1.0)
76
- puppetserver-ca (1.8.0)
84
+ puppetserver-ca (1.9.5)
77
85
  facter (>= 2.0.1, < 5)
78
86
  racc (1.4.9)
79
87
  rainbow (2.2.2)
80
88
  rake
81
89
  rake (12.3.3)
82
90
  rdiscount (2.2.0.2)
83
- rdoc (6.2.1)
91
+ rdoc (6.3.1)
84
92
  release-metrics (1.1.0)
85
93
  csv
86
94
  docopt
95
+ rexml (3.2.5)
87
96
  ronn (0.7.3)
88
97
  hpricot (>= 0.8.2)
89
98
  mustache (>= 0.7.0)
90
99
  rdiscount (>= 1.5.8)
91
- rspec (3.9.0)
92
- rspec-core (~> 3.9.0)
93
- rspec-expectations (~> 3.9.0)
94
- rspec-mocks (~> 3.9.0)
95
- rspec-core (3.9.3)
96
- rspec-support (~> 3.9.3)
97
- rspec-expectations (3.9.2)
100
+ rspec (3.10.0)
101
+ rspec-core (~> 3.10.0)
102
+ rspec-expectations (~> 3.10.0)
103
+ rspec-mocks (~> 3.10.0)
104
+ rspec-core (3.10.1)
105
+ rspec-support (~> 3.10.0)
106
+ rspec-expectations (3.10.1)
98
107
  diff-lcs (>= 1.2.0, < 2.0)
99
- rspec-support (~> 3.9.0)
108
+ rspec-support (~> 3.10.0)
100
109
  rspec-its (1.3.0)
101
110
  rspec-core (>= 3.0.0)
102
111
  rspec-expectations (>= 3.0.0)
103
- rspec-mocks (3.9.1)
112
+ rspec-mocks (3.10.2)
104
113
  diff-lcs (>= 1.2.0, < 2.0)
105
- rspec-support (~> 3.9.0)
106
- rspec-support (3.9.3)
114
+ rspec-support (~> 3.10.0)
115
+ rspec-support (3.10.2)
107
116
  rubocop (0.49.1)
108
117
  parallel (~> 1.10)
109
118
  parser (>= 2.3.3.1, < 3.0)
@@ -113,24 +122,25 @@ GEM
113
122
  unicode-display_width (~> 1.0, >= 1.0.1)
114
123
  rubocop-i18n (1.2.0)
115
124
  rubocop (~> 0.49.0)
116
- ruby-prof (1.4.1)
117
- ruby-progressbar (1.10.1)
118
- semantic_puppet (1.0.2)
125
+ ruby-prof (1.4.3)
126
+ ruby-progressbar (1.11.0)
127
+ semantic_puppet (1.0.4)
119
128
  text (1.3.1)
120
- thor (1.0.1)
129
+ thor (1.1.0)
121
130
  unicode-display_width (1.7.0)
122
131
  vcr (5.1.0)
123
- webmock (3.9.3)
132
+ webmock (3.13.0)
124
133
  addressable (>= 2.3.6)
125
134
  crack (>= 0.3.2)
126
135
  hashdiff (>= 0.4.0, < 2.0.0)
127
- yard (0.9.25)
136
+ yard (0.9.26)
128
137
 
129
138
  PLATFORMS
130
139
  ruby
131
140
 
132
141
  DEPENDENCIES
133
142
  diff-lcs (~> 1.3)
143
+ ffi
134
144
  gettext-setup (~> 0.28)
135
145
  hiera-eyaml
136
146
  hocon (~> 1.0)
@@ -138,7 +148,7 @@ DEPENDENCIES
138
148
  memory_profiler
139
149
  minitar (~> 0.9)
140
150
  msgpack (~> 1.2)
141
- packaging (~> 0.99)
151
+ packaging!
142
152
  pry
143
153
  puppet!
144
154
  puppet-resource_api (~> 1.5)
@@ -148,6 +158,7 @@ DEPENDENCIES
148
158
  rdoc (~> 6.0)
149
159
  ronn (~> 0.7.3)
150
160
  rspec (~> 3.1)
161
+ rspec-expectations (~> 3.9, != 3.9.3)
151
162
  rspec-its (~> 1.1)
152
163
  rubocop (~> 0.49)
153
164
  rubocop-i18n (~> 1.2.0)
data/ext/osx/puppet.plist CHANGED
@@ -26,5 +26,7 @@
26
26
  <string>/var/log/puppetlabs/puppet/puppet.log</string>
27
27
  <key>StandardOutPath</key>
28
28
  <string>/var/log/puppetlabs/puppet/puppet.log</string>
29
+ <key>SessionCreate</key>
30
+ <true />
29
31
  </dict>
30
32
  </plist>
@@ -41,7 +41,7 @@ gem_platform_dependencies:
41
41
  gem_runtime_dependencies:
42
42
  ffi: ['> 1.9.24', '< 2']
43
43
  # win32-xxxx gems are pinned due to PUP-6445
44
- win32-dir: '= 0.4.9'
44
+ win32-dir: ['>= 0.4.9', '<= 0.7.2']
45
45
  win32-process: '= 0.7.5'
46
46
  # Use of win32-security is deprecated
47
47
  win32-security: '= 0.2.5'
@@ -51,7 +51,7 @@ gem_platform_dependencies:
51
51
  gem_runtime_dependencies:
52
52
  ffi: ['> 1.9.24', '< 2']
53
53
  # win32-xxxx gems are pinned due to PUP-6445
54
- win32-dir: '= 0.4.9'
54
+ win32-dir: ['>= 0.4.9', '<= 0.7.2']
55
55
  win32-process: '= 0.7.5'
56
56
  # Use of win32-security is deprecated
57
57
  win32-security: '= 0.2.5'
@@ -420,12 +420,16 @@ class Application
420
420
  def handle_logdest_arg(arg)
421
421
  return if arg.nil?
422
422
 
423
- begin
424
- Puppet[:logdest] = arg
425
- Puppet::Util::Log.newdestination(arg)
426
- options[:setdest] = true
427
- rescue => detail
428
- Puppet.log_and_raise(detail, _("Could not set logdest to %{dest}.") % { dest: arg })
423
+ logdest = arg.split(',').map!(&:strip)
424
+ Puppet[:logdest] = arg
425
+
426
+ logdest.each do |dest|
427
+ begin
428
+ Puppet::Util::Log.newdestination(dest)
429
+ options[:setdest] = true
430
+ rescue => detail
431
+ Puppet.log_and_raise(detail, _("Could not set logdest to %{dest}.") % { dest: arg })
432
+ end
429
433
  end
430
434
  end
431
435
 
@@ -133,9 +133,12 @@ Some flags are meant specifically for interactive use --- in particular,
133
133
  'test', 'tags' and 'fingerprint' are useful.
134
134
 
135
135
  '--test' runs once in the foreground with verbose logging, then exits.
136
- It also exits if it can't get a valid catalog. `--test` includes the '--detailed-exitcodes' option by default and exits with one of the following exit codes:
136
+ It also exits if it can't get a valid catalog. `--test` includes the
137
+ '--detailed-exitcodes' option by default and exits with one of the following
138
+ exit codes:
137
139
 
138
- * 0: The run succeeded with no changes or failures; the system was already in the desired state.
140
+ * 0: The run succeeded with no changes or failures; the system was already in
141
+ the desired state.
139
142
  * 1: The run failed, or wasn't attempted due to another run already in progress.
140
143
  * 2: The run succeeded, and some resources were changed.
141
144
  * 4: The run succeeded, and some resources failed.
@@ -246,7 +249,9 @@ generated by running puppet agent with '--genconfig'.
246
249
  'puppet agent' exits after executing this.
247
250
 
248
251
  * --evaltrace:
249
- Logs each resource as it is being evaluated. This allows you to interactively see exactly what is being done. (This is a Puppet setting, and can go in puppet.conf. Note the special 'no-' prefix for boolean settings on the command line.)
252
+ Logs each resource as it is being evaluated. This allows you to interactively
253
+ see exactly what is being done. (This is a Puppet setting, and can go in
254
+ puppet.conf. Note the special 'no-' prefix for boolean settings on the command line.)
250
255
 
251
256
  * --fingerprint:
252
257
  Display the current certificate or certificate signing request
@@ -267,6 +272,8 @@ generated by running puppet agent with '--genconfig'.
267
272
  service), 'eventlog' (the Windows Event Log), 'console', or the path to a log
268
273
  file. If debugging or verbosity is enabled, this defaults to 'console'.
269
274
  Otherwise, it defaults to 'syslog' on POSIX systems and 'eventlog' on Windows.
275
+ Multiple destinations can be set using a comma separated list
276
+ (eg: `/path/file1,console,/path/file2`)"
270
277
 
271
278
  A path ending with '.json' will receive structured output in JSON format. The
272
279
  log file will not have an ending ']' automatically written to it due to the
@@ -309,7 +316,8 @@ generated by running puppet agent with '--genconfig'.
309
316
  'no-splay', and 'show_diff'.
310
317
 
311
318
  * --trace
312
- Prints stack traces on some errors. (This is a Puppet setting, and can go in puppet.conf. Note the special 'no-' prefix for boolean settings on the command line.)
319
+ Prints stack traces on some errors. (This is a Puppet setting, and can go in
320
+ puppet.conf. Note the special 'no-' prefix for boolean settings on the command line.)
313
321
 
314
322
  * --verbose:
315
323
  Turn on verbose reporting.
@@ -113,6 +113,8 @@ configuration options by running puppet with
113
113
  Where to send log messages. Choose between 'syslog' (the POSIX syslog
114
114
  service), 'eventlog' (the Windows Event Log), 'console', or the path to a log
115
115
  file. Defaults to 'console'.
116
+ Multiple destinations can be set using a comma separated list
117
+ (eg: `/path/file1,console,/path/file2`)"
116
118
 
117
119
  A path ending with '.json' will receive structured output in JSON format. The
118
120
  log file will not have an ending ']' automatically written to it due to the
@@ -236,7 +238,7 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
236
238
  end
237
239
 
238
240
  # Resolve all deferred values and replace them / mutate the catalog
239
- Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(node.facts, catalog)
241
+ Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(node.facts, catalog, apply_environment)
240
242
 
241
243
  # Translate it to a RAL catalog
242
244
  catalog = catalog.to_ral
@@ -330,7 +332,7 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
330
332
  raise Puppet::Error, _("Could not deserialize catalog from %{format}: %{detail}") % { format: format, detail: detail }, detail.backtrace
331
333
  end
332
334
  # Resolve all deferred values and replace them / mutate the catalog
333
- Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(node.facts, catalog)
335
+ Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(node.facts, catalog, configured_environment)
334
336
 
335
337
  catalog.to_ral
336
338
  end
@@ -155,6 +155,8 @@ you can specify '--server <servername>' as an argument.
155
155
  Where to send log messages. Choose between 'syslog' (the POSIX syslog
156
156
  service), 'console', or the path to a log file. If debugging or verbosity is
157
157
  enabled, this defaults to 'console'. Otherwise, it defaults to 'syslog'.
158
+ Multiple destinations can be set using a comma separated list
159
+ (eg: `/path/file1,console,/path/file2`)"
158
160
 
159
161
  A path ending with '.json' will receive structured output in JSON format. The
160
162
  log file will not have an ending ']' automatically written to it due to the
@@ -186,8 +186,8 @@ EXAMPLES
186
186
  $ puppet filebucket -b /tmp/TestBucket list
187
187
  d41d8cd98f00b204e9800998ecf8427e 2015-05-11 09:33:22 /tmp/TestFile2
188
188
 
189
- ## From a Puppet master, list files in the master bucketdir
190
- $ puppet filebucket -b $(puppet config print bucketdir --section master) list
189
+ ## From a Puppet Server, list files in the server bucketdir
190
+ $ puppet filebucket -b $(puppet config print bucketdir --section server) list
191
191
  d43a6ecaa892a1962398ac9170ea9bf2 2015-05-11 09:27:56 /tmp/TestFile
192
192
  7ae322f5791217e031dc60188f4521ef 2015-05-11 09:52:15 /tmp/TestFile
193
193
 
@@ -101,7 +101,8 @@ configuration options can also be generated by running puppet with
101
101
  Print extra information.
102
102
 
103
103
  * --to_yaml:
104
- Output found resources in yaml format, suitable to use with Hiera and create_resources.
104
+ Output found resources in yaml format, suitable to use with Hiera and
105
+ create_resources.
105
106
 
106
107
  EXAMPLE
107
108
  -------
@@ -71,6 +71,8 @@ configuration options can also be generated by running puppet with
71
71
  Where to send log messages. Choose between 'syslog' (the POSIX syslog
72
72
  service), 'eventlog' (the Windows Event Log), 'console', or the path to a log
73
73
  file. Defaults to 'console'.
74
+ Multiple destinations can be set using a comma separated list
75
+ (eg: `/path/file1,console,/path/file2`)"
74
76
 
75
77
  A path ending with '.json' will receive structured output in JSON format. The
76
78
  log file will not have an ending ']' automatically written to it due to the
@@ -74,6 +74,9 @@ ACTIONS
74
74
  `--localca` is specified, then also remove this host's local copy of the
75
75
  CA certificate(s) and CRL bundle. if `--target CERTNAME` is specified, then
76
76
  remove the files for the specified device on this host instead of this host.
77
+
78
+ * show:
79
+ Print the full-text version of this host's certificate.
77
80
  HELP
78
81
  end
79
82
 
@@ -142,11 +145,19 @@ HELP
142
145
  end
143
146
  @machine.ensure_client_certificate
144
147
  Puppet.notice(_("Completed SSL initialization"))
148
+ when 'show'
149
+ show(certname)
145
150
  else
146
151
  raise Puppet::Error, _("Unknown action '%{action}'") % { action: action }
147
152
  end
148
153
  end
149
154
 
155
+ def show(certname)
156
+ password = @cert_provider.load_private_key_password
157
+ ssl_context = @ssl_provider.load_context(certname: certname, password: password)
158
+ puts ssl_context.client_cert.to_text
159
+ end
160
+
150
161
  def submit_request(ssl_context)
151
162
  key = @cert_provider.load_private_key(Puppet[:certname])
152
163
  unless key
@@ -53,6 +53,13 @@ module Puppet
53
53
  route_file = Puppet[:route_file]
54
54
  if Puppet::FileSystem.exist?(route_file)
55
55
  routes = Puppet::Util::Yaml.safe_load_file(route_file, [Symbol])
56
+ if routes["server"] && routes["master"]
57
+ Puppet.warning("Route file #{route_file} contains both server and master route settings.")
58
+ elsif routes["server"] && !routes["master"]
59
+ routes["master"] = routes["server"]
60
+ elsif routes["master"] && !routes["server"]
61
+ routes["server"] = routes["master"]
62
+ end
56
63
  application_routes = routes[application_name]
57
64
  Puppet::Indirector.configure_routes(application_routes) if application_routes
58
65
  end