puppet 6.17.0-x64-mingw32 → 7.1.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 (622) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +2 -16
  3. data/Gemfile +3 -4
  4. data/Gemfile.lock +32 -30
  5. data/README.md +2 -3
  6. data/Rakefile +4 -12
  7. data/conf/fileserver.conf +5 -10
  8. data/ext/build_defaults.yaml +1 -1
  9. data/ext/osx/file_mapping.yaml +0 -5
  10. data/ext/project_data.yaml +2 -14
  11. data/ext/redhat/puppet.spec.erb +0 -1
  12. data/ext/windows/service/daemon.rb +6 -5
  13. data/install.rb +21 -17
  14. data/lib/puppet.rb +11 -20
  15. data/lib/puppet/agent/locker.rb +0 -7
  16. data/lib/puppet/application.rb +172 -98
  17. data/lib/puppet/application/agent.rb +8 -3
  18. data/lib/puppet/application/apply.rb +18 -20
  19. data/lib/puppet/application/device.rb +100 -104
  20. data/lib/puppet/application/doc.rb +1 -1
  21. data/lib/puppet/application/filebucket.rb +15 -11
  22. data/lib/puppet/application/lookup.rb +16 -4
  23. data/lib/puppet/application/ssl.rb +1 -1
  24. data/lib/puppet/application_support.rb +7 -0
  25. data/lib/puppet/configurer.rb +46 -19
  26. data/lib/puppet/configurer/downloader.rb +31 -10
  27. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  28. data/lib/puppet/confine.rb +1 -1
  29. data/lib/puppet/confine/any.rb +1 -1
  30. data/lib/puppet/defaults.rb +116 -162
  31. data/lib/puppet/environments.rb +72 -62
  32. data/lib/puppet/face/catalog.rb +1 -1
  33. data/lib/puppet/face/config.rb +56 -16
  34. data/lib/puppet/face/epp.rb +12 -2
  35. data/lib/puppet/face/facts.rb +66 -6
  36. data/lib/puppet/face/help.rb +1 -1
  37. data/lib/puppet/face/node.rb +3 -3
  38. data/lib/puppet/face/node/clean.rb +10 -2
  39. data/lib/puppet/face/plugin.rb +5 -8
  40. data/lib/puppet/feature/base.rb +1 -1
  41. data/lib/puppet/ffi/posix.rb +10 -0
  42. data/lib/puppet/ffi/posix/constants.rb +14 -0
  43. data/lib/puppet/ffi/posix/functions.rb +24 -0
  44. data/lib/puppet/ffi/windows.rb +12 -0
  45. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  46. data/lib/puppet/ffi/windows/constants.rb +404 -0
  47. data/lib/puppet/ffi/windows/functions.rb +628 -0
  48. data/lib/puppet/ffi/windows/structs.rb +338 -0
  49. data/lib/puppet/file_bucket/dipper.rb +1 -1
  50. data/lib/puppet/file_serving/configuration.rb +0 -5
  51. data/lib/puppet/file_serving/configuration/parser.rb +3 -32
  52. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  53. data/lib/puppet/file_serving/mount.rb +1 -2
  54. data/lib/puppet/file_serving/mount/locales.rb +1 -2
  55. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
  56. data/lib/puppet/file_serving/mount/plugins.rb +1 -2
  57. data/lib/puppet/file_system/file_impl.rb +3 -3
  58. data/lib/puppet/forge/repository.rb +0 -1
  59. data/lib/puppet/functions/epp.rb +1 -0
  60. data/lib/puppet/functions/inline_epp.rb +1 -0
  61. data/lib/puppet/functions/lstrip.rb +4 -4
  62. data/lib/puppet/functions/new.rb +8 -3
  63. data/lib/puppet/functions/reverse_each.rb +1 -1
  64. data/lib/puppet/functions/rstrip.rb +4 -4
  65. data/lib/puppet/functions/step.rb +1 -1
  66. data/lib/puppet/functions/strip.rb +4 -4
  67. data/lib/puppet/generate/models/type/type.rb +4 -1
  68. data/lib/puppet/gettext/config.rb +5 -5
  69. data/lib/puppet/gettext/module_translations.rb +4 -4
  70. data/lib/puppet/http.rb +23 -13
  71. data/lib/puppet/http/client.rb +165 -115
  72. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  73. data/lib/puppet/http/errors.rb +16 -0
  74. data/lib/puppet/http/external_client.rb +5 -7
  75. data/lib/puppet/{network/http → http}/factory.rb +8 -11
  76. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  77. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  78. data/lib/puppet/http/proxy.rb +137 -0
  79. data/lib/puppet/http/redirector.rb +4 -12
  80. data/lib/puppet/http/resolver.rb +10 -23
  81. data/lib/puppet/http/resolver/server_list.rb +23 -45
  82. data/lib/puppet/http/resolver/settings.rb +7 -10
  83. data/lib/puppet/http/resolver/srv.rb +11 -15
  84. data/lib/puppet/http/response.rb +36 -54
  85. data/lib/puppet/http/response_converter.rb +24 -0
  86. data/lib/puppet/http/response_net_http.rb +42 -0
  87. data/lib/puppet/http/retry_after_handler.rb +4 -13
  88. data/lib/puppet/http/service.rb +15 -27
  89. data/lib/puppet/http/service/ca.rb +11 -22
  90. data/lib/puppet/http/service/compiler.rb +23 -70
  91. data/lib/puppet/http/service/file_server.rb +19 -28
  92. data/lib/puppet/http/service/puppetserver.rb +53 -0
  93. data/lib/puppet/http/service/report.rb +8 -10
  94. data/lib/puppet/http/session.rb +16 -24
  95. data/lib/puppet/{network/http → http}/site.rb +1 -2
  96. data/lib/puppet/indirector/catalog/compiler.rb +1 -1
  97. data/lib/puppet/indirector/catalog/rest.rb +2 -4
  98. data/lib/puppet/indirector/exec.rb +1 -1
  99. data/lib/puppet/indirector/fact_search.rb +60 -0
  100. data/lib/puppet/indirector/facts/facter.rb +27 -6
  101. data/lib/puppet/indirector/facts/json.rb +27 -0
  102. data/lib/puppet/indirector/facts/rest.rb +3 -22
  103. data/lib/puppet/indirector/facts/yaml.rb +4 -59
  104. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  105. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  106. data/lib/puppet/indirector/file_metadata/http.rb +1 -0
  107. data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
  108. data/lib/puppet/indirector/file_server.rb +1 -8
  109. data/lib/puppet/indirector/generic_http.rb +0 -11
  110. data/lib/puppet/indirector/hiera.rb +4 -0
  111. data/lib/puppet/indirector/indirection.rb +1 -1
  112. data/lib/puppet/indirector/json.rb +5 -1
  113. data/lib/puppet/indirector/msgpack.rb +1 -1
  114. data/lib/puppet/indirector/node/json.rb +8 -0
  115. data/lib/puppet/indirector/node/rest.rb +2 -4
  116. data/lib/puppet/indirector/report/json.rb +34 -0
  117. data/lib/puppet/indirector/report/processor.rb +2 -2
  118. data/lib/puppet/indirector/report/rest.rb +3 -8
  119. data/lib/puppet/indirector/request.rb +1 -102
  120. data/lib/puppet/indirector/rest.rb +12 -263
  121. data/lib/puppet/indirector/yaml.rb +1 -1
  122. data/lib/puppet/module.rb +1 -2
  123. data/lib/puppet/module_tool/applications.rb +0 -1
  124. data/lib/puppet/network/authconfig.rb +2 -96
  125. data/lib/puppet/network/authorization.rb +13 -35
  126. data/lib/puppet/network/format_support.rb +2 -2
  127. data/lib/puppet/network/formats.rb +2 -1
  128. data/lib/puppet/network/http.rb +3 -3
  129. data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
  130. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  131. data/lib/puppet/network/http/api/master/v3/environments.rb +0 -1
  132. data/lib/puppet/network/http/connection.rb +247 -316
  133. data/lib/puppet/network/http/handler.rb +0 -1
  134. data/lib/puppet/network/http/route.rb +2 -2
  135. data/lib/puppet/network/http_pool.rb +16 -34
  136. data/lib/puppet/node.rb +1 -30
  137. data/lib/puppet/node/environment.rb +12 -5
  138. data/lib/puppet/node/facts.rb +17 -0
  139. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  140. data/lib/puppet/pal/pal_impl.rb +93 -14
  141. data/lib/puppet/parameter.rb +1 -1
  142. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  143. data/lib/puppet/parser/compiler.rb +0 -198
  144. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  145. data/lib/puppet/parser/functions.rb +21 -17
  146. data/lib/puppet/parser/functions/create_resources.rb +11 -7
  147. data/lib/puppet/parser/resource.rb +0 -69
  148. data/lib/puppet/parser/templatewrapper.rb +1 -1
  149. data/lib/puppet/parser/type_loader.rb +2 -2
  150. data/lib/puppet/pops/adaptable.rb +7 -13
  151. data/lib/puppet/pops/adapters.rb +8 -4
  152. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
  153. data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -8
  154. data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
  155. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
  156. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  157. data/lib/puppet/pops/issues.rb +0 -5
  158. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  159. data/lib/puppet/pops/loader/runtime3_type_loader.rb +4 -2
  160. data/lib/puppet/pops/loaders.rb +18 -11
  161. data/lib/puppet/pops/lookup/context.rb +1 -1
  162. data/lib/puppet/pops/lookup/hiera_config.rb +14 -1
  163. data/lib/puppet/pops/model/ast.pp +0 -42
  164. data/lib/puppet/pops/model/ast.rb +0 -290
  165. data/lib/puppet/pops/model/factory.rb +0 -45
  166. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  167. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  168. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  169. data/lib/puppet/pops/parser/egrammar.ra +0 -56
  170. data/lib/puppet/pops/parser/eparser.rb +1520 -1712
  171. data/lib/puppet/pops/parser/lexer2.rb +4 -4
  172. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  173. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  174. data/lib/puppet/pops/types/iterable.rb +34 -8
  175. data/lib/puppet/pops/types/p_meta_type.rb +1 -1
  176. data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
  177. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  178. data/lib/puppet/pops/types/type_parser.rb +0 -4
  179. data/lib/puppet/pops/types/types.rb +0 -1
  180. data/lib/puppet/pops/validation/checker4_0.rb +28 -52
  181. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  182. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  183. data/lib/puppet/provider.rb +0 -13
  184. data/lib/puppet/provider/file/windows.rb +1 -1
  185. data/lib/puppet/provider/nameservice.rb +0 -18
  186. data/lib/puppet/provider/package/apt.rb +34 -0
  187. data/lib/puppet/provider/package/dpkg.rb +1 -11
  188. data/lib/puppet/provider/package/gem.rb +27 -5
  189. data/lib/puppet/provider/package/pip.rb +0 -1
  190. data/lib/puppet/provider/package/pip2.rb +17 -0
  191. data/lib/puppet/provider/package/pkg.rb +0 -4
  192. data/lib/puppet/provider/package/portage.rb +1 -1
  193. data/lib/puppet/provider/package/puppet_gem.rb +6 -4
  194. data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
  195. data/lib/puppet/provider/package/yum.rb +1 -0
  196. data/lib/puppet/provider/package/zypper.rb +3 -0
  197. data/lib/puppet/provider/service/smf.rb +191 -73
  198. data/lib/puppet/provider/user/aix.rb +3 -3
  199. data/lib/puppet/provider/user/directoryservice.rb +0 -10
  200. data/lib/puppet/provider/user/user_role_add.rb +1 -1
  201. data/lib/puppet/provider/user/windows_adsi.rb +18 -1
  202. data/lib/puppet/reference/configuration.rb +2 -0
  203. data/lib/puppet/reference/indirection.rb +1 -1
  204. data/lib/puppet/resource.rb +1 -89
  205. data/lib/puppet/resource/catalog.rb +1 -14
  206. data/lib/puppet/resource/type.rb +5 -120
  207. data/lib/puppet/resource/type_collection.rb +3 -48
  208. data/lib/puppet/runtime.rb +1 -2
  209. data/lib/puppet/settings.rb +84 -35
  210. data/lib/puppet/settings/base_setting.rb +26 -2
  211. data/lib/puppet/settings/integer_setting.rb +17 -0
  212. data/lib/puppet/settings/port_setting.rb +15 -0
  213. data/lib/puppet/settings/priority_setting.rb +5 -4
  214. data/lib/puppet/ssl.rb +10 -6
  215. data/lib/puppet/ssl/base.rb +3 -5
  216. data/lib/puppet/ssl/certificate.rb +0 -6
  217. data/lib/puppet/ssl/certificate_request.rb +1 -12
  218. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  219. data/lib/puppet/ssl/oids.rb +3 -1
  220. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  221. data/lib/puppet/ssl/state_machine.rb +3 -1
  222. data/lib/puppet/ssl/verifier.rb +2 -0
  223. data/lib/puppet/test/test_helper.rb +11 -6
  224. data/lib/puppet/transaction.rb +3 -9
  225. data/lib/puppet/transaction/persistence.rb +1 -1
  226. data/lib/puppet/transaction/report.rb +10 -8
  227. data/lib/puppet/trusted_external.rb +2 -2
  228. data/lib/puppet/type.rb +4 -79
  229. data/lib/puppet/type/file.rb +7 -9
  230. data/lib/puppet/type/file/checksum.rb +1 -1
  231. data/lib/puppet/type/file/source.rb +29 -9
  232. data/lib/puppet/type/filebucket.rb +4 -4
  233. data/lib/puppet/type/notify.rb +2 -2
  234. data/lib/puppet/type/package.rb +5 -13
  235. data/lib/puppet/type/service.rb +4 -0
  236. data/lib/puppet/type/user.rb +19 -4
  237. data/lib/puppet/util.rb +26 -12
  238. data/lib/puppet/util/autoload.rb +9 -7
  239. data/lib/puppet/util/character_encoding.rb +9 -5
  240. data/lib/puppet/util/execution.rb +2 -13
  241. data/lib/puppet/util/http_proxy.rb +2 -215
  242. data/lib/puppet/util/monkey_patches.rb +0 -46
  243. data/lib/puppet/util/posix.rb +53 -4
  244. data/lib/puppet/util/rdoc.rb +0 -7
  245. data/lib/puppet/util/retry_action.rb +1 -1
  246. data/lib/puppet/util/rubygems.rb +5 -1
  247. data/lib/puppet/util/run_mode.rb +14 -2
  248. data/lib/puppet/util/windows.rb +3 -7
  249. data/lib/puppet/util/windows/daemon.rb +360 -0
  250. data/lib/puppet/util/windows/error.rb +1 -0
  251. data/lib/puppet/util/windows/eventlog.rb +4 -9
  252. data/lib/puppet/util/windows/file.rb +8 -242
  253. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  254. data/lib/puppet/util/windows/process.rb +4 -226
  255. data/lib/puppet/util/windows/security.rb +4 -4
  256. data/lib/puppet/util/windows/service.rb +9 -460
  257. data/lib/puppet/util/windows/string.rb +12 -13
  258. data/lib/puppet/util/windows/user.rb +219 -0
  259. data/lib/puppet/util/yaml.rb +0 -22
  260. data/lib/puppet/vendor/require_vendored.rb +0 -1
  261. data/lib/puppet/version.rb +1 -1
  262. data/lib/puppet/x509.rb +5 -1
  263. data/lib/puppet/x509/cert_provider.rb +29 -1
  264. data/locales/puppet.pot +656 -1351
  265. data/man/man5/puppet.conf.5 +72 -97
  266. data/man/man8/puppet-agent.8 +6 -3
  267. data/man/man8/puppet-apply.8 +1 -1
  268. data/man/man8/puppet-catalog.8 +1 -1
  269. data/man/man8/puppet-config.8 +6 -6
  270. data/man/man8/puppet-describe.8 +1 -1
  271. data/man/man8/puppet-device.8 +1 -1
  272. data/man/man8/puppet-doc.8 +1 -1
  273. data/man/man8/puppet-epp.8 +1 -1
  274. data/man/man8/puppet-facts.8 +55 -9
  275. data/man/man8/puppet-filebucket.8 +6 -6
  276. data/man/man8/puppet-generate.8 +1 -1
  277. data/man/man8/puppet-help.8 +1 -1
  278. data/man/man8/puppet-lookup.8 +2 -2
  279. data/man/man8/puppet-module.8 +1 -58
  280. data/man/man8/puppet-node.8 +7 -4
  281. data/man/man8/puppet-parser.8 +1 -1
  282. data/man/man8/puppet-plugin.8 +1 -1
  283. data/man/man8/puppet-report.8 +4 -1
  284. data/man/man8/puppet-resource.8 +1 -1
  285. data/man/man8/puppet-script.8 +1 -1
  286. data/man/man8/puppet-ssl.8 +1 -1
  287. data/man/man8/puppet.8 +2 -2
  288. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +2 -0
  289. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +25 -0
  290. data/spec/fixtures/unit/forge/bacula-releases.json +128 -0
  291. data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
  292. data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
  293. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  294. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +4 -0
  295. data/spec/integration/application/agent_spec.rb +70 -61
  296. data/spec/integration/application/apply_spec.rb +150 -150
  297. data/spec/integration/application/doc_spec.rb +16 -6
  298. data/spec/integration/application/filebucket_spec.rb +78 -29
  299. data/spec/integration/application/help_spec.rb +44 -0
  300. data/spec/integration/application/lookup_spec.rb +13 -0
  301. data/spec/integration/application/module_spec.rb +68 -0
  302. data/spec/integration/application/plugin_spec.rb +76 -4
  303. data/spec/integration/configurer_spec.rb +14 -0
  304. data/spec/integration/data_binding_spec.rb +82 -0
  305. data/spec/integration/defaults_spec.rb +32 -3
  306. data/spec/integration/directory_environments_spec.rb +17 -17
  307. data/spec/integration/environments/setting_hooks_spec.rb +1 -1
  308. data/spec/integration/indirector/facts/facter_spec.rb +8 -6
  309. data/spec/integration/network/http_pool_spec.rb +3 -21
  310. data/spec/integration/node/environment_spec.rb +1 -1
  311. data/spec/integration/parser/catalog_spec.rb +0 -38
  312. data/spec/integration/parser/node_spec.rb +0 -9
  313. data/spec/integration/parser/pcore_resource_spec.rb +0 -37
  314. data/spec/integration/type/file_spec.rb +5 -4
  315. data/spec/integration/util/execution_spec.rb +22 -0
  316. data/spec/integration/util/windows/adsi_spec.rb +2 -2
  317. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  318. data/spec/integration/util/windows/process_spec.rb +26 -32
  319. data/spec/integration/util/windows/security_spec.rb +1 -1
  320. data/spec/integration/util/windows/user_spec.rb +7 -0
  321. data/spec/integration/util_spec.rb +7 -33
  322. data/spec/lib/puppet_spec/matchers.rb +0 -80
  323. data/spec/lib/puppet_spec/puppetserver.rb +9 -1
  324. data/spec/lib/puppet_spec/settings.rb +7 -1
  325. data/spec/shared_contexts/types_setup.rb +2 -0
  326. data/spec/spec_helper.rb +2 -0
  327. data/spec/unit/agent_spec.rb +0 -2
  328. data/spec/unit/application/agent_spec.rb +3 -4
  329. data/spec/unit/application/config_spec.rb +224 -4
  330. data/spec/unit/application/doc_spec.rb +2 -2
  331. data/spec/unit/application/face_base_spec.rb +6 -4
  332. data/spec/unit/application/facts_spec.rb +74 -8
  333. data/spec/unit/application/filebucket_spec.rb +41 -39
  334. data/spec/unit/application/resource_spec.rb +3 -1
  335. data/spec/unit/application/ssl_spec.rb +17 -4
  336. data/spec/unit/application_spec.rb +43 -4
  337. data/spec/unit/certificate_factory_spec.rb +1 -1
  338. data/spec/unit/configurer/downloader_spec.rb +14 -0
  339. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  340. data/spec/unit/configurer_spec.rb +96 -44
  341. data/spec/unit/confine_spec.rb +2 -1
  342. data/spec/unit/context/trusted_information_spec.rb +2 -6
  343. data/spec/unit/defaults_spec.rb +26 -32
  344. data/spec/unit/environments_spec.rb +173 -32
  345. data/spec/unit/face/config_spec.rb +65 -12
  346. data/spec/unit/face/facts_spec.rb +4 -0
  347. data/spec/unit/face/node_spec.rb +16 -4
  348. data/spec/unit/face/plugin_spec.rb +73 -33
  349. data/spec/unit/file_bucket/file_spec.rb +1 -1
  350. data/spec/unit/file_serving/configuration/parser_spec.rb +14 -18
  351. data/spec/unit/file_serving/configuration_spec.rb +6 -12
  352. data/spec/unit/file_serving/mount/locales_spec.rb +2 -2
  353. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
  354. data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
  355. data/spec/unit/file_system/uniquefile_spec.rb +18 -0
  356. data/spec/unit/file_system_spec.rb +1 -2
  357. data/spec/unit/functions/camelcase_spec.rb +1 -1
  358. data/spec/unit/functions/capitalize_spec.rb +1 -1
  359. data/spec/unit/functions/downcase_spec.rb +1 -1
  360. data/spec/unit/functions/inline_epp_spec.rb +26 -1
  361. data/spec/unit/functions/upcase_spec.rb +1 -1
  362. data/spec/unit/http/client_spec.rb +7 -9
  363. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  364. data/spec/unit/http/external_client_spec.rb +4 -4
  365. data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
  366. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  367. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  368. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  369. data/spec/unit/http/resolver_spec.rb +34 -15
  370. data/spec/unit/http/service/ca_spec.rb +2 -3
  371. data/spec/unit/http/service/compiler_spec.rb +51 -65
  372. data/spec/unit/http/service/file_server_spec.rb +5 -6
  373. data/spec/unit/http/service/puppetserver_spec.rb +112 -0
  374. data/spec/unit/http/service/report_spec.rb +2 -3
  375. data/spec/unit/http/service_spec.rb +1 -3
  376. data/spec/unit/http/session_spec.rb +24 -35
  377. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  378. data/spec/unit/indirector/catalog/json_spec.rb +1 -1
  379. data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
  380. data/spec/unit/indirector/facts/facter_spec.rb +97 -0
  381. data/spec/unit/indirector/facts/json_spec.rb +255 -0
  382. data/spec/unit/indirector/facts/rest_spec.rb +1 -1
  383. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  384. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  385. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  386. data/spec/unit/indirector/file_server_spec.rb +1 -15
  387. data/spec/unit/indirector/json_spec.rb +8 -8
  388. data/spec/unit/indirector/msgpack_spec.rb +8 -8
  389. data/spec/unit/indirector/node/json_spec.rb +33 -0
  390. data/spec/unit/indirector/node/rest_spec.rb +1 -1
  391. data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
  392. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  393. data/spec/unit/indirector/report/yaml_spec.rb +72 -8
  394. data/spec/unit/indirector/request_spec.rb +2 -266
  395. data/spec/unit/indirector/rest_spec.rb +98 -752
  396. data/spec/unit/indirector/yaml_spec.rb +7 -7
  397. data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
  398. data/spec/unit/network/authconfig_spec.rb +2 -132
  399. data/spec/unit/network/authorization_spec.rb +2 -55
  400. data/spec/unit/network/format_support_spec.rb +3 -2
  401. data/spec/unit/network/formats_spec.rb +4 -4
  402. data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -97
  403. data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
  404. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  405. data/spec/unit/network/http/api_spec.rb +10 -0
  406. data/spec/unit/network/http/connection_spec.rb +19 -41
  407. data/spec/unit/network/http/handler_spec.rb +0 -6
  408. data/spec/unit/network/http_pool_spec.rb +0 -4
  409. data/spec/unit/node/environment_spec.rb +51 -22
  410. data/spec/unit/node_spec.rb +2 -54
  411. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  412. data/spec/unit/parser/templatewrapper_spec.rb +4 -3
  413. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  414. data/spec/unit/pops/loaders/loaders_spec.rb +76 -21
  415. data/spec/unit/pops/lookup/lookup_spec.rb +25 -0
  416. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  417. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  418. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  419. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  420. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  421. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  422. data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
  423. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  424. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  425. data/spec/unit/pops/visitor_spec.rb +1 -1
  426. data/spec/unit/provider/exec_spec.rb +4 -3
  427. data/spec/unit/provider/nameservice_spec.rb +0 -57
  428. data/spec/unit/provider/package/apt_spec.rb +77 -0
  429. data/spec/unit/provider/package/aptitude_spec.rb +1 -0
  430. data/spec/unit/provider/package/dpkg_spec.rb +22 -55
  431. data/spec/unit/provider/package/gem_spec.rb +32 -0
  432. data/spec/unit/provider/package/openbsd_spec.rb +2 -0
  433. data/spec/unit/provider/package/pip2_spec.rb +36 -0
  434. data/spec/unit/provider/package/puppet_gem_spec.rb +6 -2
  435. data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
  436. data/spec/unit/provider/package/yum_spec.rb +31 -0
  437. data/spec/unit/provider/package/zypper_spec.rb +14 -0
  438. data/spec/unit/provider/service/base_spec.rb +2 -4
  439. data/spec/unit/provider/service/bsd_spec.rb +5 -1
  440. data/spec/unit/provider/service/daemontools_spec.rb +1 -1
  441. data/spec/unit/provider/service/debian_spec.rb +3 -5
  442. data/spec/unit/provider/service/freebsd_spec.rb +1 -1
  443. data/spec/unit/provider/service/gentoo_spec.rb +4 -5
  444. data/spec/unit/provider/service/init_spec.rb +45 -5
  445. data/spec/unit/provider/service/launchd_spec.rb +5 -6
  446. data/spec/unit/provider/service/openrc_spec.rb +4 -5
  447. data/spec/unit/provider/service/openwrt_spec.rb +1 -1
  448. data/spec/unit/provider/service/redhat_spec.rb +1 -1
  449. data/spec/unit/provider/service/runit_spec.rb +2 -1
  450. data/spec/unit/provider/service/smf_spec.rb +402 -166
  451. data/spec/unit/provider/service/src_spec.rb +3 -5
  452. data/spec/unit/provider/service/systemd_spec.rb +3 -6
  453. data/spec/unit/provider/service/upstart_spec.rb +4 -5
  454. data/spec/unit/provider/service/windows_spec.rb +28 -1
  455. data/spec/unit/provider/user/aix_spec.rb +5 -0
  456. data/spec/unit/provider/user/pw_spec.rb +2 -0
  457. data/spec/unit/provider/user/useradd_spec.rb +1 -0
  458. data/spec/unit/provider/user/windows_adsi_spec.rb +82 -0
  459. data/spec/unit/provider_spec.rb +0 -12
  460. data/spec/unit/puppet_pal_2pec.rb +40 -0
  461. data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
  462. data/spec/unit/reports/store_spec.rb +17 -13
  463. data/spec/unit/resource/type_collection_spec.rb +2 -22
  464. data/spec/unit/resource_spec.rb +0 -56
  465. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  466. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  467. data/spec/unit/settings/port_setting_spec.rb +31 -0
  468. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  469. data/spec/unit/settings_spec.rb +586 -239
  470. data/spec/unit/ssl/base_spec.rb +36 -3
  471. data/spec/unit/ssl/certificate_request_spec.rb +15 -45
  472. data/spec/unit/ssl/certificate_spec.rb +2 -11
  473. data/spec/unit/ssl/ssl_provider_spec.rb +11 -8
  474. data/spec/unit/ssl/state_machine_spec.rb +0 -1
  475. data/spec/unit/ssl/verifier_spec.rb +0 -21
  476. data/spec/unit/transaction/persistence_spec.rb +15 -0
  477. data/spec/unit/transaction/report_spec.rb +2 -2
  478. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  479. data/spec/unit/transaction_spec.rb +45 -79
  480. data/spec/unit/type/file/checksum_spec.rb +6 -6
  481. data/spec/unit/type/file/content_spec.rb +1 -1
  482. data/spec/unit/type/file/ensure_spec.rb +1 -1
  483. data/spec/unit/type/file/mode_spec.rb +1 -1
  484. data/spec/unit/type/file/source_spec.rb +1 -2
  485. data/spec/unit/type/file_spec.rb +12 -6
  486. data/spec/unit/type/filebucket_spec.rb +1 -1
  487. data/spec/unit/type/package_spec.rb +1 -1
  488. data/spec/unit/type/service_spec.rb +35 -2
  489. data/spec/unit/type/user_spec.rb +31 -2
  490. data/spec/unit/type_spec.rb +20 -0
  491. data/spec/unit/util/backups_spec.rb +0 -2
  492. data/spec/unit/util/character_encoding_spec.rb +4 -4
  493. data/spec/unit/util/command_line_spec.rb +11 -6
  494. data/spec/unit/util/execution_spec.rb +0 -29
  495. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  496. data/spec/unit/util/posix_spec.rb +357 -15
  497. data/spec/unit/util/rubygems_spec.rb +2 -2
  498. data/spec/unit/util/run_mode_spec.rb +27 -127
  499. data/spec/unit/util/storage_spec.rb +3 -1
  500. data/spec/unit/util/windows/string_spec.rb +1 -3
  501. data/spec/unit/util/yaml_spec.rb +0 -54
  502. data/spec/unit/util_spec.rb +0 -18
  503. metadata +84 -261
  504. data/conf/auth.conf +0 -150
  505. data/lib/puppet/application/cert.rb +0 -76
  506. data/lib/puppet/application/key.rb +0 -4
  507. data/lib/puppet/application/man.rb +0 -4
  508. data/lib/puppet/application/status.rb +0 -4
  509. data/lib/puppet/face/key.rb +0 -16
  510. data/lib/puppet/face/man.rb +0 -145
  511. data/lib/puppet/face/module/build.rb +0 -14
  512. data/lib/puppet/face/module/generate.rb +0 -14
  513. data/lib/puppet/face/module/search.rb +0 -103
  514. data/lib/puppet/face/status.rb +0 -51
  515. data/lib/puppet/indirector/certificate/file.rb +0 -9
  516. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  517. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  518. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  519. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  520. data/lib/puppet/indirector/file_content/http.rb +0 -22
  521. data/lib/puppet/indirector/key/file.rb +0 -46
  522. data/lib/puppet/indirector/key/memory.rb +0 -7
  523. data/lib/puppet/indirector/ssl_file.rb +0 -162
  524. data/lib/puppet/indirector/status.rb +0 -3
  525. data/lib/puppet/indirector/status/local.rb +0 -12
  526. data/lib/puppet/indirector/status/rest.rb +0 -27
  527. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  528. data/lib/puppet/network/auth_config_parser.rb +0 -90
  529. data/lib/puppet/network/authstore.rb +0 -283
  530. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  531. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  532. data/lib/puppet/network/http/base_pool.rb +0 -36
  533. data/lib/puppet/network/http/compression.rb +0 -127
  534. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  535. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  536. data/lib/puppet/network/rest_controller.rb +0 -2
  537. data/lib/puppet/network/rights.rb +0 -210
  538. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  539. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  540. data/lib/puppet/parser/environment_compiler.rb +0 -202
  541. data/lib/puppet/pops/types/enumeration.rb +0 -16
  542. data/lib/puppet/resource/capability_finder.rb +0 -154
  543. data/lib/puppet/rest/errors.rb +0 -15
  544. data/lib/puppet/rest/response.rb +0 -35
  545. data/lib/puppet/rest/route.rb +0 -85
  546. data/lib/puppet/rest/routes.rb +0 -135
  547. data/lib/puppet/ssl/host.rb +0 -505
  548. data/lib/puppet/ssl/key.rb +0 -61
  549. data/lib/puppet/ssl/validator.rb +0 -61
  550. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  551. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  552. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  553. data/lib/puppet/status.rb +0 -40
  554. data/lib/puppet/util/connection.rb +0 -88
  555. data/lib/puppet/util/ssl.rb +0 -83
  556. data/lib/puppet/util/windows/api_types.rb +0 -295
  557. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  558. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  559. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  560. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  561. data/lib/puppet/vendor/pathspec/README.md +0 -53
  562. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  563. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  564. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  565. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  566. data/man/man8/puppet-key.8 +0 -126
  567. data/man/man8/puppet-man.8 +0 -76
  568. data/man/man8/puppet-status.8 +0 -108
  569. data/spec/integration/faces/config_spec.rb +0 -91
  570. data/spec/integration/faces/documentation_spec.rb +0 -57
  571. data/spec/integration/file_bucket/file_spec.rb +0 -50
  572. data/spec/integration/file_serving/content_spec.rb +0 -7
  573. data/spec/integration/file_serving/fileset_spec.rb +0 -12
  574. data/spec/integration/file_serving/metadata_spec.rb +0 -8
  575. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -20
  576. data/spec/integration/file_system/uniquefile_spec.rb +0 -26
  577. data/spec/integration/module_tool/forge_spec.rb +0 -51
  578. data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
  579. data/spec/integration/network/authconfig_spec.rb +0 -256
  580. data/spec/integration/provider/service/init_spec.rb +0 -48
  581. data/spec/integration/provider/service/systemd_spec.rb +0 -25
  582. data/spec/integration/provider/service/windows_spec.rb +0 -50
  583. data/spec/integration/reference/providers_spec.rb +0 -21
  584. data/spec/integration/reports_spec.rb +0 -13
  585. data/spec/integration/ssl/certificate_request_spec.rb +0 -44
  586. data/spec/integration/ssl/host_spec.rb +0 -72
  587. data/spec/integration/ssl/key_spec.rb +0 -99
  588. data/spec/shared_behaviours/file_serving_model.rb +0 -51
  589. data/spec/unit/capability_spec.rb +0 -414
  590. data/spec/unit/face/catalog_spec.rb +0 -6
  591. data/spec/unit/face/key_spec.rb +0 -9
  592. data/spec/unit/face/man_spec.rb +0 -25
  593. data/spec/unit/face/module/search_spec.rb +0 -231
  594. data/spec/unit/face/module_spec.rb +0 -3
  595. data/spec/unit/face/status_spec.rb +0 -9
  596. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  597. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  598. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  599. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  600. data/spec/unit/indirector/key/file_spec.rb +0 -79
  601. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  602. data/spec/unit/indirector/status/local_spec.rb +0 -10
  603. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  604. data/spec/unit/man_spec.rb +0 -31
  605. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  606. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  607. data/spec/unit/network/authstore_spec.rb +0 -422
  608. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  609. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  610. data/spec/unit/network/http/compression_spec.rb +0 -240
  611. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  612. data/spec/unit/network/http_spec.rb +0 -9
  613. data/spec/unit/network/rights_spec.rb +0 -439
  614. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  615. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  616. data/spec/unit/resource/capability_finder_spec.rb +0 -143
  617. data/spec/unit/rest/route_spec.rb +0 -132
  618. data/spec/unit/ssl/host_spec.rb +0 -650
  619. data/spec/unit/ssl/key_spec.rb +0 -173
  620. data/spec/unit/ssl/validator_spec.rb +0 -278
  621. data/spec/unit/status_spec.rb +0 -45
  622. data/spec/unit/util/ssl_spec.rb +0 -91
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f540948451f9c01527535a189dd3bda0b4cecf3d8ea98a936a83d12e3269e969
4
- data.tar.gz: 20fbc8c65dae7ac04669f3af185c6ab2442b847354558b8628594afb371d0694
3
+ metadata.gz: 79b1004e426f1652649bae160800b6adee3809874c4f07084af9418925fd8cea
4
+ data.tar.gz: 38c8c304b9cee90ce0e92410a836481584ac7a6bbdba079467eee531b902171a
5
5
  SHA512:
6
- metadata.gz: a76e1ceb31ce5060b4a455758e6c54175e6150bb2a2a1d4b925b6bf89dcdcc5c854393009f77ccbffc3693ccadf51cc18e782df6ea19953ab54d1c71f37f9311
7
- data.tar.gz: ba6046be091326587070697f1f80d89cee09d1da1cc1e277487a9c8372a6f47e01d83a41c02f70645e5affc452003b621bd20460c96d7c741454b440ba3b0c9e
6
+ metadata.gz: 29ec6fdcfb2580d2fb3be25e3320115d206597c15b10742c9cedd97e5becc26c6a2b2f755cc197de04b0d556d128f270349f02d05af8703b2835d34cab3e16dd
7
+ data.tar.gz: b952269b4c64e6dbc51a724be68aabd3fd55689fcad060df737223a89bc2643d3700dfcaef27b2a23a32bf486832a1f0ebcc95dc405d7f40f3fe19a8eed78444
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
@@ -14,13 +14,10 @@ end
14
14
 
15
15
  # override .gemspec deps - may issue warning depending on Bundler version
16
16
  gem "facter", *location_for(ENV['FACTER_LOCATION']) if ENV.has_key?('FACTER_LOCATION')
17
- gem "facter-ng", *location_for(ENV['FACTER_NG_LOCATION']) if ENV.has_key?('FACTER_NG_LOCATION')
18
17
  gem "hiera", *location_for(ENV['HIERA_LOCATION']) if ENV.has_key?('HIERA_LOCATION')
19
18
  gem "semantic_puppet", *location_for(ENV['SEMANTIC_PUPPET_LOCATION'] || ["~> 1.0"])
20
19
  gem "puppet-resource_api", *location_for(ENV['RESOURCE_API_LOCATION'] || ["~> 1.5"])
21
20
 
22
- gem "scanf" if RUBY_VERSION.to_f >= 2.7
23
-
24
21
  group(:features) do
25
22
  gem 'diff-lcs', '~> 1.3', require: false
26
23
  gem 'hiera-eyaml', *location_for(ENV['HIERA_EYAML_LOCATION'])
@@ -34,13 +31,15 @@ group(:features) do
34
31
  # gem 'ruby-augeas', require: false, platforms: [:ruby]
35
32
  # requires native ldap headers/libs
36
33
  # gem 'ruby-ldap', '~> 0.9', require: false, platforms: [:ruby]
37
- gem 'puppetserver-ca', '~> 1.1', require: false
34
+ gem 'puppetserver-ca', '~> 2.0', require: false
38
35
  end
39
36
 
40
37
  group(:test) do
38
+ gem "ffi", require: false
41
39
  gem "json-schema", "~> 2.0", require: false
42
40
  gem "rake", *location_for(ENV['RAKE_LOCATION'] || '~> 12.2')
43
41
  gem "rspec", "~> 3.1", require: false
42
+ gem "rspec-expectations", ["~> 3.9", "!= 3.9.3"]
44
43
  gem "rspec-its", "~> 1.1", require: false
45
44
  gem 'vcr', '~> 5.0', require: false
46
45
  gem 'webmock', '~> 3.0', require: false
@@ -1,16 +1,16 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- puppet (6.17.0)
4
+ puppet (7.1.0)
5
5
  CFPropertyList (~> 2.2)
6
6
  concurrent-ruby (~> 1.0)
7
7
  deep_merge (~> 1.0)
8
8
  facter (>= 2.4.0, < 5)
9
9
  fast_gettext (~> 1.1)
10
10
  hiera (>= 3.2.1, < 4)
11
- httpclient (~> 2.8)
12
11
  locale (~> 2.1)
13
12
  multi_json (~> 1.13)
13
+ scanf (~> 1.0)
14
14
  semantic_puppet (~> 1.0)
15
15
 
16
16
  GEM
@@ -22,17 +22,17 @@ GEM
22
22
  artifactory (2.8.2)
23
23
  ast (2.4.1)
24
24
  coderay (1.1.3)
25
- concurrent-ruby (1.1.6)
26
- crack (0.4.3)
27
- safe_yaml (~> 1.0.0)
25
+ concurrent-ruby (1.1.7)
26
+ crack (0.4.4)
28
27
  csv (3.1.5)
29
28
  deep_merge (1.2.1)
30
29
  diff-lcs (1.4.4)
31
30
  docopt (0.6.1)
32
- facter (4.0.29)
31
+ facter (4.0.46)
33
32
  hocon (~> 1.3)
34
33
  thor (>= 1.0.1, < 2.0)
35
34
  fast_gettext (1.1.2)
35
+ ffi (1.13.1)
36
36
  gettext (3.2.9)
37
37
  locale (>= 2.0.5)
38
38
  text (>= 1.3.0)
@@ -48,38 +48,38 @@ GEM
48
48
  highline (1.6.21)
49
49
  hocon (1.3.1)
50
50
  hpricot (0.8.6)
51
- httpclient (2.8.3)
52
51
  json-schema (2.8.1)
53
52
  addressable (>= 2.4)
54
53
  locale (2.1.3)
55
- memory_profiler (0.9.14)
54
+ memory_profiler (1.0.0)
56
55
  method_source (1.0.0)
57
56
  minitar (0.9)
58
57
  msgpack (1.3.3)
59
58
  multi_json (1.15.0)
60
59
  mustache (1.1.1)
61
60
  optimist (3.0.1)
62
- packaging (0.99.66)
61
+ packaging (0.99.75)
63
62
  artifactory (~> 2)
63
+ csv (= 3.1.5)
64
64
  rake (>= 12.3)
65
65
  release-metrics
66
- parallel (1.19.2)
67
- parser (2.7.1.4)
66
+ parallel (1.20.1)
67
+ parser (2.7.2.0)
68
68
  ast (~> 2.4.1)
69
- powerpack (0.1.2)
69
+ powerpack (0.1.3)
70
70
  pry (0.13.1)
71
71
  coderay (~> 1.1)
72
72
  method_source (~> 1.0)
73
- public_suffix (4.0.5)
73
+ public_suffix (4.0.6)
74
74
  puppet-resource_api (1.8.13)
75
75
  hocon (>= 1.0)
76
- puppetserver-ca (1.8.0)
76
+ puppetserver-ca (2.0.1)
77
77
  facter (>= 2.0.1, < 5)
78
78
  racc (1.4.9)
79
79
  rainbow (2.2.2)
80
80
  rake
81
81
  rake (12.3.3)
82
- rdiscount (2.2.0.1)
82
+ rdiscount (2.2.0.2)
83
83
  rdoc (6.2.1)
84
84
  release-metrics (1.1.0)
85
85
  csv
@@ -88,22 +88,22 @@ GEM
88
88
  hpricot (>= 0.8.2)
89
89
  mustache (>= 0.7.0)
90
90
  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.2)
96
- rspec-support (~> 3.9.3)
97
- rspec-expectations (3.9.2)
91
+ rspec (3.10.0)
92
+ rspec-core (~> 3.10.0)
93
+ rspec-expectations (~> 3.10.0)
94
+ rspec-mocks (~> 3.10.0)
95
+ rspec-core (3.10.0)
96
+ rspec-support (~> 3.10.0)
97
+ rspec-expectations (3.10.0)
98
98
  diff-lcs (>= 1.2.0, < 2.0)
99
- rspec-support (~> 3.9.0)
99
+ rspec-support (~> 3.10.0)
100
100
  rspec-its (1.3.0)
101
101
  rspec-core (>= 3.0.0)
102
102
  rspec-expectations (>= 3.0.0)
103
- rspec-mocks (3.9.1)
103
+ rspec-mocks (3.10.0)
104
104
  diff-lcs (>= 1.2.0, < 2.0)
105
- rspec-support (~> 3.9.0)
106
- rspec-support (3.9.3)
105
+ rspec-support (~> 3.10.0)
106
+ rspec-support (3.10.0)
107
107
  rubocop (0.49.1)
108
108
  parallel (~> 1.10)
109
109
  parser (>= 2.3.3.1, < 3.0)
@@ -113,15 +113,15 @@ GEM
113
113
  unicode-display_width (~> 1.0, >= 1.0.1)
114
114
  rubocop-i18n (1.2.0)
115
115
  rubocop (~> 0.49.0)
116
- ruby-prof (1.4.1)
116
+ ruby-prof (1.4.2)
117
117
  ruby-progressbar (1.10.1)
118
- safe_yaml (1.0.5)
118
+ scanf (1.0.0)
119
119
  semantic_puppet (1.0.2)
120
120
  text (1.3.1)
121
121
  thor (1.0.1)
122
122
  unicode-display_width (1.7.0)
123
123
  vcr (5.1.0)
124
- webmock (3.8.3)
124
+ webmock (3.10.0)
125
125
  addressable (>= 2.3.6)
126
126
  crack (>= 0.3.2)
127
127
  hashdiff (>= 0.4.0, < 2.0.0)
@@ -132,6 +132,7 @@ PLATFORMS
132
132
 
133
133
  DEPENDENCIES
134
134
  diff-lcs (~> 1.3)
135
+ ffi
135
136
  gettext-setup (~> 0.28)
136
137
  hiera-eyaml
137
138
  hocon (~> 1.0)
@@ -143,12 +144,13 @@ DEPENDENCIES
143
144
  pry
144
145
  puppet!
145
146
  puppet-resource_api (~> 1.5)
146
- puppetserver-ca (~> 1.1)
147
+ puppetserver-ca (~> 2.0)
147
148
  racc (= 1.4.9)
148
149
  rake (~> 12.2)
149
150
  rdoc (~> 6.0)
150
151
  ronn (~> 0.7.3)
151
152
  rspec (~> 3.1)
153
+ rspec-expectations (~> 3.9, != 3.9.3)
152
154
  rspec-its (~> 1.1)
153
155
  rubocop (~> 0.49)
154
156
  rubocop-i18n (~> 1.2.0)
data/README.md CHANGED
@@ -1,7 +1,6 @@
1
1
  # Puppet
2
2
 
3
- [![Travis Status](https://travis-ci.com/puppetlabs/puppet.svg?branch=master)](https://travis-ci.com/puppetlabs/puppet)
4
- [![Appveyor Status](https://ci.appveyor.com/api/projects/status/cvhpypd4504sevqq/branch/master?svg=true)](https://ci.appveyor.com/project/puppetlabs/puppet/branch/master)
3
+ ![RSpec tests](https://github.com/puppetlabs/puppet/workflows/RSpec%20tests/badge.svg)
5
4
  [![Gem Version](https://badge.fury.io/rb/puppet.svg)](https://badge.fury.io/rb/puppet)
6
5
  [![Inline docs](https://inch-ci.org/github/puppetlabs/puppet.svg)](https://inch-ci.org/github/puppetlabs/puppet)
7
6
 
@@ -16,7 +15,7 @@ Documentation for Puppet and related projects can be found online at the
16
15
 
17
16
  ### HTTP API
18
17
 
19
- [HTTP API Index](https://puppet.com/docs/puppet/5.5/http_api/http_api_index.html)
18
+ [HTTP API Index](https://puppet.com/docs/puppet/latest/http_api/http_api_index.html)
20
19
 
21
20
  ## Installation
22
21
 
data/Rakefile CHANGED
@@ -61,12 +61,8 @@ end
61
61
  desc "verify that commit messages match CONTRIBUTING.md requirements"
62
62
  task(:commits) do
63
63
  # This rake task looks at the summary from every commit from this branch not
64
- # in the branch targeted for a PR. This is accomplished by using the
65
- # TRAVIS_COMMIT_RANGE environment variable, which is present in travis CI and
66
- # populated with the range of commits the PR contains. If not available, this
67
- # falls back to `master..HEAD` as a next best bet as `master` is unlikely to
68
- # ever be absent.
69
- commit_range = ENV['TRAVIS_COMMIT_RANGE'].nil? ? 'master..HEAD' : ENV['TRAVIS_COMMIT_RANGE'].sub(/\.\.\./, '..')
64
+ # in the branch targeted for a PR.
65
+ commit_range = 'HEAD^..HEAD'
70
66
  puts "Checking commits #{commit_range}"
71
67
  %x{git log --no-merges --pretty=%s #{commit_range}}.each_line do |commit_summary|
72
68
  # This regex tests for the currently supported commit summary tokens: maint, doc, packaging, or pup-<number>.
@@ -91,12 +87,8 @@ end
91
87
 
92
88
  desc "verify that changed files are clean of Ruby warnings"
93
89
  task(:warnings) do
94
- # This rake task looks at all files modified in this branch. This is
95
- # accomplished by using the TRAVIS_COMMIT_RANGE environment variable, which
96
- # is present in travis CI and populated with the range of commits the PR
97
- # contains. If not available, this falls back to `master..HEAD` as a next
98
- # best bet as `master` is unlikely to ever be absent.
99
- commit_range = ENV['TRAVIS_COMMIT_RANGE'].nil? ? 'master...HEAD' : ENV['TRAVIS_COMMIT_RANGE']
90
+ # This rake task looks at all files modified in this branch.
91
+ commit_range = 'HEAD^..HEAD'
100
92
  ruby_files_ok = true
101
93
  puts "Checking modified files #{commit_range}"
102
94
  %x{git diff --diff-filter=ACM --name-only #{commit_range}}.each_line do |modified_file|
@@ -12,10 +12,9 @@
12
12
  #
13
13
  # [extra_files]
14
14
  # path /etc/puppetlabs/puppet/files
15
- # allow *
16
15
  #
17
- # In the example above, anything in /etc/puppetlabs/puppet/files/<file name> would be
18
- # available to authenticated nodes at puppet:///extra_files/<file name>.
16
+ # In the example above, anything in /etc/puppetlabs/puppet/files/<file name>
17
+ # would be available to authenticated nodes at puppet:///extra_files/<file name>.
19
18
  #
20
19
  # Mount points may also use three placeholders as part of their path:
21
20
  #
@@ -28,10 +27,6 @@
28
27
  # PERMISSIONS
29
28
 
30
29
  # The ability to set permissions - for example, using the allow, allow_ip, or
31
- # deny directives - has been removed. Instead, you can control file access in
32
- # auth.conf by controlling the /file_metadata(s)/<mount point> and
33
- # /file_content(s)/<mount point> paths.
34
- #
35
- # For details and an example, see the auth.conf file. If you're using Puppet
36
- # Server, see the Puppet Server documentation at
37
- # https://puppet.com/docs/puppetserver/latest/config_file_auth.html.
30
+ # deny directives - has been removed from fileserver.conf. Instead, you can
31
+ # control file access in Puppet Server's auth.conf file. See the documentation
32
+ # at https://puppet.com/docs/puppetserver/latest/config_file_auth.html.
@@ -16,4 +16,4 @@ apt_signing_server: 'apt.puppetlabs.com'
16
16
  apt_repo_url: 'http://apt.puppetlabs.com'
17
17
  apt_repo_path: '/opt/repository/incoming'
18
18
  tar_host: 'downloads.puppetlabs.com'
19
- nonfinal_gem_path: '/opt/repository-nightlies/downloads/gems/puppet6-nightly'
19
+ nonfinal_gem_path: '/opt/repository-nightlies/downloads/gems/puppet7-nightly'
@@ -15,11 +15,6 @@ directories:
15
15
  group: 'wheel'
16
16
  perms: '0755'
17
17
  files:
18
- 'conf/auth.conf':
19
- path: 'private/etc/puppet'
20
- owner: 'root'
21
- group: 'wheel'
22
- perms: '0644'
23
18
  'man/man5/puppet.conf.5':
24
19
  path: 'usr/share/man/man5'
25
20
  owner: 'root'
@@ -14,7 +14,7 @@ gem_test_files: 'spec/**/*'
14
14
  gem_executables: 'puppet'
15
15
  gem_default_executables: 'puppet'
16
16
  gem_forge_project: 'puppet'
17
- gem_required_ruby_version: '>= 2.3.0'
17
+ gem_required_ruby_version: '>= 2.5.0'
18
18
  gem_required_rubygems_version: '> 1.3.1'
19
19
  gem_runtime_dependencies:
20
20
  facter: ['> 2.0.1', '< 5']
@@ -23,10 +23,10 @@ gem_runtime_dependencies:
23
23
  fast_gettext: '~> 1.1'
24
24
  locale: '~> 2.1'
25
25
  multi_json: '~> 1.10'
26
- httpclient: '~> 2.8'
27
26
  puppet-resource_api: '~>1.5'
28
27
  concurrent-ruby: '~> 1.0'
29
28
  deep_merge: '~> 1.0'
29
+ scanf: '~> 1.0'
30
30
  gem_rdoc_options:
31
31
  - --title
32
32
  - "Puppet - Configuration Management"
@@ -40,22 +40,10 @@ gem_platform_dependencies:
40
40
  x86-mingw32:
41
41
  gem_runtime_dependencies:
42
42
  ffi: ['> 1.9.24', '< 2']
43
- # win32-xxxx gems are pinned due to PUP-6445
44
- win32-dir: '= 0.4.9'
45
- win32-process: '= 0.7.5'
46
- # Use of win32-security is deprecated
47
- win32-security: '= 0.2.5'
48
- win32-service: '= 0.8.8'
49
43
  minitar: '~> 0.9'
50
44
  x64-mingw32:
51
45
  gem_runtime_dependencies:
52
46
  ffi: ['> 1.9.24', '< 2']
53
- # win32-xxxx gems are pinned due to PUP-6445
54
- win32-dir: '= 0.4.9'
55
- win32-process: '= 0.7.5'
56
- # Use of win32-security is deprecated
57
- win32-security: '= 0.2.5'
58
- win32-service: '= 0.8.8'
59
47
  minitar: '~> 0.9'
60
48
  bundle_platforms:
61
49
  universal-darwin: all
@@ -199,7 +199,6 @@ touch %{buildroot}%{_localstatedir}/log/puppet/masterhttp.log
199
199
  %config(noreplace) %{_sysconfdir}/tmpfiles.d/%{name}.conf
200
200
  %endif
201
201
  %config(noreplace) %{_sysconfdir}/puppet/puppet.conf
202
- %config(noreplace) %{_sysconfdir}/puppet/auth.conf
203
202
  %config(noreplace) %{_sysconfdir}/logrotate.d/puppet
204
203
  # We don't want to require emacs or vim, so we need to own these dirs
205
204
  %{_datadir}/emacs
@@ -1,22 +1,23 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'fileutils'
4
- require 'win32/daemon'
5
- require 'win32/dir'
6
- require 'win32/process'
4
+ require 'puppet/util/windows/daemon'
7
5
 
8
6
  # This file defines utilities for logging to eventlog. While it lives inside
9
7
  # Puppet, it is completely independent and loads no other parts of Puppet, so we
10
8
  # can safely require *just* it.
11
9
  require 'puppet/util/windows/eventlog'
12
10
 
13
- class WindowsDaemon < Win32::Daemon
11
+ # monkey patches ruby Process to add .create method
12
+ require 'puppet/util/windows/monkey_patches/process'
13
+
14
+ class WindowsDaemon < Puppet::Util::Windows::Daemon
14
15
  CREATE_NEW_CONSOLE = 0x00000010
15
16
 
16
17
  @run_thread = nil
17
18
  @LOG_TO_FILE = false
18
19
  @loglevel = 0
19
- LOG_FILE = File.expand_path(File.join(Dir::COMMON_APPDATA, 'PuppetLabs', 'puppet', 'var', 'log', 'windows.log'))
20
+ LOG_FILE = File.expand_path(File.join(ENV['ALLUSERSPROFILE'], 'PuppetLabs', 'puppet', 'var', 'log', 'windows.log'))
20
21
  LEVELS = [:debug, :info, :notice, :warning, :err, :alert, :emerg, :crit]
21
22
  LEVELS.each do |level|
22
23
  define_method("log_#{level}") do |msg|
data/install.rb CHANGED
@@ -178,6 +178,9 @@ def prepare_installation
178
178
  opts.on('--vardir[=OPTIONAL]', 'Installation directory for var files', 'Default /opt/puppetlabs/puppet/cache') do |vardir|
179
179
  InstallOptions.vardir = vardir
180
180
  end
181
+ opts.on('--publicdir[=OPTIONAL]', 'Installation directory for public files such as the `last_run_summary.yaml` report', 'Default /opt/puppetlabs/puppet/public') do |publicdir|
182
+ InstallOptions.publicdir = publicdir
183
+ end
181
184
  opts.on('--rundir[=OPTIONAL]', 'Installation directory for state files', 'Default /var/run/puppetlabs') do |rundir|
182
185
  InstallOptions.rundir = rundir
183
186
  end
@@ -242,20 +245,10 @@ def prepare_installation
242
245
  $operatingsystem = Facter.value :operatingsystem
243
246
  end
244
247
 
245
- if $operatingsystem == "windows"
246
- begin
247
- # populates constants used to specify default Windows directories
248
- require 'win32/dir'
249
- rescue LoadError => e
250
- puts "Cannot run on Microsoft Windows without the win32-process, win32-dir & win32-service gems: #{e}"
251
- exit(-1)
252
- end
253
- end
254
-
255
248
  if not InstallOptions.configdir.nil?
256
249
  configdir = InstallOptions.configdir
257
250
  elsif $operatingsystem == "windows"
258
- configdir = File.join(Dir::COMMON_APPDATA, "PuppetLabs", "puppet", "etc")
251
+ configdir = File.join(ENV['ALLUSERSPROFILE'], "PuppetLabs", "puppet", "etc")
259
252
  else
260
253
  configdir = "/etc/puppetlabs/puppet"
261
254
  end
@@ -263,7 +256,7 @@ def prepare_installation
263
256
  if not InstallOptions.codedir.nil?
264
257
  codedir = InstallOptions.codedir
265
258
  elsif $operatingsystem == "windows"
266
- codedir = File.join(Dir::COMMON_APPDATA, "PuppetLabs", "code")
259
+ codedir = File.join(ENV['ALLUSERSPROFILE'], "PuppetLabs", "code")
267
260
  else
268
261
  codedir = "/etc/puppetlabs/code"
269
262
  end
@@ -271,15 +264,23 @@ def prepare_installation
271
264
  if not InstallOptions.vardir.nil?
272
265
  vardir = InstallOptions.vardir
273
266
  elsif $operatingsystem == "windows"
274
- vardir = File.join(Dir::COMMON_APPDATA, "PuppetLabs", "puppet", "cache")
267
+ vardir = File.join(ENV['ALLUSERSPROFILE'], "PuppetLabs", "puppet", "cache")
275
268
  else
276
269
  vardir = "/opt/puppetlabs/puppet/cache"
277
270
  end
278
271
 
272
+ if not InstallOptions.publicdir.nil?
273
+ publicdir = InstallOptions.publicdir
274
+ elsif $operatingsystem == "windows"
275
+ publicdir = File.join(ENV['ALLUSERSPROFILE'], "PuppetLabs", "puppet", "public")
276
+ else
277
+ publicdir = "/opt/puppetlabs/puppet/public"
278
+ end
279
+
279
280
  if not InstallOptions.rundir.nil?
280
281
  rundir = InstallOptions.rundir
281
282
  elsif $operatingsystem == "windows"
282
- rundir = File.join(Dir::COMMON_APPDATA, "PuppetLabs", "puppet", "var", "run")
283
+ rundir = File.join(ENV['ALLUSERSPROFILE'], "PuppetLabs", "puppet", "var", "run")
283
284
  else
284
285
  rundir = "/var/run/puppetlabs"
285
286
  end
@@ -287,7 +288,7 @@ def prepare_installation
287
288
  if not InstallOptions.logdir.nil?
288
289
  logdir = InstallOptions.logdir
289
290
  elsif $operatingsystem == "windows"
290
- logdir = File.join(Dir::COMMON_APPDATA, "PuppetLabs", "puppet", "var", "log")
291
+ logdir = File.join(ENV['ALLUSERSPROFILE'], "PuppetLabs", "puppet", "var", "log")
291
292
  else
292
293
  logdir = "/var/log/puppetlabs/puppet"
293
294
  end
@@ -302,7 +303,7 @@ def prepare_installation
302
303
  localedir = InstallOptions.localedir
303
304
  else
304
305
  if $operatingsystem == "windows"
305
- localedir = File.join(Dir::PROGRAM_FILES, "Puppet Labs", "Puppet", "puppet", "share", "locale")
306
+ localedir = File.join(ENV['PROGRAMFILES'], "Puppet Labs", "Puppet", "puppet", "share", "locale")
306
307
  else
307
308
  localedir = "/opt/puppetlabs/puppet/share/locale"
308
309
  end
@@ -342,6 +343,7 @@ def prepare_installation
342
343
  configdir = join(destdir, configdir)
343
344
  codedir = join(destdir, codedir)
344
345
  vardir = join(destdir, vardir)
346
+ publicdir = join(destdir, publicdir)
345
347
  rundir = join(destdir, rundir)
346
348
  logdir = join(destdir, logdir)
347
349
  bindir = join(destdir, bindir)
@@ -355,6 +357,7 @@ def prepare_installation
355
357
  FileUtils.makedirs(mandir)
356
358
  FileUtils.makedirs(sitelibdir)
357
359
  FileUtils.makedirs(vardir)
360
+ FileUtils.makedirs(publicdir)
358
361
  FileUtils.makedirs(rundir)
359
362
  FileUtils.makedirs(logdir)
360
363
  FileUtils.makedirs(localedir)
@@ -366,6 +369,7 @@ def prepare_installation
366
369
  InstallOptions.lib_dir = libdir
367
370
  InstallOptions.man_dir = mandir
368
371
  InstallOptions.var_dir = vardir
372
+ InstallOptions.public_dir = publicdir
369
373
  InstallOptions.run_dir = rundir
370
374
  InstallOptions.log_dir = logdir
371
375
  InstallOptions.locale_dir = localedir
@@ -474,7 +478,7 @@ end
474
478
  # Change directory into the puppet root so we don't get the wrong files for install.
475
479
  FileUtils.cd File.dirname(__FILE__) do
476
480
  # Set these values to what you want installed.
477
- configs = glob(%w{conf/auth.conf conf/puppet.conf conf/hiera.yaml})
481
+ configs = glob(%w{conf/puppet.conf conf/hiera.yaml})
478
482
  bins = glob(%w{bin/*})
479
483
  #rdoc = glob(%w{bin/* lib/**/*.rb README* }).reject { |e| e=~ /\.(bat|cmd)$/ }
480
484
  #ri = glob(%w{bin/*.rb lib/**/*.rb}).reject { |e| e=~ /\.(bat|cmd)$/ }