puppet 6.21.1 → 7.4.1

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 (402) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -4
  3. data/Gemfile.lock +5 -5
  4. data/README.md +1 -1
  5. data/conf/fileserver.conf +5 -10
  6. data/ext/build_defaults.yaml +1 -2
  7. data/ext/osx/file_mapping.yaml +0 -5
  8. data/ext/project_data.yaml +2 -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 +13 -9
  16. data/lib/puppet/application/ssl.rb +1 -1
  17. data/lib/puppet/configurer.rb +27 -29
  18. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  19. data/lib/puppet/defaults.rb +57 -162
  20. data/lib/puppet/environments.rb +8 -23
  21. data/lib/puppet/face/facts.rb +73 -49
  22. data/lib/puppet/face/help.rb +1 -1
  23. data/lib/puppet/face/node/clean.rb +8 -0
  24. data/lib/puppet/face/plugin.rb +5 -8
  25. data/lib/puppet/ffi/windows.rb +12 -0
  26. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  27. data/lib/puppet/ffi/windows/constants.rb +404 -0
  28. data/lib/puppet/ffi/windows/functions.rb +628 -0
  29. data/lib/puppet/ffi/windows/structs.rb +338 -0
  30. data/lib/puppet/file_serving/configuration.rb +0 -5
  31. data/lib/puppet/file_serving/configuration/parser.rb +6 -32
  32. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  33. data/lib/puppet/file_serving/mount.rb +1 -2
  34. data/lib/puppet/forge/repository.rb +0 -1
  35. data/lib/puppet/generate/models/type/type.rb +4 -1
  36. data/lib/puppet/http.rb +22 -13
  37. data/lib/puppet/http/client.rb +164 -114
  38. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  39. data/lib/puppet/http/errors.rb +16 -0
  40. data/lib/puppet/http/external_client.rb +5 -7
  41. data/lib/puppet/{network/http → http}/factory.rb +8 -11
  42. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  43. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  44. data/lib/puppet/http/proxy.rb +137 -0
  45. data/lib/puppet/http/redirector.rb +4 -12
  46. data/lib/puppet/http/resolver.rb +5 -15
  47. data/lib/puppet/http/resolver/server_list.rb +6 -10
  48. data/lib/puppet/http/resolver/settings.rb +4 -7
  49. data/lib/puppet/http/resolver/srv.rb +7 -11
  50. data/lib/puppet/http/response.rb +36 -54
  51. data/lib/puppet/http/response_converter.rb +24 -0
  52. data/lib/puppet/http/response_net_http.rb +42 -0
  53. data/lib/puppet/http/retry_after_handler.rb +4 -13
  54. data/lib/puppet/http/service.rb +12 -26
  55. data/lib/puppet/http/service/ca.rb +11 -22
  56. data/lib/puppet/http/service/compiler.rb +22 -69
  57. data/lib/puppet/http/service/file_server.rb +18 -27
  58. data/lib/puppet/http/service/puppetserver.rb +26 -12
  59. data/lib/puppet/http/service/report.rb +8 -10
  60. data/lib/puppet/http/session.rb +11 -20
  61. data/lib/puppet/{network/http → http}/site.rb +1 -2
  62. data/lib/puppet/indirector/catalog/rest.rb +2 -4
  63. data/lib/puppet/indirector/facts/facter.rb +25 -3
  64. data/lib/puppet/indirector/facts/rest.rb +3 -22
  65. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  66. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  67. data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
  68. data/lib/puppet/indirector/file_server.rb +1 -8
  69. data/lib/puppet/indirector/generic_http.rb +0 -11
  70. data/lib/puppet/indirector/node/rest.rb +2 -4
  71. data/lib/puppet/indirector/report/rest.rb +3 -8
  72. data/lib/puppet/indirector/request.rb +0 -101
  73. data/lib/puppet/indirector/rest.rb +12 -263
  74. data/lib/puppet/module_tool/applications.rb +0 -1
  75. data/lib/puppet/network/authconfig.rb +2 -96
  76. data/lib/puppet/network/authorization.rb +13 -35
  77. data/lib/puppet/network/formats.rb +67 -0
  78. data/lib/puppet/network/http.rb +3 -3
  79. data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
  80. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  81. data/lib/puppet/network/http/connection.rb +247 -316
  82. data/lib/puppet/network/http/handler.rb +0 -1
  83. data/lib/puppet/network/http_pool.rb +16 -34
  84. data/lib/puppet/node.rb +1 -30
  85. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  86. data/lib/puppet/pal/pal_impl.rb +3 -1
  87. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  88. data/lib/puppet/parser/compiler.rb +0 -198
  89. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  90. data/lib/puppet/parser/resource.rb +0 -69
  91. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  92. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
  93. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  94. data/lib/puppet/pops/issues.rb +0 -5
  95. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  96. data/lib/puppet/pops/model/ast.pp +0 -42
  97. data/lib/puppet/pops/model/ast.rb +0 -290
  98. data/lib/puppet/pops/model/factory.rb +0 -45
  99. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  100. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  101. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  102. data/lib/puppet/pops/parser/egrammar.ra +0 -56
  103. data/lib/puppet/pops/parser/eparser.rb +1520 -1712
  104. data/lib/puppet/pops/parser/lexer2.rb +4 -4
  105. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  106. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  107. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  108. data/lib/puppet/pops/types/type_parser.rb +0 -4
  109. data/lib/puppet/pops/types/types.rb +0 -1
  110. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  111. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  112. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  113. data/lib/puppet/provider.rb +0 -13
  114. data/lib/puppet/provider/nameservice.rb +0 -18
  115. data/lib/puppet/provider/package/dpkg.rb +0 -10
  116. data/lib/puppet/provider/package/gem.rb +23 -3
  117. data/lib/puppet/provider/package/pip.rb +0 -1
  118. data/lib/puppet/provider/package/pkg.rb +0 -4
  119. data/lib/puppet/provider/package/portage.rb +1 -1
  120. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  121. data/lib/puppet/provider/service/smf.rb +191 -73
  122. data/lib/puppet/provider/user/directoryservice.rb +0 -10
  123. data/lib/puppet/reference/configuration.rb +7 -5
  124. data/lib/puppet/reference/indirection.rb +1 -1
  125. data/lib/puppet/resource.rb +1 -89
  126. data/lib/puppet/resource/catalog.rb +1 -14
  127. data/lib/puppet/resource/type.rb +3 -119
  128. data/lib/puppet/resource/type_collection.rb +3 -48
  129. data/lib/puppet/runtime.rb +1 -2
  130. data/lib/puppet/settings.rb +45 -33
  131. data/lib/puppet/settings/integer_setting.rb +17 -0
  132. data/lib/puppet/settings/port_setting.rb +15 -0
  133. data/lib/puppet/settings/priority_setting.rb +5 -4
  134. data/lib/puppet/ssl.rb +10 -6
  135. data/lib/puppet/ssl/base.rb +3 -5
  136. data/lib/puppet/ssl/certificate.rb +0 -6
  137. data/lib/puppet/ssl/certificate_request.rb +1 -12
  138. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  139. data/lib/puppet/ssl/oids.rb +3 -1
  140. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  141. data/lib/puppet/ssl/state_machine.rb +3 -1
  142. data/lib/puppet/ssl/verifier.rb +2 -0
  143. data/lib/puppet/test/test_helper.rb +1 -3
  144. data/lib/puppet/transaction.rb +1 -7
  145. data/lib/puppet/transaction/report.rb +2 -4
  146. data/lib/puppet/type.rb +0 -76
  147. data/lib/puppet/type/file.rb +5 -7
  148. data/lib/puppet/type/file/checksum.rb +1 -1
  149. data/lib/puppet/type/file/source.rb +1 -1
  150. data/lib/puppet/type/filebucket.rb +3 -3
  151. data/lib/puppet/type/package.rb +5 -13
  152. data/lib/puppet/type/user.rb +1 -1
  153. data/lib/puppet/util/execution.rb +0 -11
  154. data/lib/puppet/util/http_proxy.rb +2 -215
  155. data/lib/puppet/util/monkey_patches.rb +0 -46
  156. data/lib/puppet/util/rdoc.rb +0 -7
  157. data/lib/puppet/util/retry_action.rb +1 -1
  158. data/lib/puppet/util/run_mode.rb +9 -1
  159. data/lib/puppet/util/windows.rb +3 -8
  160. data/lib/puppet/util/windows/daemon.rb +360 -0
  161. data/lib/puppet/util/windows/error.rb +1 -0
  162. data/lib/puppet/util/windows/eventlog.rb +4 -9
  163. data/lib/puppet/util/windows/file.rb +8 -242
  164. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  165. data/lib/puppet/util/windows/process.rb +4 -226
  166. data/lib/puppet/util/windows/service.rb +9 -460
  167. data/lib/puppet/util/windows/string.rb +12 -13
  168. data/lib/puppet/util/yaml.rb +0 -22
  169. data/lib/puppet/vendor/require_vendored.rb +0 -1
  170. data/lib/puppet/version.rb +1 -1
  171. data/lib/puppet/x509.rb +5 -1
  172. data/lib/puppet/x509/cert_provider.rb +29 -1
  173. data/locales/puppet.pot +521 -1226
  174. data/man/man5/puppet.conf.5 +34 -94
  175. data/man/man8/puppet-facts.8 +56 -35
  176. data/man/man8/puppet-filebucket.8 +3 -3
  177. data/man/man8/puppet-module.8 +0 -57
  178. data/man/man8/puppet.8 +1 -1
  179. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  180. data/spec/integration/application/agent_spec.rb +24 -11
  181. data/spec/integration/application/apply_spec.rb +1 -1
  182. data/spec/integration/application/filebucket_spec.rb +16 -16
  183. data/spec/integration/application/help_spec.rb +2 -0
  184. data/spec/integration/application/plugin_spec.rb +23 -1
  185. data/spec/integration/defaults_spec.rb +7 -3
  186. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -2
  187. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -2
  188. data/spec/integration/network/http_pool_spec.rb +3 -21
  189. data/spec/integration/parser/catalog_spec.rb +0 -38
  190. data/spec/integration/parser/node_spec.rb +0 -9
  191. data/spec/integration/parser/pcore_resource_spec.rb +0 -37
  192. data/spec/integration/type/file_spec.rb +5 -4
  193. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  194. data/spec/integration/util/windows/security_spec.rb +1 -1
  195. data/spec/lib/puppet_spec/puppetserver.rb +1 -1
  196. data/spec/lib/puppet_spec/settings.rb +1 -0
  197. data/spec/spec_helper.rb +2 -0
  198. data/spec/unit/agent_spec.rb +0 -2
  199. data/spec/unit/application/facts_spec.rb +86 -0
  200. data/spec/unit/application/filebucket_spec.rb +41 -39
  201. data/spec/unit/application/ssl_spec.rb +2 -2
  202. data/spec/unit/certificate_factory_spec.rb +1 -1
  203. data/spec/unit/configurer/downloader_spec.rb +6 -2
  204. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  205. data/spec/unit/configurer_spec.rb +12 -9
  206. data/spec/unit/context/trusted_information_spec.rb +2 -6
  207. data/spec/unit/defaults_spec.rb +22 -47
  208. data/spec/unit/environments_spec.rb +0 -3
  209. data/spec/unit/face/facts_spec.rb +4 -0
  210. data/spec/unit/face/node_spec.rb +14 -2
  211. data/spec/unit/face/plugin_spec.rb +73 -33
  212. data/spec/unit/file_bucket/file_spec.rb +1 -1
  213. data/spec/unit/file_serving/configuration/parser_spec.rb +22 -18
  214. data/spec/unit/file_serving/configuration_spec.rb +6 -12
  215. data/spec/unit/functions/camelcase_spec.rb +1 -1
  216. data/spec/unit/functions/capitalize_spec.rb +1 -1
  217. data/spec/unit/functions/downcase_spec.rb +1 -1
  218. data/spec/unit/functions/upcase_spec.rb +1 -1
  219. data/spec/unit/http/client_spec.rb +7 -8
  220. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  221. data/spec/unit/http/external_client_spec.rb +4 -4
  222. data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
  223. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  224. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  225. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  226. data/spec/unit/http/resolver_spec.rb +13 -13
  227. data/spec/unit/http/service/compiler_spec.rb +0 -62
  228. data/spec/unit/http/service/file_server_spec.rb +3 -3
  229. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  230. data/spec/unit/http/service_spec.rb +0 -1
  231. data/spec/unit/http/session_spec.rb +16 -14
  232. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  233. data/spec/unit/indirector/facts/facter_spec.rb +113 -0
  234. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  235. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  236. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  237. data/spec/unit/indirector/file_server_spec.rb +1 -15
  238. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  239. data/spec/unit/indirector/request_spec.rb +0 -264
  240. data/spec/unit/indirector/rest_spec.rb +98 -752
  241. data/spec/unit/network/authconfig_spec.rb +2 -129
  242. data/spec/unit/network/authorization_spec.rb +2 -55
  243. data/spec/unit/network/formats_spec.rb +45 -4
  244. data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -92
  245. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  246. data/spec/unit/network/http/api_spec.rb +10 -0
  247. data/spec/unit/network/http/connection_spec.rb +19 -41
  248. data/spec/unit/network/http/handler_spec.rb +0 -1
  249. data/spec/unit/network/http_pool_spec.rb +0 -4
  250. data/spec/unit/node/environment_spec.rb +33 -21
  251. data/spec/unit/node_spec.rb +2 -54
  252. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  253. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  254. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  255. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  256. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  257. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  258. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  259. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  260. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  261. data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
  262. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  263. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  264. data/spec/unit/pops/visitor_spec.rb +1 -1
  265. data/spec/unit/provider/nameservice_spec.rb +0 -57
  266. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  267. data/spec/unit/provider/package/gem_spec.rb +32 -0
  268. data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
  269. data/spec/unit/provider/service/smf_spec.rb +401 -165
  270. data/spec/unit/provider/service/windows_spec.rb +0 -1
  271. data/spec/unit/provider_spec.rb +0 -12
  272. data/spec/unit/resource/type_collection_spec.rb +2 -22
  273. data/spec/unit/resource_spec.rb +0 -56
  274. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  275. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  276. data/spec/unit/settings/port_setting_spec.rb +31 -0
  277. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  278. data/spec/unit/settings_spec.rb +17 -0
  279. data/spec/unit/ssl/base_spec.rb +36 -3
  280. data/spec/unit/ssl/certificate_request_spec.rb +19 -55
  281. data/spec/unit/ssl/certificate_spec.rb +2 -11
  282. data/spec/unit/ssl/state_machine_spec.rb +0 -1
  283. data/spec/unit/ssl/verifier_spec.rb +0 -21
  284. data/spec/unit/transaction/report_spec.rb +0 -2
  285. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  286. data/spec/unit/transaction_spec.rb +45 -79
  287. data/spec/unit/type/file/checksum_spec.rb +6 -6
  288. data/spec/unit/type/file/content_spec.rb +1 -1
  289. data/spec/unit/type/file/ensure_spec.rb +1 -1
  290. data/spec/unit/type/file/mode_spec.rb +1 -1
  291. data/spec/unit/type/file/source_spec.rb +0 -1
  292. data/spec/unit/type/file_spec.rb +12 -6
  293. data/spec/unit/type/package_spec.rb +1 -1
  294. data/spec/unit/type_spec.rb +20 -0
  295. data/spec/unit/util/backups_spec.rb +0 -2
  296. data/spec/unit/util/execution_spec.rb +0 -29
  297. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  298. data/spec/unit/util/run_mode_spec.rb +21 -121
  299. data/spec/unit/util/windows/string_spec.rb +1 -3
  300. data/spec/unit/util/yaml_spec.rb +0 -54
  301. data/spec/unit/util_spec.rb +0 -18
  302. metadata +47 -162
  303. data/conf/auth.conf +0 -150
  304. data/lib/puppet/application/cert.rb +0 -76
  305. data/lib/puppet/application/key.rb +0 -4
  306. data/lib/puppet/application/man.rb +0 -4
  307. data/lib/puppet/application/status.rb +0 -4
  308. data/lib/puppet/face/key.rb +0 -16
  309. data/lib/puppet/face/man.rb +0 -145
  310. data/lib/puppet/face/module/build.rb +0 -14
  311. data/lib/puppet/face/module/generate.rb +0 -14
  312. data/lib/puppet/face/module/search.rb +0 -103
  313. data/lib/puppet/face/status.rb +0 -51
  314. data/lib/puppet/indirector/certificate/file.rb +0 -9
  315. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  316. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  317. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  318. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  319. data/lib/puppet/indirector/file_content/http.rb +0 -22
  320. data/lib/puppet/indirector/key/file.rb +0 -46
  321. data/lib/puppet/indirector/key/memory.rb +0 -7
  322. data/lib/puppet/indirector/ssl_file.rb +0 -162
  323. data/lib/puppet/indirector/status.rb +0 -3
  324. data/lib/puppet/indirector/status/local.rb +0 -12
  325. data/lib/puppet/indirector/status/rest.rb +0 -27
  326. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  327. data/lib/puppet/network/auth_config_parser.rb +0 -90
  328. data/lib/puppet/network/authstore.rb +0 -283
  329. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  330. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  331. data/lib/puppet/network/http/base_pool.rb +0 -36
  332. data/lib/puppet/network/http/compression.rb +0 -127
  333. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  334. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  335. data/lib/puppet/network/rest_controller.rb +0 -2
  336. data/lib/puppet/network/rights.rb +0 -210
  337. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  338. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  339. data/lib/puppet/parser/environment_compiler.rb +0 -202
  340. data/lib/puppet/pops/types/enumeration.rb +0 -16
  341. data/lib/puppet/resource/capability_finder.rb +0 -154
  342. data/lib/puppet/rest/errors.rb +0 -15
  343. data/lib/puppet/rest/response.rb +0 -35
  344. data/lib/puppet/rest/route.rb +0 -85
  345. data/lib/puppet/rest/routes.rb +0 -135
  346. data/lib/puppet/ssl/host.rb +0 -505
  347. data/lib/puppet/ssl/key.rb +0 -61
  348. data/lib/puppet/ssl/validator.rb +0 -61
  349. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  350. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  351. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  352. data/lib/puppet/status.rb +0 -40
  353. data/lib/puppet/util/connection.rb +0 -88
  354. data/lib/puppet/util/fact_dif.rb +0 -62
  355. data/lib/puppet/util/ssl.rb +0 -83
  356. data/lib/puppet/util/windows/api_types.rb +0 -309
  357. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  358. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  359. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  360. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  361. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  362. data/lib/puppet/vendor/pathspec/README.md +0 -53
  363. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  364. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  365. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  366. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  367. data/man/man8/puppet-key.8 +0 -126
  368. data/man/man8/puppet-man.8 +0 -76
  369. data/man/man8/puppet-status.8 +0 -108
  370. data/spec/integration/network/authconfig_spec.rb +0 -256
  371. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  372. data/spec/unit/application/man_spec.rb +0 -52
  373. data/spec/unit/capability_spec.rb +0 -414
  374. data/spec/unit/face/key_spec.rb +0 -9
  375. data/spec/unit/face/module/search_spec.rb +0 -231
  376. data/spec/unit/face/status_spec.rb +0 -9
  377. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  378. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  379. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  380. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  381. data/spec/unit/indirector/key/file_spec.rb +0 -78
  382. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  383. data/spec/unit/indirector/status/local_spec.rb +0 -10
  384. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  385. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  386. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  387. data/spec/unit/network/authstore_spec.rb +0 -422
  388. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  389. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  390. data/spec/unit/network/http/compression_spec.rb +0 -240
  391. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  392. data/spec/unit/network/http_spec.rb +0 -9
  393. data/spec/unit/network/rights_spec.rb +0 -439
  394. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  395. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  396. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  397. data/spec/unit/rest/route_spec.rb +0 -132
  398. data/spec/unit/ssl/host_spec.rb +0 -645
  399. data/spec/unit/ssl/key_spec.rb +0 -173
  400. data/spec/unit/ssl/validator_spec.rb +0 -278
  401. data/spec/unit/status_spec.rb +0 -45
  402. data/spec/unit/util/ssl_spec.rb +0 -91
data/lib/puppet/type.rb CHANGED
@@ -114,29 +114,6 @@ class Type
114
114
  attr_reader :properties
115
115
  end
116
116
 
117
- # Allow declaring that a type is actually a capability
118
- class << self
119
- # @deprecated application orchestration will be removed in puppet 7
120
- attr_accessor :is_capability
121
-
122
- # @deprecated application orchestration will be removed in puppet 7
123
- def is_capability?
124
- c = is_capability
125
- c.nil? ? false : c
126
- end
127
- end
128
-
129
- # Returns whether this type represents an application instance; since
130
- # only defined types, i.e., instances of Puppet::Resource::Type can
131
- # represent application instances, this implementation always returns
132
- # +false+. Having this method though makes code checking whether a
133
- # resource is an application instance simpler
134
- #
135
- # @deprecated application orchestration will be removed in puppet 7
136
- def self.application?
137
- false
138
- end
139
-
140
117
  # Returns all the attribute names of the type in the appropriate order.
141
118
  # The {key_attributes} come first, then the {provider}, then the {properties}, and finally
142
119
  # the {parameters} and {metaparams},
@@ -1720,59 +1697,6 @@ class Type
1720
1697
  }
1721
1698
  end
1722
1699
 
1723
- # @deprecated application orchestration will be removed in puppet 7
1724
- newmetaparam(:export, :parent => RelationshipMetaparam, :attributes => {:direction => :out, :events => :NONE}) do
1725
- desc <<EOS
1726
- Export a capability resource.
1727
-
1728
- The value of this parameter must be a reference to a capability resource,
1729
- or an array of such references. Each capability resource referenced here
1730
- will be instantiated in the node catalog and exported to consumers of this
1731
- resource. The title of the capability resource will be the title given in
1732
- the reference, and all other attributes of the resource will be filled
1733
- according to the corresponding produces statement.
1734
-
1735
- It is an error if this metaparameter references resources whose type is not
1736
- a capability type, or of there is no produces clause for the type of the
1737
- current resource and the capability resource mentioned in this parameter.
1738
-
1739
- For example:
1740
-
1741
- define web(..) { .. }
1742
- Web produces Http { .. }
1743
- web { server:
1744
- export => Http[main_server]
1745
- }
1746
- EOS
1747
- end
1748
-
1749
- # @deprecated application orchestration will be removed in puppet 7
1750
- newmetaparam(:consume, :parent => RelationshipMetaparam, :attributes => {:direction => :in, :events => :NONE}) do
1751
- desc <<EOS
1752
- Consume a capability resource.
1753
-
1754
- The value of this parameter must be a reference to a capability resource,
1755
- or an array of such references. Each capability resource referenced here
1756
- must have been exported by another resource in the same environment.
1757
-
1758
- The referenced capability resources will be looked up, added to the
1759
- current node catalog, and processed following the underlying consumes
1760
- clause.
1761
-
1762
- It is an error if this metaparameter references resources whose type is not
1763
- a capability type, or of there is no consumes clause for the type of the
1764
- current resource and the capability resource mentioned in this parameter.
1765
-
1766
- For example:
1767
-
1768
- define web(..) { .. }
1769
- Web consumes Sql { .. }
1770
- web { server:
1771
- consume => Sql[my_db]
1772
- }
1773
- EOS
1774
- end
1775
-
1776
1700
  ###############################
1777
1701
  # All of the provider plumbing for the resource types.
1778
1702
  require 'puppet/provider'
@@ -83,13 +83,11 @@ Puppet::Type.newtype(:file) do
83
83
  use copy the file in the same directory with that value as the extension
84
84
  of the backup. (A value of `true` is a synonym for `.puppet-bak`.)
85
85
  * If set to any other string, Puppet will try to back up to a filebucket
86
- with that title. See the `filebucket` resource type for more details.
87
- (This is the preferred method for backup, since it can be centralized
88
- and queried.)
86
+ with that title. Puppet automatically creates a **local** filebucket
87
+ named `puppet` if one doesn't already exist. See the `filebucket` resource
88
+ type for more details.
89
89
 
90
- Default value: `puppet`, which backs up to a filebucket of the same name.
91
- (Puppet automatically creates a **local** filebucket named `puppet` if one
92
- doesn't already exist.)
90
+ Default value: `false`
93
91
 
94
92
  Backing up to a local filebucket isn't particularly useful. If you want
95
93
  to make organized use of backups, you will generally want to use the
@@ -125,7 +123,7 @@ Puppet::Type.newtype(:file) do
125
123
  - Restrict the directory to a maximum size after which the oldest items are removed.
126
124
  EOT
127
125
 
128
- defaultto "puppet"
126
+ defaultto false
129
127
 
130
128
  munge do |value|
131
129
  # I don't really know how this is happening.
@@ -7,7 +7,7 @@ Puppet::Type.type(:file).newparam(:checksum) do
7
7
 
8
8
  desc "The checksum type to use when determining whether to replace a file's contents.
9
9
 
10
- The default checksum type is md5."
10
+ The default checksum type is #{Puppet.default_digest_algorithm}."
11
11
 
12
12
  newvalues(*Puppet::Util::Checksums.known_checksum_types)
13
13
 
@@ -340,7 +340,7 @@ module Puppet
340
340
 
341
341
  def handle_response_error(response)
342
342
  message = "Error #{response.code} on SERVER: #{response.body.empty? ? response.reason : response.body}"
343
- raise Net::HTTPError.new(message, response.nethttp)
343
+ raise Net::HTTPError.new(message, Puppet::HTTP::ResponseConverter.to_ruby_response(response))
344
344
  end
345
345
  end
346
346
 
@@ -5,7 +5,7 @@ module Puppet
5
5
  @doc = <<-EOT
6
6
  A repository for storing and retrieving file content by MD5 checksum. Can
7
7
  be local to each agent node, or centralized on a puppet master server. All
8
- puppet masters provide a filebucket service that agent nodes can access
8
+ puppet servers provide a filebucket service that agent nodes can access
9
9
  via HTTP, but you must declare a filebucket resource before any agents
10
10
  will do so.
11
11
 
@@ -30,9 +30,9 @@ module Puppet
30
30
 
31
31
  File { backup => main, }
32
32
 
33
- Puppet master servers automatically provide the filebucket service, so
33
+ Puppet Servers automatically provide the filebucket service, so
34
34
  this will work in a default configuration. If you have a heavily
35
- restricted `auth.conf` file, you may need to allow access to the
35
+ restricted Puppet Server `auth.conf` file, you may need to allow access to the
36
36
  `file_bucket_file` endpoint.
37
37
  EOT
38
38
 
@@ -106,10 +106,6 @@ module Puppet
106
106
  provider.purge
107
107
  end
108
108
 
109
- newvalue(:held, :event => :package_held, :required_features => :holdable) do
110
- provider.deprecated_hold
111
- end
112
-
113
109
  newvalue(:disabled, :required_features => :disableable) do
114
110
  provider.disable
115
111
  end
@@ -161,7 +157,7 @@ module Puppet
161
157
  @should.each { |should|
162
158
  case should
163
159
  when :present
164
- return true unless [:absent, :purged, :held, :disabled].include?(is)
160
+ return true unless [:absent, :purged, :disabled].include?(is)
165
161
  when :latest
166
162
  # Short-circuit packages that are not present
167
163
  return false if is == :absent || is == :purged
@@ -657,8 +653,7 @@ module Puppet
657
653
  if provider.reinstallable? &&
658
654
  @parameters[:reinstall_on_refresh].value == :true &&
659
655
  @parameters[:ensure].value != :purged &&
660
- @parameters[:ensure].value != :absent &&
661
- @parameters[:ensure].value != :held
656
+ @parameters[:ensure].value != :absent
662
657
 
663
658
  provider.reinstall
664
659
  end
@@ -673,7 +668,7 @@ module Puppet
673
668
  Default is "none". Mark can be specified with or without `ensure`,
674
669
  if `ensure` is missing will default to "present".
675
670
 
676
- Mark cannot be specified together with "purged", "absent" or "held"
671
+ Mark cannot be specified together with "purged", or "absent"
677
672
  values for `ensure`.
678
673
  EOT
679
674
  newvalues(:hold, :none)
@@ -710,11 +705,8 @@ module Puppet
710
705
  end
711
706
 
712
707
  validate do
713
- if :held == @parameters[:ensure].should
714
- warning '"ensure=>held" has been deprecated and will be removed in a future version, use "mark=hold" instead'
715
- end
716
- if @parameters[:mark] && [:absent, :purged, :held].include?(@parameters[:ensure].should)
717
- raise ArgumentError, _('You cannot use "mark" property while "ensure" is one of ["absent", "purged", "held"]')
708
+ if @parameters[:mark] && [:absent, :purged].include?(@parameters[:ensure].should)
709
+ raise ArgumentError, _('You cannot use "mark" property while "ensure" is one of ["absent", "purged"]')
718
710
  end
719
711
  end
720
712
  end
@@ -465,7 +465,7 @@ module Puppet
465
465
  groups = obj.shouldorig if obj
466
466
  if groups
467
467
  groups = groups.collect { |group|
468
- if group =~ /^\d+$/
468
+ if group.is_a?(String) && group =~/^\d+$/
469
469
  Integer(group)
470
470
  else
471
471
  group
@@ -94,17 +94,6 @@ module Puppet::Util::Execution
94
94
  end
95
95
  private_class_method :exitstatus
96
96
 
97
- # Wraps execution of {execute} with mapping of exception to given exception (and output as argument).
98
- # @raise [exception] under same conditions as {execute}, but raises the given `exception` with the output as argument
99
- # @return (see execute)
100
- # @api public
101
- # @deprecated
102
- def self.execfail(command, exception)
103
- execute(command)
104
- rescue Puppet::ExecutionFailure => detail
105
- raise exception, detail.message, detail.backtrace
106
- end
107
-
108
97
  # Default empty options for {execute}
109
98
  NoOptionsSpecified = {}
110
99
 
@@ -1,217 +1,4 @@
1
- require 'uri'
2
- require 'puppet/ssl/openssl_loader'
3
1
  require 'puppet/http'
4
2
 
5
- module Puppet::Util::HttpProxy
6
- def self.proxy(uri)
7
- if http_proxy_host && !no_proxy?(uri)
8
- Net::HTTP.new(uri.host, uri.port, self.http_proxy_host, self.http_proxy_port, self.http_proxy_user, self.http_proxy_password)
9
- else
10
- http = Net::HTTP.new(uri.host, uri.port, nil, nil, nil, nil)
11
- # Net::HTTP defaults the proxy port even though we said not to
12
- # use one. Set it to nil so caller is not surprised
13
- http.proxy_port = nil
14
- http
15
- end
16
- end
17
-
18
- def self.http_proxy_env
19
- # Returns a URI object if proxy is set, or nil
20
- proxy_env = ENV["http_proxy"] || ENV["HTTP_PROXY"]
21
- begin
22
- return URI.parse(proxy_env) if proxy_env
23
- rescue URI::InvalidURIError
24
- return nil
25
- end
26
- return nil
27
- end
28
-
29
- # The documentation around the format of the no_proxy variable seems
30
- # inconsistent. Some suggests the use of the * as a way of matching any
31
- # hosts under a domain, e.g.:
32
- # *.example.com
33
- # Other documentation suggests that just a leading '.' indicates a domain
34
- # level exclusion, e.g.:
35
- # .example.com
36
- # We'll accommodate both here.
37
- def self.no_proxy?(dest)
38
- no_proxy = self.no_proxy
39
- unless no_proxy
40
- return false
41
- end
42
-
43
- unless dest.is_a? URI
44
- begin
45
- dest = URI.parse(dest)
46
- rescue URI::InvalidURIError
47
- return false
48
- end
49
- end
50
-
51
- no_proxy.split(/\s*,\s*/).each do |d|
52
- host, port = d.split(':')
53
- host = Regexp.escape(host).gsub('\*', '.*')
54
-
55
- #If this no_proxy entry specifies a port, we want to match it against
56
- #the destination port. Otherwise just match hosts.
57
- if port
58
- no_proxy_regex = %r(#{host}:#{port}$)
59
- dest_string = "#{dest.host}:#{dest.port}"
60
- else
61
- no_proxy_regex = %r(#{host}$)
62
- dest_string = "#{dest.host}"
63
- end
64
-
65
- if no_proxy_regex.match(dest_string)
66
- return true
67
- end
68
- end
69
-
70
- return false
71
- end
72
-
73
- def self.http_proxy_host
74
- env = self.http_proxy_env
75
-
76
- if env and env.host
77
- return env.host
78
- end
79
-
80
- if Puppet.settings[:http_proxy_host] == 'none'
81
- return nil
82
- end
83
-
84
- return Puppet.settings[:http_proxy_host]
85
- end
86
-
87
- def self.http_proxy_port
88
- env = self.http_proxy_env
89
-
90
- if env and env.port
91
- return env.port
92
- end
93
-
94
- return Puppet.settings[:http_proxy_port]
95
- end
96
-
97
- def self.http_proxy_user
98
- env = self.http_proxy_env
99
-
100
- if env and env.user
101
- return env.user
102
- end
103
-
104
- if Puppet.settings[:http_proxy_user] == 'none'
105
- return nil
106
- end
107
-
108
- return Puppet.settings[:http_proxy_user]
109
- end
110
-
111
- def self.http_proxy_password
112
- env = self.http_proxy_env
113
-
114
- if env and env.password
115
- return env.password
116
- end
117
-
118
- if Puppet.settings[:http_proxy_user] == 'none' or Puppet.settings[:http_proxy_password] == 'none'
119
- return nil
120
- end
121
-
122
- return Puppet.settings[:http_proxy_password]
123
- end
124
-
125
- def self.no_proxy
126
- no_proxy_env = ENV["no_proxy"] || ENV["NO_PROXY"]
127
-
128
- if no_proxy_env
129
- return no_proxy_env
130
- end
131
-
132
- if Puppet.settings[:no_proxy] == 'none'
133
- return nil
134
- end
135
-
136
- return Puppet.settings[:no_proxy]
137
- end
138
-
139
- # Return a Net::HTTP::Proxy object.
140
- #
141
- # This method optionally configures SSL correctly if the URI scheme is
142
- # 'https', including setting up the root certificate store so remote server
143
- # SSL certificates can be validated.
144
- #
145
- # @param [URI] uri The URI that is to be accessed.
146
- # @return [Net::HTTP::Proxy] object constructed tailored for the passed URI
147
- def self.get_http_object(uri)
148
- proxy = proxy(uri)
149
-
150
- if uri.scheme == 'https'
151
- cert_store = OpenSSL::X509::Store.new
152
- cert_store.set_default_paths
153
-
154
- proxy.use_ssl = true
155
- proxy.verify_mode = OpenSSL::SSL::VERIFY_PEER
156
- proxy.cert_store = cert_store
157
- end
158
-
159
- if Puppet[:http_debug]
160
- proxy.set_debug_output($stderr)
161
- end
162
-
163
- proxy.open_timeout = Puppet[:http_connect_timeout]
164
- proxy.read_timeout = Puppet[:http_read_timeout]
165
-
166
- proxy
167
- end
168
-
169
- # Retrieve a document through HTTP(s), following redirects if necessary. The
170
- # returned response body may be compressed, and it is the caller's
171
- # responsibility to decompress it based on the 'content-encoding' header.
172
- #
173
- # Based on the the client implementation in the HTTP pool.
174
- #
175
- # @see Puppet::Network::HTTP::Connection#request_with_redirects
176
- #
177
- # @param [URI] uri The address of the resource to retrieve.
178
- # @param [symbol] method The name of the Net::HTTP method to use, typically :get, :head, :post etc.
179
- # @param [FixNum] redirect_limit The number of redirections that can be followed.
180
- # @return [Net::HTTPResponse] a response object
181
- def self.request_with_redirects(uri, method, redirect_limit = 10, &block)
182
- current_uri = uri
183
- response = nil
184
-
185
- 0.upto(redirect_limit) do |redirection|
186
- proxy = get_http_object(current_uri)
187
-
188
- headers = { 'Accept' => '*/*', 'User-Agent' => Puppet[:http_user_agent] }
189
- if Puppet.features.zlib?
190
- headers["Accept-Encoding"] = Puppet::HTTP::ACCEPT_ENCODING
191
- end
192
-
193
- response = proxy.send(:head, current_uri, headers)
194
- Puppet.debug("HTTP HEAD request to #{current_uri} returned #{response.code} #{response.message}")
195
-
196
- if [301, 302, 307].include?(response.code.to_i)
197
- # handle the redirection
198
- current_uri = URI.parse(response['location'])
199
- next
200
- end
201
-
202
- if method != :head
203
- if block_given?
204
- response = proxy.send("request_#{method}".to_sym, current_uri, headers, &block)
205
- else
206
- response = proxy.send(method, current_uri, headers)
207
- end
208
-
209
- Puppet.debug("HTTP #{method.to_s.upcase} request to #{current_uri} returned #{response.code} #{response.message}")
210
- end
211
-
212
- return response
213
- end
214
-
215
- raise RedirectionLimitExceededException, _("Too many HTTP redirections for %{uri}") % { uri: uri }
216
- end
217
- end
3
+ # for backwards compatibility
4
+ Puppet::Util::HttpProxy = Puppet::HTTP::Proxy