puppet 6.19.1-x86-mingw32 → 7.0.0-x86-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 (440) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +19 -20
  4. data/README.md +1 -1
  5. data/conf/fileserver.conf +5 -10
  6. data/ext/build_defaults.yaml +1 -1
  7. data/ext/osx/file_mapping.yaml +0 -5
  8. data/ext/project_data.yaml +1 -14
  9. data/ext/redhat/puppet.spec.erb +0 -1
  10. data/ext/windows/service/daemon.rb +6 -5
  11. data/install.rb +21 -17
  12. data/lib/puppet.rb +11 -20
  13. data/lib/puppet/application.rb +172 -98
  14. data/lib/puppet/application/device.rb +100 -104
  15. data/lib/puppet/application/filebucket.rb +15 -11
  16. data/lib/puppet/application/ssl.rb +1 -1
  17. data/lib/puppet/configurer.rb +28 -33
  18. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  19. data/lib/puppet/defaults.rb +95 -159
  20. data/lib/puppet/environments.rb +10 -25
  21. data/lib/puppet/face/config.rb +10 -0
  22. data/lib/puppet/face/epp.rb +12 -2
  23. data/lib/puppet/face/facts.rb +66 -6
  24. data/lib/puppet/face/help.rb +1 -1
  25. data/lib/puppet/face/plugin.rb +5 -8
  26. data/lib/puppet/ffi/windows.rb +12 -0
  27. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  28. data/lib/puppet/ffi/windows/constants.rb +404 -0
  29. data/lib/puppet/ffi/windows/functions.rb +628 -0
  30. data/lib/puppet/ffi/windows/structs.rb +338 -0
  31. data/lib/puppet/file_serving/configuration.rb +0 -5
  32. data/lib/puppet/file_serving/configuration/parser.rb +3 -32
  33. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  34. data/lib/puppet/file_serving/mount.rb +1 -2
  35. data/lib/puppet/forge/repository.rb +0 -1
  36. data/lib/puppet/functions/epp.rb +1 -0
  37. data/lib/puppet/functions/inline_epp.rb +1 -0
  38. data/lib/puppet/generate/models/type/type.rb +4 -1
  39. data/lib/puppet/http.rb +22 -13
  40. data/lib/puppet/http/client.rb +164 -114
  41. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  42. data/lib/puppet/http/errors.rb +16 -0
  43. data/lib/puppet/http/external_client.rb +5 -7
  44. data/lib/puppet/{network/http → http}/factory.rb +8 -11
  45. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  46. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  47. data/lib/puppet/http/proxy.rb +137 -0
  48. data/lib/puppet/http/redirector.rb +4 -12
  49. data/lib/puppet/http/resolver.rb +5 -15
  50. data/lib/puppet/http/resolver/server_list.rb +6 -10
  51. data/lib/puppet/http/resolver/settings.rb +4 -7
  52. data/lib/puppet/http/resolver/srv.rb +7 -11
  53. data/lib/puppet/http/response.rb +36 -54
  54. data/lib/puppet/http/response_converter.rb +24 -0
  55. data/lib/puppet/http/response_net_http.rb +42 -0
  56. data/lib/puppet/http/retry_after_handler.rb +4 -13
  57. data/lib/puppet/http/service.rb +12 -26
  58. data/lib/puppet/http/service/ca.rb +11 -22
  59. data/lib/puppet/http/service/compiler.rb +22 -69
  60. data/lib/puppet/http/service/file_server.rb +18 -27
  61. data/lib/puppet/http/service/puppetserver.rb +26 -12
  62. data/lib/puppet/http/service/report.rb +8 -10
  63. data/lib/puppet/http/session.rb +11 -20
  64. data/lib/puppet/{network/http → http}/site.rb +1 -2
  65. data/lib/puppet/indirector/catalog/rest.rb +2 -4
  66. data/lib/puppet/indirector/fact_search.rb +60 -0
  67. data/lib/puppet/indirector/facts/facter.rb +24 -3
  68. data/lib/puppet/indirector/facts/json.rb +27 -0
  69. data/lib/puppet/indirector/facts/rest.rb +3 -22
  70. data/lib/puppet/indirector/facts/yaml.rb +3 -58
  71. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  72. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  73. data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
  74. data/lib/puppet/indirector/file_server.rb +1 -8
  75. data/lib/puppet/indirector/generic_http.rb +0 -11
  76. data/lib/puppet/indirector/json.rb +5 -1
  77. data/lib/puppet/indirector/node/json.rb +8 -0
  78. data/lib/puppet/indirector/node/rest.rb +2 -4
  79. data/lib/puppet/indirector/report/json.rb +34 -0
  80. data/lib/puppet/indirector/report/rest.rb +3 -8
  81. data/lib/puppet/indirector/request.rb +0 -101
  82. data/lib/puppet/indirector/rest.rb +12 -263
  83. data/lib/puppet/module_tool/applications.rb +0 -1
  84. data/lib/puppet/network/authconfig.rb +2 -96
  85. data/lib/puppet/network/authorization.rb +13 -35
  86. data/lib/puppet/network/formats.rb +2 -1
  87. data/lib/puppet/network/http.rb +3 -3
  88. data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
  89. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  90. data/lib/puppet/network/http/connection.rb +247 -316
  91. data/lib/puppet/network/http/handler.rb +0 -1
  92. data/lib/puppet/network/http_pool.rb +16 -34
  93. data/lib/puppet/node.rb +1 -30
  94. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  95. data/lib/puppet/pal/pal_impl.rb +73 -18
  96. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  97. data/lib/puppet/parser/compiler.rb +0 -198
  98. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  99. data/lib/puppet/parser/resource.rb +0 -69
  100. data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -8
  101. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
  102. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  103. data/lib/puppet/pops/issues.rb +0 -5
  104. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  105. data/lib/puppet/pops/model/ast.pp +0 -42
  106. data/lib/puppet/pops/model/ast.rb +0 -290
  107. data/lib/puppet/pops/model/factory.rb +0 -45
  108. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  109. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  110. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  111. data/lib/puppet/pops/parser/egrammar.ra +0 -56
  112. data/lib/puppet/pops/parser/eparser.rb +1520 -1712
  113. data/lib/puppet/pops/parser/lexer2.rb +4 -4
  114. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  115. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  116. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  117. data/lib/puppet/pops/types/type_parser.rb +0 -4
  118. data/lib/puppet/pops/types/types.rb +0 -1
  119. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  120. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  121. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  122. data/lib/puppet/provider.rb +0 -13
  123. data/lib/puppet/provider/nameservice.rb +0 -18
  124. data/lib/puppet/provider/package/dpkg.rb +0 -10
  125. data/lib/puppet/provider/package/gem.rb +23 -3
  126. data/lib/puppet/provider/package/pip.rb +0 -1
  127. data/lib/puppet/provider/package/pkg.rb +0 -4
  128. data/lib/puppet/provider/package/portage.rb +1 -1
  129. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  130. data/lib/puppet/provider/service/smf.rb +191 -73
  131. data/lib/puppet/provider/user/directoryservice.rb +0 -10
  132. data/lib/puppet/reference/configuration.rb +2 -0
  133. data/lib/puppet/reference/indirection.rb +1 -1
  134. data/lib/puppet/resource.rb +1 -89
  135. data/lib/puppet/resource/catalog.rb +1 -14
  136. data/lib/puppet/resource/type.rb +3 -119
  137. data/lib/puppet/resource/type_collection.rb +3 -48
  138. data/lib/puppet/runtime.rb +1 -2
  139. data/lib/puppet/settings.rb +45 -33
  140. data/lib/puppet/settings/base_setting.rb +26 -2
  141. data/lib/puppet/settings/integer_setting.rb +17 -0
  142. data/lib/puppet/settings/port_setting.rb +15 -0
  143. data/lib/puppet/settings/priority_setting.rb +5 -4
  144. data/lib/puppet/ssl.rb +10 -6
  145. data/lib/puppet/ssl/base.rb +3 -5
  146. data/lib/puppet/ssl/certificate.rb +0 -6
  147. data/lib/puppet/ssl/certificate_request.rb +1 -12
  148. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  149. data/lib/puppet/ssl/oids.rb +3 -1
  150. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  151. data/lib/puppet/ssl/state_machine.rb +3 -1
  152. data/lib/puppet/ssl/verifier.rb +2 -0
  153. data/lib/puppet/test/test_helper.rb +1 -3
  154. data/lib/puppet/transaction.rb +1 -7
  155. data/lib/puppet/transaction/report.rb +2 -4
  156. data/lib/puppet/type.rb +0 -76
  157. data/lib/puppet/type/file.rb +5 -7
  158. data/lib/puppet/type/file/checksum.rb +1 -1
  159. data/lib/puppet/type/file/source.rb +1 -1
  160. data/lib/puppet/type/filebucket.rb +3 -3
  161. data/lib/puppet/type/package.rb +5 -13
  162. data/lib/puppet/util/execution.rb +0 -11
  163. data/lib/puppet/util/http_proxy.rb +2 -215
  164. data/lib/puppet/util/monkey_patches.rb +0 -46
  165. data/lib/puppet/util/rdoc.rb +0 -7
  166. data/lib/puppet/util/retry_action.rb +1 -1
  167. data/lib/puppet/util/rubygems.rb +5 -1
  168. data/lib/puppet/util/run_mode.rb +9 -1
  169. data/lib/puppet/util/windows.rb +3 -8
  170. data/lib/puppet/util/windows/daemon.rb +360 -0
  171. data/lib/puppet/util/windows/error.rb +1 -0
  172. data/lib/puppet/util/windows/eventlog.rb +4 -9
  173. data/lib/puppet/util/windows/file.rb +8 -242
  174. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  175. data/lib/puppet/util/windows/process.rb +4 -226
  176. data/lib/puppet/util/windows/service.rb +9 -460
  177. data/lib/puppet/util/windows/string.rb +12 -13
  178. data/lib/puppet/util/yaml.rb +0 -22
  179. data/lib/puppet/vendor/require_vendored.rb +0 -1
  180. data/lib/puppet/version.rb +1 -1
  181. data/lib/puppet/x509.rb +5 -1
  182. data/lib/puppet/x509/cert_provider.rb +29 -1
  183. data/locales/puppet.pot +531 -1232
  184. data/man/man5/puppet.conf.5 +37 -97
  185. data/man/man8/puppet-agent.8 +1 -1
  186. data/man/man8/puppet-apply.8 +1 -1
  187. data/man/man8/puppet-catalog.8 +1 -1
  188. data/man/man8/puppet-config.8 +1 -1
  189. data/man/man8/puppet-describe.8 +1 -1
  190. data/man/man8/puppet-device.8 +1 -1
  191. data/man/man8/puppet-doc.8 +1 -1
  192. data/man/man8/puppet-epp.8 +1 -1
  193. data/man/man8/puppet-facts.8 +55 -9
  194. data/man/man8/puppet-filebucket.8 +6 -6
  195. data/man/man8/puppet-generate.8 +1 -1
  196. data/man/man8/puppet-help.8 +1 -1
  197. data/man/man8/puppet-lookup.8 +1 -1
  198. data/man/man8/puppet-module.8 +1 -58
  199. data/man/man8/puppet-node.8 +4 -1
  200. data/man/man8/puppet-parser.8 +1 -1
  201. data/man/man8/puppet-plugin.8 +1 -1
  202. data/man/man8/puppet-report.8 +4 -1
  203. data/man/man8/puppet-resource.8 +1 -1
  204. data/man/man8/puppet-script.8 +1 -1
  205. data/man/man8/puppet-ssl.8 +1 -1
  206. data/man/man8/puppet.8 +2 -2
  207. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  208. data/spec/integration/application/agent_spec.rb +24 -11
  209. data/spec/integration/application/apply_spec.rb +1 -1
  210. data/spec/integration/application/filebucket_spec.rb +16 -16
  211. data/spec/integration/application/help_spec.rb +2 -0
  212. data/spec/integration/application/plugin_spec.rb +23 -1
  213. data/spec/integration/defaults_spec.rb +7 -3
  214. data/spec/integration/environments/setting_hooks_spec.rb +1 -1
  215. data/spec/integration/network/http_pool_spec.rb +3 -21
  216. data/spec/integration/parser/catalog_spec.rb +0 -38
  217. data/spec/integration/parser/node_spec.rb +0 -9
  218. data/spec/integration/parser/pcore_resource_spec.rb +0 -37
  219. data/spec/integration/type/file_spec.rb +5 -4
  220. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  221. data/spec/integration/util/windows/security_spec.rb +1 -1
  222. data/spec/lib/puppet_spec/puppetserver.rb +1 -1
  223. data/spec/lib/puppet_spec/settings.rb +7 -1
  224. data/spec/spec_helper.rb +2 -0
  225. data/spec/unit/agent_spec.rb +0 -2
  226. data/spec/unit/application/config_spec.rb +224 -4
  227. data/spec/unit/application/facts_spec.rb +35 -0
  228. data/spec/unit/application/filebucket_spec.rb +41 -39
  229. data/spec/unit/application/ssl_spec.rb +2 -2
  230. data/spec/unit/certificate_factory_spec.rb +1 -1
  231. data/spec/unit/configurer/downloader_spec.rb +6 -2
  232. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  233. data/spec/unit/configurer_spec.rb +12 -9
  234. data/spec/unit/context/trusted_information_spec.rb +2 -6
  235. data/spec/unit/defaults_spec.rb +77 -28
  236. data/spec/unit/environments_spec.rb +0 -3
  237. data/spec/unit/face/config_spec.rb +27 -32
  238. data/spec/unit/face/facts_spec.rb +4 -0
  239. data/spec/unit/face/plugin_spec.rb +73 -33
  240. data/spec/unit/file_bucket/file_spec.rb +1 -1
  241. data/spec/unit/file_serving/configuration/parser_spec.rb +14 -18
  242. data/spec/unit/file_serving/configuration_spec.rb +6 -12
  243. data/spec/unit/functions/camelcase_spec.rb +1 -1
  244. data/spec/unit/functions/capitalize_spec.rb +1 -1
  245. data/spec/unit/functions/downcase_spec.rb +1 -1
  246. data/spec/unit/functions/inline_epp_spec.rb +26 -1
  247. data/spec/unit/functions/upcase_spec.rb +1 -1
  248. data/spec/unit/http/client_spec.rb +7 -8
  249. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  250. data/spec/unit/http/external_client_spec.rb +4 -4
  251. data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
  252. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  253. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  254. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  255. data/spec/unit/http/resolver_spec.rb +13 -13
  256. data/spec/unit/http/service/compiler_spec.rb +49 -62
  257. data/spec/unit/http/service/file_server_spec.rb +3 -3
  258. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  259. data/spec/unit/http/service_spec.rb +1 -2
  260. data/spec/unit/http/session_spec.rb +16 -14
  261. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  262. data/spec/unit/indirector/facts/facter_spec.rb +97 -0
  263. data/spec/unit/indirector/facts/json_spec.rb +255 -0
  264. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  265. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  266. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  267. data/spec/unit/indirector/file_server_spec.rb +1 -15
  268. data/spec/unit/indirector/node/json_spec.rb +33 -0
  269. data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
  270. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  271. data/spec/unit/indirector/report/yaml_spec.rb +72 -8
  272. data/spec/unit/indirector/request_spec.rb +0 -264
  273. data/spec/unit/indirector/rest_spec.rb +98 -752
  274. data/spec/unit/network/authconfig_spec.rb +2 -132
  275. data/spec/unit/network/authorization_spec.rb +2 -55
  276. data/spec/unit/network/formats_spec.rb +4 -4
  277. data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -97
  278. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  279. data/spec/unit/network/http/api_spec.rb +10 -0
  280. data/spec/unit/network/http/connection_spec.rb +19 -41
  281. data/spec/unit/network/http/handler_spec.rb +0 -6
  282. data/spec/unit/network/http_pool_spec.rb +0 -4
  283. data/spec/unit/node/environment_spec.rb +33 -21
  284. data/spec/unit/node_spec.rb +2 -54
  285. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  286. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  287. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  288. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  289. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  290. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  291. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  292. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  293. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  294. data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
  295. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  296. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  297. data/spec/unit/pops/visitor_spec.rb +1 -1
  298. data/spec/unit/provider/nameservice_spec.rb +0 -57
  299. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  300. data/spec/unit/provider/package/gem_spec.rb +32 -0
  301. data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
  302. data/spec/unit/provider/service/smf_spec.rb +401 -165
  303. data/spec/unit/provider/service/windows_spec.rb +0 -1
  304. data/spec/unit/provider_spec.rb +0 -12
  305. data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
  306. data/spec/unit/resource/type_collection_spec.rb +2 -22
  307. data/spec/unit/resource_spec.rb +0 -56
  308. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  309. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  310. data/spec/unit/settings/port_setting_spec.rb +31 -0
  311. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  312. data/spec/unit/settings_spec.rb +423 -236
  313. data/spec/unit/ssl/base_spec.rb +36 -3
  314. data/spec/unit/ssl/certificate_request_spec.rb +15 -45
  315. data/spec/unit/ssl/certificate_spec.rb +2 -11
  316. data/spec/unit/ssl/ssl_provider_spec.rb +11 -8
  317. data/spec/unit/ssl/state_machine_spec.rb +0 -1
  318. data/spec/unit/ssl/verifier_spec.rb +0 -21
  319. data/spec/unit/transaction/report_spec.rb +0 -2
  320. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  321. data/spec/unit/transaction_spec.rb +45 -79
  322. data/spec/unit/type/file/checksum_spec.rb +6 -6
  323. data/spec/unit/type/file/content_spec.rb +1 -1
  324. data/spec/unit/type/file/ensure_spec.rb +1 -1
  325. data/spec/unit/type/file/mode_spec.rb +1 -1
  326. data/spec/unit/type/file/source_spec.rb +0 -1
  327. data/spec/unit/type/file_spec.rb +12 -6
  328. data/spec/unit/type/package_spec.rb +1 -1
  329. data/spec/unit/type_spec.rb +20 -0
  330. data/spec/unit/util/backups_spec.rb +0 -2
  331. data/spec/unit/util/execution_spec.rb +0 -29
  332. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  333. data/spec/unit/util/rubygems_spec.rb +2 -2
  334. data/spec/unit/util/run_mode_spec.rb +21 -121
  335. data/spec/unit/util/windows/string_spec.rb +1 -3
  336. data/spec/unit/util/yaml_spec.rb +0 -54
  337. data/spec/unit/util_spec.rb +0 -18
  338. metadata +50 -232
  339. data/conf/auth.conf +0 -150
  340. data/lib/puppet/application/cert.rb +0 -76
  341. data/lib/puppet/application/key.rb +0 -4
  342. data/lib/puppet/application/man.rb +0 -4
  343. data/lib/puppet/application/status.rb +0 -4
  344. data/lib/puppet/face/key.rb +0 -16
  345. data/lib/puppet/face/man.rb +0 -145
  346. data/lib/puppet/face/module/build.rb +0 -14
  347. data/lib/puppet/face/module/generate.rb +0 -14
  348. data/lib/puppet/face/module/search.rb +0 -103
  349. data/lib/puppet/face/status.rb +0 -51
  350. data/lib/puppet/indirector/certificate/file.rb +0 -9
  351. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  352. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  353. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  354. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  355. data/lib/puppet/indirector/file_content/http.rb +0 -22
  356. data/lib/puppet/indirector/key/file.rb +0 -46
  357. data/lib/puppet/indirector/key/memory.rb +0 -7
  358. data/lib/puppet/indirector/ssl_file.rb +0 -162
  359. data/lib/puppet/indirector/status.rb +0 -3
  360. data/lib/puppet/indirector/status/local.rb +0 -12
  361. data/lib/puppet/indirector/status/rest.rb +0 -27
  362. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  363. data/lib/puppet/network/auth_config_parser.rb +0 -90
  364. data/lib/puppet/network/authstore.rb +0 -283
  365. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  366. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  367. data/lib/puppet/network/http/base_pool.rb +0 -36
  368. data/lib/puppet/network/http/compression.rb +0 -127
  369. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  370. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  371. data/lib/puppet/network/rest_controller.rb +0 -2
  372. data/lib/puppet/network/rights.rb +0 -210
  373. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  374. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  375. data/lib/puppet/parser/environment_compiler.rb +0 -202
  376. data/lib/puppet/pops/types/enumeration.rb +0 -16
  377. data/lib/puppet/resource/capability_finder.rb +0 -154
  378. data/lib/puppet/rest/errors.rb +0 -15
  379. data/lib/puppet/rest/response.rb +0 -35
  380. data/lib/puppet/rest/route.rb +0 -85
  381. data/lib/puppet/rest/routes.rb +0 -135
  382. data/lib/puppet/ssl/host.rb +0 -505
  383. data/lib/puppet/ssl/key.rb +0 -61
  384. data/lib/puppet/ssl/validator.rb +0 -61
  385. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  386. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  387. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  388. data/lib/puppet/status.rb +0 -40
  389. data/lib/puppet/util/connection.rb +0 -88
  390. data/lib/puppet/util/ssl.rb +0 -83
  391. data/lib/puppet/util/windows/api_types.rb +0 -309
  392. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  393. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  394. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  395. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  396. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  397. data/lib/puppet/vendor/pathspec/README.md +0 -53
  398. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  399. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  400. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  401. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  402. data/man/man8/puppet-key.8 +0 -126
  403. data/man/man8/puppet-man.8 +0 -76
  404. data/man/man8/puppet-status.8 +0 -108
  405. data/spec/integration/application/config_spec.rb +0 -74
  406. data/spec/integration/network/authconfig_spec.rb +0 -256
  407. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  408. data/spec/unit/application/man_spec.rb +0 -52
  409. data/spec/unit/capability_spec.rb +0 -414
  410. data/spec/unit/face/catalog_spec.rb +0 -6
  411. data/spec/unit/face/key_spec.rb +0 -9
  412. data/spec/unit/face/module/search_spec.rb +0 -231
  413. data/spec/unit/face/module_spec.rb +0 -3
  414. data/spec/unit/face/status_spec.rb +0 -9
  415. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  416. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  417. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  418. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  419. data/spec/unit/indirector/key/file_spec.rb +0 -79
  420. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  421. data/spec/unit/indirector/status/local_spec.rb +0 -10
  422. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  423. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  424. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  425. data/spec/unit/network/authstore_spec.rb +0 -422
  426. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  427. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  428. data/spec/unit/network/http/compression_spec.rb +0 -240
  429. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  430. data/spec/unit/network/http_spec.rb +0 -9
  431. data/spec/unit/network/rights_spec.rb +0 -439
  432. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  433. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  434. data/spec/unit/resource/capability_finder_spec.rb +0 -143
  435. data/spec/unit/rest/route_spec.rb +0 -132
  436. data/spec/unit/ssl/host_spec.rb +0 -650
  437. data/spec/unit/ssl/key_spec.rb +0 -173
  438. data/spec/unit/ssl/validator_spec.rb +0 -278
  439. data/spec/unit/status_spec.rb +0 -45
  440. data/spec/unit/util/ssl_spec.rb +0 -91
@@ -1,22 +0,0 @@
1
- class Puppet::Parser::Compiler
2
- # Validator that asserts that only application components can appear inside a site.
3
- #
4
- # @deprecated application orchestration will be removed in puppet 7
5
- class CatalogValidator::SiteValidator < CatalogValidator
6
- def self.validation_stage?(stage)
7
- PRE_FINISH.equal?(stage)
8
- end
9
-
10
- def validate
11
- the_site_resource = catalog.resource('Site', 'site')
12
- return unless the_site_resource
13
-
14
- catalog.downstream_from_vertex(the_site_resource).keys.each do |r|
15
- unless r.is_application_component? || r.resource_type.application?
16
- raise CatalogValidationError.new(_("Only application components can appear inside a site - %{res} is not allowed") % { res: r }, r.file, r.line)
17
- end
18
- end
19
- end
20
- end
21
- end
22
-
@@ -1,202 +0,0 @@
1
- require 'puppet/parser/compiler'
2
-
3
- # @deprecated application orchestration will be removed in puppet 7
4
- class Puppet::Parser::EnvironmentCompiler < Puppet::Parser::Compiler
5
- def self.compile(env, code_id=nil)
6
- begin
7
- env.check_for_reparse
8
-
9
- node = Puppet::Node.new(env)
10
- node.environment = env
11
- new(node, :code_id => code_id).compile
12
- rescue => detail
13
- message = _("%{detail} in environment %{env}") % { detail: detail, env: env.name }
14
- Puppet.log_exception(detail, message)
15
- raise Puppet::Error, message, detail.backtrace
16
- end
17
- end
18
-
19
- def initialize(node, options = {})
20
- super(node, **options)
21
- @overridden_functions = {}
22
- end
23
-
24
- def add_function_overrides
25
- add_function_override('hiera_include', proc { Puppet.debug "Ignoring hiera_include() during environment catalog compilation" })
26
- end
27
-
28
- def add_function_override(func_name, override)
29
- typed_name = Puppet::Pops::Loader::TypedName.new(:function, func_name)
30
- loader = loaders.puppet_system_loader
31
-
32
- # Remove and preserve existing entry. A `nil` is also preserved to indicate
33
- # an override that didn't replace a loaded function.
34
- entry = loader.get_entry(typed_name)
35
- existing = entry.nil? ? nil : entry.value
36
- loader.remove_entry(typed_name) unless existing.nil?
37
- @overridden_functions[typed_name] = existing
38
-
39
- # Add the override to the loader
40
- loader.set_entry(typed_name, override)
41
- end
42
-
43
- def remove_function_overrides
44
- loader = loaders.puppet_system_loader
45
- @overridden_functions.each_pair do |typed_name, overridden|
46
- loader.remove_entry(typed_name)
47
- loader.set_entry(typed_name, overridden) unless overridden.nil?
48
- end
49
- end
50
-
51
- def add_catalog_validators
52
- super
53
- add_catalog_validator(CatalogValidator::SiteValidator)
54
- add_catalog_validator(CatalogValidator::EnvironmentRelationshipValidator)
55
- end
56
-
57
- def compile
58
- Puppet.deprecation_warning("Application orchestration is deprecated. See https://puppet.com/docs/puppet/5.5/deprecated_language.html")
59
-
60
- add_function_overrides
61
- begin
62
- Puppet.override(@context_overrides, _("For compiling environment catalog %{env}") % { env: environment.name }) do
63
- @catalog.environment_instance = environment
64
-
65
- Puppet::Util::Profiler.profile(_("Env Compile: Created settings scope"), [:compiler, :create_settings_scope]) { create_settings_scope }
66
-
67
- Puppet::Util::Profiler.profile(_("Env Compile: Evaluated main"), [:compiler, :evaluate_main]) { evaluate_main }
68
-
69
- Puppet::Util::Profiler.profile(_("Env Compile: Evaluated site"), [:compiler, :evaluate_site]) { evaluate_site }
70
-
71
- Puppet::Util::Profiler.profile(_("Env Compile: Evaluated application instances"), [:compiler, :evaluate_applications]) { evaluate_applications }
72
-
73
- Puppet::Util::Profiler.profile(_("Env Compile: Prune"), [:compiler, :prune_catalog]) { prune_catalog }
74
-
75
- Puppet::Util::Profiler.profile(_("Env Compile: Validate Catalog pre-finish"), [:compiler, :validate_pre_finish]) do
76
- validate_catalog(CatalogValidator::PRE_FINISH)
77
- end
78
-
79
- Puppet::Util::Profiler.profile(_("Env Compile: Finished catalog"), [:compiler, :finish_catalog]) { finish }
80
-
81
- fail_on_unevaluated
82
-
83
- Puppet::Util::Profiler.profile(_("Env Compile: Validate Catalog final"), [:compiler, :validate_final]) do
84
- validate_catalog(CatalogValidator::FINAL)
85
- end
86
-
87
- if block_given?
88
- yield @catalog
89
- else
90
- @catalog
91
- end
92
- end
93
- ensure
94
- remove_function_overrides
95
- end
96
- end
97
-
98
- # @api private
99
- def prune_catalog
100
- prune_env_catalog
101
- end
102
-
103
- # Prunes the catalog by dropping all resources that are not contained under the Site (if a site expression is used).
104
- # As a consequence all edges to/from dropped resources are also dropped.
105
- # Once the pruning is performed, this compiler returns the pruned list when calling the #resources method.
106
- # The pruning does not alter the order of resources in the resources list.
107
- #
108
- def prune_env_catalog
109
- # Everything under Class[main], that is not under (inclusive of) Site[site] should be pruned as those resources
110
- # are intended for nodes in a node catalog.
111
- #
112
- the_main_class_resource = @catalog.resource('Class', '')
113
- the_site_resource = @catalog.resource('Site', 'site')
114
-
115
- # Get downstream vertexes returns a hash where the keys are the resources and values nesting level
116
- rooted_in_main = @catalog.downstream_from_vertex(the_main_class_resource).keys
117
-
118
- to_be_removed =
119
- if the_site_resource
120
- keep_from_site = @catalog.downstream_from_vertex(the_site_resource).keys
121
- keep_from_site << the_site_resource
122
- rooted_in_main - keep_from_site
123
- else
124
- rooted_in_main
125
- end
126
-
127
- @catalog.remove_resource(*to_be_removed)
128
- # The compiler keeps a list of added resources, this shadows that list with the now pruned result
129
- @pruned_resources = @catalog.resources
130
- end
131
-
132
- def add_resource(scope, resource)
133
- @resources << resource
134
- @catalog.add_resource(resource)
135
-
136
- if !resource.class? && resource[:stage]
137
- raise ArgumentError, _("Only classes can set 'stage'; normal resources like %{resource} cannot change run stage") % { resource: resource }
138
- end
139
-
140
- # Stages should not be inside of classes. They are always a
141
- # top-level container, regardless of where they appear in the
142
- # manifest.
143
- return if resource.stage?
144
-
145
- # This adds a resource to the class it lexically appears in in the
146
- # manifest.
147
- unless resource.class?
148
- @catalog.add_edge(scope.resource, resource)
149
- end
150
- resource.mark_unevaluated_consumer if is_capability_consumer?(resource)
151
- assert_app_in_site(scope, resource)
152
- end
153
-
154
- def evaluate_ast_node()
155
- # Do nothing, the environment catalog is not built for a particular node.
156
- end
157
-
158
- def on_empty_site
159
- Puppet.warning(_("Environment Compiler: Could not find a site definition to evaluate"))
160
- end
161
-
162
- def evaluate_applications
163
- exceptwrap do
164
- resources.select { |resource| type = resource.resource_type; type.is_a?(Puppet::Resource::Type) && type.application? }.each do |resource|
165
- Puppet::Util::Profiler.profile(_("Evaluated application %{resource}") % { resource: resource }, [:compiler, :evaluate_resource, resource]) do
166
- resource.evaluate
167
- end
168
- end
169
- end
170
- end
171
-
172
- def evaluate_classes(titles, scope, lazy)
173
- # Always lazy in an Environment compilation
174
- super(titles, scope, true)
175
- end
176
-
177
- # Overrides the regular compiler to be able to return the list of resources after a prune
178
- # has taken place in the graph representation. Before a prune, the list is the same as in the regular
179
- # compiler
180
- #
181
- def resources
182
- @pruned_resources || super
183
- end
184
-
185
- def is_capability?(value)
186
- if value.is_a?(Array)
187
- value.find { |ev| is_capability?(ev) }
188
- elsif value.is_a?(Puppet::Resource)
189
- rstype = value.resource_type
190
- rstype.nil? ? false : rstype.is_capability?
191
- else
192
- false
193
- end
194
- end
195
- private :is_capability?
196
-
197
- def is_capability_consumer?(resource)
198
- resource.eachparam { |param| return true if (param.name == :consume || param.name == :require) && is_capability?(param.value) }
199
- false
200
- end
201
- private :is_capability_consumer?
202
- end
@@ -1,16 +0,0 @@
1
- # The Enumeration class provides default Enumerable::Enumerator creation for Puppet Programming Language
2
- # runtime objects that supports the concept of enumeration.
3
- #
4
- module Puppet::Pops::Types
5
- class Enumeration
6
- def self.enumerator(o)
7
- Puppet.deprecation_warning(_('Enumeration.enumerator is deprecated. Use Iterable.on instead'))
8
- Iterable.on(o)
9
- end
10
-
11
- def enumerator(o)
12
- Puppet.deprecation_warning(_('Enumeration.enumerator is deprecated. Use Iterable.on instead'))
13
- Iterable.on(o)
14
- end
15
- end
16
- end
@@ -1,154 +0,0 @@
1
- #
2
- # A helper module to look a capability up from PuppetDB
3
- #
4
- # @todo lutter 2015-03-10: determine whether this should be based on
5
- # Puppet::Pops::Evaluator::Collectors, or at least use
6
- # Puppet::Util::Puppetdb::Http
7
-
8
- require 'net/http'
9
- require 'cgi'
10
- require 'puppet/util/json'
11
-
12
- # @api private
13
- module Puppet::Resource::CapabilityFinder
14
-
15
- # Looks up a capability resource from PuppetDB. Capability resources are
16
- # required to be unique per environment and code id. If multiple copies of a
17
- # capability resource are found, the one matching the current code id is
18
- # used.
19
- #
20
- # @param environment [String] environment name
21
- # @param code_id [String,nil] code_id of the catalog
22
- # @param cap [Puppet::Resource] the capability resource type instance
23
- # @return [Puppet::Resource,nil] The found capability resource or `nil` if it could not be found
24
- def self.find(environment, code_id, cap)
25
- unless Puppet::Util.const_defined?('Puppetdb')
26
- #TRANSLATOR PuppetDB is a product name and should not be translated
27
- raise Puppet::DevError, _('PuppetDB is not available')
28
- end
29
-
30
- resources = search(nil, nil, cap)
31
-
32
- if resources.size > 1
33
- Puppet.debug "Found multiple resources when looking up capability #{cap}, filtering by environment #{environment}"
34
- resources = resources.select { |r| r['tags'].any? { |t| t == "producer:#{environment}" } }
35
- end
36
-
37
- if resources.empty?
38
- Puppet.debug "Could not find capability resource #{cap} in PuppetDB"
39
- elsif resources.size == 1
40
- resource_hash = resources.first
41
- else
42
- code_id_resource = disambiguate_by_code_id(environment, code_id, cap)
43
- if code_id_resource
44
- resource_hash = code_id_resource
45
- else
46
- #TRANSLATOR PuppetDB is a product name and should not be translated
47
- message = _("Unexpected response from PuppetDB when looking up %{capability}:") % { capability: cap }
48
- message += "\n" + _("expected exactly one resource but got %{count};") % { count: resources.size }
49
- message += "\n" + _("returned data is:\n%{resources}") % { resources: resources.inspect }
50
- raise Puppet::DevError, message
51
- end
52
- end
53
-
54
- if resource_hash
55
- resource_hash['type'] = cap.resource_type
56
- instantiate_resource(resource_hash)
57
- end
58
- end
59
-
60
- def self.search(environment, code_id, cap)
61
- query_terms = [
62
- 'and',
63
- ['=', 'type', cap.type.capitalize],
64
- ['=', 'title', cap.title.to_s],
65
- ]
66
-
67
- if environment.nil?
68
- query_terms << ['~', 'tag', "^producer:"]
69
- else
70
- query_terms << ['=', 'tag', "producer:#{environment}"]
71
- end
72
-
73
- unless code_id.nil?
74
- query_terms << ['in', 'certname',
75
- ['extract', 'certname',
76
- ['select_catalogs',
77
- ['=', 'code_id', code_id]]]]
78
- end
79
-
80
- #TRANSLATOR PuppetDB is a product name and should not be translated
81
- Puppet.notice _("Looking up capability %{capability} in PuppetDB: %{query_terms}") % { capability: cap, query_terms: query_terms }
82
-
83
- query_puppetdb(query_terms)
84
- end
85
-
86
- def self.query_puppetdb(query)
87
- begin
88
- # If using PuppetDB >= 4, use the API method query_puppetdb()
89
- result = if Puppet::Util::Puppetdb.respond_to?(:query_puppetdb)
90
- # PuppetDB 4 uses a unified query endpoint, so we have to specify what we're querying
91
- Puppet::Util::Puppetdb.query_puppetdb(["from", "resources", query])
92
- # For PuppetDB < 4, use the old internal method action()
93
- else
94
- url = "/pdb/query/v4/resource?query=#{Puppet::Util.uri_query_encode(query.to_json)}"
95
- response = Puppet::Util::Puppetdb::Http.action(url) do |conn, uri|
96
- conn.get(uri, { 'Accept' => 'application/json'})
97
- end
98
- Puppet::Util::Json.load(response.body)
99
- end
100
-
101
- # The format of the response body is documented at
102
- # https://puppet.com/docs/puppetdb/3.0/api/query/v4/resources.html#response-format
103
- unless result.is_a?(Array)
104
- #TRANSLATOR PuppetDB is a product name and should not be translated
105
- raise Puppet::DevError, _("Unexpected response from PuppetDB when looking up %{capability}: expected an Array but got %{result}") %
106
- { capability: cap, result: result.inspect }
107
- end
108
-
109
- result
110
- rescue Puppet::Util::Json::ParseError => e
111
- #TRANSLATOR PuppetDB is a product name and should not be translated
112
- raise Puppet::DevError, _("Invalid JSON from PuppetDB when looking up %{capability}\n%{detail}") % { capability: cap, detail: e }
113
- end
114
- end
115
-
116
- # Find a distinct copy of the given capability resource by searching for only
117
- # resources matching the given code_id. Returns `nil` if no code_id is
118
- # supplied or if there isn't exactly one matching resource.
119
- #
120
- # @param environment [String] environment name
121
- # @param code_id [String,nil] code_id of the catalog
122
- # @param cap [Puppet::Resource] the capability resource type instance
123
- def self.disambiguate_by_code_id(environment, code_id, cap)
124
- if code_id
125
- Puppet.debug "Found multiple resources when looking up capability #{cap}, filtering by code id #{code_id}"
126
- resources = search(environment, code_id, cap)
127
-
128
- if resources.size > 1
129
- Puppet.debug "Found multiple resources matching code id #{code_id} when looking up #{cap}"
130
- nil
131
- else
132
- resources.first
133
- end
134
- end
135
- end
136
- private_class_method :disambiguate_by_code_id
137
-
138
- def self.instantiate_resource(resource_hash)
139
- real_type = resource_hash['type']
140
- resource = Puppet::Resource.new(real_type, resource_hash['title'])
141
- real_type.parameters.each do |param|
142
- param = param.to_s
143
- next if param == 'name'
144
- value = resource_hash['parameters'][param]
145
- if value
146
- resource[param] = value
147
- else
148
- Puppet.debug "No capability value for #{resource}->#{param}"
149
- end
150
- end
151
- return resource
152
- end
153
- private_class_method :instantiate_resource
154
- end
@@ -1,15 +0,0 @@
1
- # @deprecated Use {Puppet::HTTP::Client} instead.
2
- module Puppet::Rest
3
- class ResponseError < Puppet::Error
4
- attr_reader :response
5
-
6
- # Error thrown when request status is not OK.
7
- # @param [String] msg the error message
8
- # @param [Puppet::Rest::Response] response the response from the failed
9
- # request
10
- def initialize(msg, response = nil)
11
- super(msg)
12
- @response = response
13
- end
14
- end
15
- end
@@ -1,35 +0,0 @@
1
- # @deprecated Use {Puppet::HTTP::Client} instead.
2
- module Puppet::Rest
3
- # This is a wrapper for the HTTP::Message class of the HTTPClient
4
- # gem. It is designed to wrap a message sent as an HTTP response.
5
- class Response
6
- def initialize(message)
7
- @message = message
8
- end
9
-
10
- def body
11
- @message.body
12
- end
13
-
14
- def content_type
15
- @message.content_type
16
- end
17
-
18
- def content_encoding
19
- @message.headers['Content-Encoding']
20
- end
21
-
22
- def status_code
23
- @message.status
24
- end
25
-
26
- def ok?
27
- @message.ok?
28
- end
29
-
30
- def to_exception
31
- message = _("Error %{code} on SERVER: %{returned_message}") % { code: status_code, returned_message: body }
32
- Puppet::Rest::ResponseError.new(message, self)
33
- end
34
- end
35
- end