puppet 6.20.0-x86-mingw32 → 7.4.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 (430) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -4
  3. data/Gemfile.lock +13 -13
  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/property/list.rb +1 -1
  114. data/lib/puppet/provider.rb +0 -13
  115. data/lib/puppet/provider/group/groupadd.rb +13 -8
  116. data/lib/puppet/provider/nameservice.rb +0 -18
  117. data/lib/puppet/provider/package/apt.rb +30 -2
  118. data/lib/puppet/provider/package/aptitude.rb +6 -0
  119. data/lib/puppet/provider/package/dpkg.rb +0 -10
  120. data/lib/puppet/provider/package/gem.rb +23 -3
  121. data/lib/puppet/provider/package/pip.rb +0 -1
  122. data/lib/puppet/provider/package/pkg.rb +0 -4
  123. data/lib/puppet/provider/package/portage.rb +1 -1
  124. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  125. data/lib/puppet/provider/service/debian.rb +2 -0
  126. data/lib/puppet/provider/service/smf.rb +191 -73
  127. data/lib/puppet/provider/user/directoryservice.rb +0 -10
  128. data/lib/puppet/provider/user/useradd.rb +55 -8
  129. data/lib/puppet/reference/configuration.rb +7 -5
  130. data/lib/puppet/reference/indirection.rb +1 -1
  131. data/lib/puppet/resource.rb +1 -89
  132. data/lib/puppet/resource/catalog.rb +1 -14
  133. data/lib/puppet/resource/type.rb +3 -119
  134. data/lib/puppet/resource/type_collection.rb +3 -48
  135. data/lib/puppet/runtime.rb +1 -2
  136. data/lib/puppet/settings.rb +45 -33
  137. data/lib/puppet/settings/integer_setting.rb +17 -0
  138. data/lib/puppet/settings/port_setting.rb +15 -0
  139. data/lib/puppet/settings/priority_setting.rb +5 -4
  140. data/lib/puppet/ssl.rb +10 -6
  141. data/lib/puppet/ssl/base.rb +3 -5
  142. data/lib/puppet/ssl/certificate.rb +0 -6
  143. data/lib/puppet/ssl/certificate_request.rb +1 -12
  144. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  145. data/lib/puppet/ssl/oids.rb +3 -1
  146. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  147. data/lib/puppet/ssl/state_machine.rb +3 -1
  148. data/lib/puppet/ssl/verifier.rb +2 -0
  149. data/lib/puppet/test/test_helper.rb +1 -3
  150. data/lib/puppet/transaction.rb +1 -7
  151. data/lib/puppet/transaction/report.rb +2 -4
  152. data/lib/puppet/type.rb +0 -76
  153. data/lib/puppet/type/file.rb +5 -7
  154. data/lib/puppet/type/file/checksum.rb +1 -1
  155. data/lib/puppet/type/file/source.rb +1 -1
  156. data/lib/puppet/type/filebucket.rb +3 -3
  157. data/lib/puppet/type/package.rb +8 -16
  158. data/lib/puppet/type/user.rb +1 -1
  159. data/lib/puppet/util/execution.rb +0 -11
  160. data/lib/puppet/util/http_proxy.rb +2 -215
  161. data/lib/puppet/util/monkey_patches.rb +0 -46
  162. data/lib/puppet/util/rdoc.rb +0 -7
  163. data/lib/puppet/util/retry_action.rb +1 -1
  164. data/lib/puppet/util/run_mode.rb +9 -1
  165. data/lib/puppet/util/windows.rb +3 -8
  166. data/lib/puppet/util/windows/daemon.rb +360 -0
  167. data/lib/puppet/util/windows/error.rb +1 -0
  168. data/lib/puppet/util/windows/eventlog.rb +4 -9
  169. data/lib/puppet/util/windows/file.rb +8 -242
  170. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  171. data/lib/puppet/util/windows/process.rb +4 -226
  172. data/lib/puppet/util/windows/service.rb +9 -460
  173. data/lib/puppet/util/windows/string.rb +12 -13
  174. data/lib/puppet/util/yaml.rb +0 -22
  175. data/lib/puppet/vendor/require_vendored.rb +0 -1
  176. data/lib/puppet/version.rb +1 -1
  177. data/lib/puppet/x509.rb +5 -1
  178. data/lib/puppet/x509/cert_provider.rb +29 -1
  179. data/locales/puppet.pot +521 -1226
  180. data/man/man5/puppet.conf.5 +35 -95
  181. data/man/man8/puppet-agent.8 +1 -1
  182. data/man/man8/puppet-apply.8 +1 -1
  183. data/man/man8/puppet-catalog.8 +1 -1
  184. data/man/man8/puppet-config.8 +1 -1
  185. data/man/man8/puppet-describe.8 +1 -1
  186. data/man/man8/puppet-device.8 +1 -1
  187. data/man/man8/puppet-doc.8 +1 -1
  188. data/man/man8/puppet-epp.8 +1 -1
  189. data/man/man8/puppet-facts.8 +57 -36
  190. data/man/man8/puppet-filebucket.8 +4 -4
  191. data/man/man8/puppet-generate.8 +1 -1
  192. data/man/man8/puppet-help.8 +1 -1
  193. data/man/man8/puppet-lookup.8 +1 -1
  194. data/man/man8/puppet-module.8 +1 -58
  195. data/man/man8/puppet-node.8 +1 -1
  196. data/man/man8/puppet-parser.8 +1 -1
  197. data/man/man8/puppet-plugin.8 +1 -1
  198. data/man/man8/puppet-report.8 +1 -1
  199. data/man/man8/puppet-resource.8 +1 -1
  200. data/man/man8/puppet-script.8 +1 -1
  201. data/man/man8/puppet-ssl.8 +1 -1
  202. data/man/man8/puppet.8 +2 -2
  203. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  204. data/spec/integration/application/agent_spec.rb +57 -11
  205. data/spec/integration/application/apply_spec.rb +1 -1
  206. data/spec/integration/application/filebucket_spec.rb +16 -16
  207. data/spec/integration/application/help_spec.rb +2 -0
  208. data/spec/integration/application/plugin_spec.rb +23 -1
  209. data/spec/integration/defaults_spec.rb +7 -3
  210. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -2
  211. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -2
  212. data/spec/integration/network/http_pool_spec.rb +3 -21
  213. data/spec/integration/parser/catalog_spec.rb +0 -38
  214. data/spec/integration/parser/node_spec.rb +0 -9
  215. data/spec/integration/parser/pcore_resource_spec.rb +0 -37
  216. data/spec/integration/type/file_spec.rb +5 -4
  217. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  218. data/spec/integration/util/windows/security_spec.rb +1 -1
  219. data/spec/lib/puppet_spec/puppetserver.rb +1 -1
  220. data/spec/lib/puppet_spec/settings.rb +1 -0
  221. data/spec/spec_helper.rb +2 -0
  222. data/spec/unit/agent_spec.rb +0 -2
  223. data/spec/unit/application/facts_spec.rb +86 -0
  224. data/spec/unit/application/filebucket_spec.rb +41 -39
  225. data/spec/unit/application/ssl_spec.rb +2 -2
  226. data/spec/unit/certificate_factory_spec.rb +1 -1
  227. data/spec/unit/configurer/downloader_spec.rb +6 -2
  228. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  229. data/spec/unit/configurer_spec.rb +12 -9
  230. data/spec/unit/context/trusted_information_spec.rb +2 -6
  231. data/spec/unit/defaults_spec.rb +22 -47
  232. data/spec/unit/environments_spec.rb +0 -3
  233. data/spec/unit/face/facts_spec.rb +4 -0
  234. data/spec/unit/face/node_spec.rb +14 -2
  235. data/spec/unit/face/plugin_spec.rb +73 -33
  236. data/spec/unit/file_bucket/file_spec.rb +1 -1
  237. data/spec/unit/file_serving/configuration/parser_spec.rb +22 -18
  238. data/spec/unit/file_serving/configuration_spec.rb +6 -12
  239. data/spec/unit/functions/camelcase_spec.rb +1 -1
  240. data/spec/unit/functions/capitalize_spec.rb +1 -1
  241. data/spec/unit/functions/downcase_spec.rb +1 -1
  242. data/spec/unit/functions/upcase_spec.rb +1 -1
  243. data/spec/unit/http/client_spec.rb +7 -8
  244. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  245. data/spec/unit/http/external_client_spec.rb +4 -4
  246. data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
  247. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  248. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  249. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  250. data/spec/unit/http/resolver_spec.rb +13 -13
  251. data/spec/unit/http/service/compiler_spec.rb +0 -62
  252. data/spec/unit/http/service/file_server_spec.rb +3 -3
  253. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  254. data/spec/unit/http/service_spec.rb +0 -1
  255. data/spec/unit/http/session_spec.rb +16 -14
  256. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  257. data/spec/unit/indirector/facts/facter_spec.rb +113 -0
  258. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  259. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  260. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  261. data/spec/unit/indirector/file_server_spec.rb +1 -15
  262. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  263. data/spec/unit/indirector/request_spec.rb +0 -264
  264. data/spec/unit/indirector/rest_spec.rb +98 -752
  265. data/spec/unit/network/authconfig_spec.rb +2 -129
  266. data/spec/unit/network/authorization_spec.rb +2 -55
  267. data/spec/unit/network/formats_spec.rb +45 -4
  268. data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -92
  269. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  270. data/spec/unit/network/http/api_spec.rb +10 -0
  271. data/spec/unit/network/http/connection_spec.rb +19 -41
  272. data/spec/unit/network/http/handler_spec.rb +0 -1
  273. data/spec/unit/network/http_pool_spec.rb +0 -4
  274. data/spec/unit/node/environment_spec.rb +33 -21
  275. data/spec/unit/node_spec.rb +2 -54
  276. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  277. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  278. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  279. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  280. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  281. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  282. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  283. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  284. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  285. data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
  286. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  287. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  288. data/spec/unit/pops/visitor_spec.rb +1 -1
  289. data/spec/unit/provider/group/groupadd_spec.rb +5 -2
  290. data/spec/unit/provider/nameservice_spec.rb +0 -57
  291. data/spec/unit/provider/package/apt_spec.rb +24 -15
  292. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  293. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  294. data/spec/unit/provider/package/gem_spec.rb +32 -0
  295. data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
  296. data/spec/unit/provider/service/smf_spec.rb +401 -165
  297. data/spec/unit/provider/service/windows_spec.rb +0 -1
  298. data/spec/unit/provider/user/useradd_spec.rb +55 -3
  299. data/spec/unit/provider_spec.rb +0 -12
  300. data/spec/unit/resource/type_collection_spec.rb +2 -22
  301. data/spec/unit/resource_spec.rb +0 -56
  302. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  303. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  304. data/spec/unit/settings/port_setting_spec.rb +31 -0
  305. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  306. data/spec/unit/settings_spec.rb +17 -0
  307. data/spec/unit/ssl/base_spec.rb +36 -3
  308. data/spec/unit/ssl/certificate_request_spec.rb +19 -55
  309. data/spec/unit/ssl/certificate_spec.rb +2 -11
  310. data/spec/unit/ssl/state_machine_spec.rb +0 -1
  311. data/spec/unit/ssl/verifier_spec.rb +0 -21
  312. data/spec/unit/transaction/report_spec.rb +0 -2
  313. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  314. data/spec/unit/transaction_spec.rb +45 -79
  315. data/spec/unit/type/file/checksum_spec.rb +6 -6
  316. data/spec/unit/type/file/content_spec.rb +1 -1
  317. data/spec/unit/type/file/ensure_spec.rb +1 -1
  318. data/spec/unit/type/file/mode_spec.rb +1 -1
  319. data/spec/unit/type/file/source_spec.rb +0 -1
  320. data/spec/unit/type/file_spec.rb +12 -6
  321. data/spec/unit/type/package_spec.rb +1 -1
  322. data/spec/unit/type_spec.rb +20 -0
  323. data/spec/unit/util/backups_spec.rb +0 -2
  324. data/spec/unit/util/execution_spec.rb +0 -29
  325. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  326. data/spec/unit/util/run_mode_spec.rb +21 -121
  327. data/spec/unit/util/windows/string_spec.rb +1 -3
  328. data/spec/unit/util/yaml_spec.rb +0 -54
  329. data/spec/unit/util_spec.rb +0 -18
  330. metadata +48 -219
  331. data/conf/auth.conf +0 -150
  332. data/lib/puppet/application/cert.rb +0 -76
  333. data/lib/puppet/application/key.rb +0 -4
  334. data/lib/puppet/application/man.rb +0 -4
  335. data/lib/puppet/application/status.rb +0 -4
  336. data/lib/puppet/face/key.rb +0 -16
  337. data/lib/puppet/face/man.rb +0 -145
  338. data/lib/puppet/face/module/build.rb +0 -14
  339. data/lib/puppet/face/module/generate.rb +0 -14
  340. data/lib/puppet/face/module/search.rb +0 -103
  341. data/lib/puppet/face/status.rb +0 -51
  342. data/lib/puppet/indirector/certificate/file.rb +0 -9
  343. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  344. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  345. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  346. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  347. data/lib/puppet/indirector/file_content/http.rb +0 -22
  348. data/lib/puppet/indirector/key/file.rb +0 -46
  349. data/lib/puppet/indirector/key/memory.rb +0 -7
  350. data/lib/puppet/indirector/ssl_file.rb +0 -162
  351. data/lib/puppet/indirector/status.rb +0 -3
  352. data/lib/puppet/indirector/status/local.rb +0 -12
  353. data/lib/puppet/indirector/status/rest.rb +0 -27
  354. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  355. data/lib/puppet/network/auth_config_parser.rb +0 -90
  356. data/lib/puppet/network/authstore.rb +0 -283
  357. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  358. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  359. data/lib/puppet/network/http/base_pool.rb +0 -36
  360. data/lib/puppet/network/http/compression.rb +0 -127
  361. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  362. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  363. data/lib/puppet/network/rest_controller.rb +0 -2
  364. data/lib/puppet/network/rights.rb +0 -210
  365. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  366. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  367. data/lib/puppet/parser/environment_compiler.rb +0 -202
  368. data/lib/puppet/pops/types/enumeration.rb +0 -16
  369. data/lib/puppet/resource/capability_finder.rb +0 -154
  370. data/lib/puppet/rest/errors.rb +0 -15
  371. data/lib/puppet/rest/response.rb +0 -35
  372. data/lib/puppet/rest/route.rb +0 -85
  373. data/lib/puppet/rest/routes.rb +0 -135
  374. data/lib/puppet/ssl/host.rb +0 -505
  375. data/lib/puppet/ssl/key.rb +0 -61
  376. data/lib/puppet/ssl/validator.rb +0 -61
  377. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  378. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  379. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  380. data/lib/puppet/status.rb +0 -40
  381. data/lib/puppet/util/connection.rb +0 -88
  382. data/lib/puppet/util/fact_dif.rb +0 -62
  383. data/lib/puppet/util/ssl.rb +0 -83
  384. data/lib/puppet/util/windows/api_types.rb +0 -309
  385. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  386. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  387. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  388. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  389. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  390. data/lib/puppet/vendor/pathspec/README.md +0 -53
  391. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  392. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  393. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  394. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  395. data/man/man8/puppet-key.8 +0 -126
  396. data/man/man8/puppet-man.8 +0 -76
  397. data/man/man8/puppet-status.8 +0 -108
  398. data/spec/integration/network/authconfig_spec.rb +0 -256
  399. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  400. data/spec/unit/application/man_spec.rb +0 -52
  401. data/spec/unit/capability_spec.rb +0 -414
  402. data/spec/unit/face/key_spec.rb +0 -9
  403. data/spec/unit/face/module/search_spec.rb +0 -231
  404. data/spec/unit/face/status_spec.rb +0 -9
  405. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  406. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  407. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  408. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  409. data/spec/unit/indirector/key/file_spec.rb +0 -78
  410. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  411. data/spec/unit/indirector/status/local_spec.rb +0 -10
  412. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  413. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  414. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  415. data/spec/unit/network/authstore_spec.rb +0 -422
  416. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  417. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  418. data/spec/unit/network/http/compression_spec.rb +0 -240
  419. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  420. data/spec/unit/network/http_spec.rb +0 -9
  421. data/spec/unit/network/rights_spec.rb +0 -439
  422. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  423. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  424. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  425. data/spec/unit/rest/route_spec.rb +0 -132
  426. data/spec/unit/ssl/host_spec.rb +0 -645
  427. data/spec/unit/ssl/key_spec.rb +0 -173
  428. data/spec/unit/ssl/validator_spec.rb +0 -278
  429. data/spec/unit/status_spec.rb +0 -45
  430. data/spec/unit/util/ssl_spec.rb +0 -91
@@ -16,6 +16,10 @@ class Puppet::Application::Filebucket < Puppet::Application
16
16
  _("Store and retrieve files in a filebucket")
17
17
  end
18
18
 
19
+ def digest_algorithm
20
+ Puppet.default_digest_algorithm
21
+ end
22
+
19
23
  def help
20
24
  <<-HELP
21
25
 
@@ -38,14 +42,14 @@ Puppet filebucket can operate in three modes, with only one mode per call:
38
42
 
39
43
  backup:
40
44
  Send one or more files to the specified file bucket. Each sent file is
41
- printed with its resulting md5 sum.
45
+ printed with its resulting #{digest_algorithm} sum.
42
46
 
43
47
  get:
44
- Return the text associated with an md5 sum. The text is printed to
48
+ Return the text associated with an #{digest_algorithm} sum. The text is printed to
45
49
  stdout, and only one file can be retrieved at a time.
46
50
 
47
51
  restore:
48
- Given a file path and an md5 sum, store the content associated with
52
+ Given a file path and an #{digest_algorithm} sum, store the content associated with
49
53
  the sum into the specified file path. You can specify an entirely new
50
54
  path to this argument; you are not restricted to restoring the content
51
55
  to its original location.
@@ -212,8 +216,8 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
212
216
  end
213
217
 
214
218
  def get
215
- md5 = args.shift
216
- out = @client.getfile(md5)
219
+ digest = args.shift
220
+ out = @client.getfile(digest)
217
221
  print out
218
222
  end
219
223
 
@@ -229,8 +233,8 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
229
233
  $stderr.puts _("%{file}: cannot read file") % { file: file }
230
234
  next
231
235
  end
232
- md5 = @client.backup(file)
233
- puts "#{file}: #{md5}"
236
+ digest = @client.backup(file)
237
+ puts "#{file}: #{digest}"
234
238
  end
235
239
  end
236
240
 
@@ -243,8 +247,8 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
243
247
 
244
248
  def restore
245
249
  file = args.shift
246
- md5 = args.shift
247
- @client.restore(file, md5)
250
+ digest = args.shift
251
+ @client.restore(file, digest)
248
252
  end
249
253
 
250
254
  def diff
@@ -248,7 +248,7 @@ END
248
248
  paths = {
249
249
  'private key' => Puppet[:hostprivkey],
250
250
  'public key' => Puppet[:hostpubkey],
251
- 'certificate request' => File.join(Puppet[:requestdir], "#{Puppet[:certname]}.pem"),
251
+ 'certificate request' => Puppet[:hostcsr],
252
252
  'certificate' => Puppet[:hostcert],
253
253
  'private key password file' => Puppet[:passfile]
254
254
  }
@@ -202,7 +202,6 @@ class Puppet::Configurer
202
202
  # This just passes any options on to the catalog,
203
203
  # which accepts :tags and :ignoreschedules.
204
204
  def run(options = {})
205
- pool = Puppet.runtime[:http].pool
206
205
  # We create the report pre-populated with default settings for
207
206
  # environment and transaction_uuid very early, this is to ensure
208
207
  # they are sent regardless of any catalog compilation failures or
@@ -215,41 +214,40 @@ class Puppet::Configurer
215
214
 
216
215
  completed = nil
217
216
  begin
218
- Puppet.override(:http_pool => pool) do
219
- # Skip failover logic if the server_list setting is empty
220
- do_failover = Puppet.settings[:server_list] && !Puppet.settings[:server_list].empty?
221
-
222
- # When we are passed a catalog, that means we're in apply
223
- # mode. We shouldn't try to do any failover in that case.
224
- if options[:catalog].nil? && do_failover
225
- server, port = find_functional_server
226
- if server.nil?
227
- detail = _("Could not select a functional puppet server from server_list: '%{server_list}'") % { server_list: Puppet.settings.value(:server_list, Puppet[:environment].to_sym, true) }
228
- if Puppet[:usecacheonfailure]
229
- options[:pluginsync] = false
230
- @running_failure = true
231
-
232
- server = Puppet[:server_list].first[0]
233
- port = Puppet[:server_list].first[1] || Puppet[:serverport]
234
-
235
- Puppet.err(detail)
236
- else
237
- raise Puppet::Error, detail
238
- end
217
+ # Skip failover logic if the server_list setting is empty
218
+ do_failover = Puppet.settings[:server_list] && !Puppet.settings[:server_list].empty?
219
+
220
+ # When we are passed a catalog, that means we're in apply
221
+ # mode. We shouldn't try to do any failover in that case.
222
+ if options[:catalog].nil? && do_failover
223
+ server, port = find_functional_server
224
+ if server.nil?
225
+ detail = _("Could not select a functional puppet server from server_list: '%{server_list}'") % { server_list: Puppet.settings.value(:server_list, Puppet[:environment].to_sym, true) }
226
+ if Puppet[:usecacheonfailure]
227
+ options[:pluginsync] = false
228
+ @running_failure = true
229
+
230
+ server = Puppet[:server_list].first[0]
231
+ port = Puppet[:server_list].first[1] || Puppet[:serverport]
232
+
233
+ Puppet.err(detail)
239
234
  else
240
- #TRANSLATORS 'server_list' is the name of a setting and should not be translated
241
- Puppet.debug _("Selected puppet server from the `server_list` setting: %{server}:%{port}") % { server: server, port: port }
242
- report.server_used = "#{server}:#{port}"
243
- end
244
- Puppet.override(server: server, serverport: port) do
245
- completed = run_internal(options)
235
+ raise Puppet::Error, detail
246
236
  end
247
237
  else
238
+ #TRANSLATORS 'server_list' is the name of a setting and should not be translated
239
+ Puppet.debug _("Selected puppet server from the `server_list` setting: %{server}:%{port}") % { server: server, port: port }
240
+ report.server_used = "#{server}:#{port}"
241
+ end
242
+ Puppet.override(server: server, serverport: port) do
248
243
  completed = run_internal(options)
249
244
  end
245
+ else
246
+ completed = run_internal(options)
250
247
  end
251
248
  ensure
252
- pool.close
249
+ # we may sleep for awhile, close connections now
250
+ Puppet.runtime[:http].close
253
251
  end
254
252
 
255
253
  completed ? report.exit_status : nil
@@ -29,25 +29,27 @@ class Puppet::Configurer::PluginHandler
29
29
  result += plugin_fact_downloader.evaluate
30
30
  result += plugin_downloader.evaluate
31
31
 
32
- # until file metadata/content are using the rest client, we need to check
33
- # both :server_agent_version and the session to see if the server supports
34
- # the "locales" mount
35
- server_agent_version = Puppet.lookup(:server_agent_version) { "0.0" }
36
- locales = Gem::Version.new(server_agent_version) >= SUPPORTED_LOCALES_MOUNT_AGENT_VERSION
37
- unless locales
38
- session = Puppet.lookup(:http_session)
39
- locales = session.supports?(:fileserver, 'locales') || session.supports?(:puppet, 'locales')
40
- end
41
-
42
- if locales
43
- locales_downloader = Puppet::Configurer::Downloader.new(
44
- "locales",
45
- Puppet[:localedest],
46
- Puppet[:localesource],
47
- Puppet[:pluginsignore] + " *.pot config.yaml",
48
- environment
49
- )
50
- result += locales_downloader.evaluate
32
+ unless Puppet[:disable_i18n]
33
+ # until file metadata/content are using the rest client, we need to check
34
+ # both :server_agent_version and the session to see if the server supports
35
+ # the "locales" mount
36
+ server_agent_version = Puppet.lookup(:server_agent_version) { "0.0" }
37
+ locales = Gem::Version.new(server_agent_version) >= SUPPORTED_LOCALES_MOUNT_AGENT_VERSION
38
+ unless locales
39
+ session = Puppet.lookup(:http_session)
40
+ locales = session.supports?(:fileserver, 'locales') || session.supports?(:puppet, 'locales')
41
+ end
42
+
43
+ if locales
44
+ locales_downloader = Puppet::Configurer::Downloader.new(
45
+ "locales",
46
+ Puppet[:localedest],
47
+ Puppet[:localesource],
48
+ Puppet[:pluginsignore] + " *.pot config.yaml",
49
+ environment
50
+ )
51
+ result += locales_downloader.evaluate
52
+ end
51
53
  end
52
54
 
53
55
  Puppet::Util::Autoload.reload_changed(Puppet.lookup(:current_environment))
@@ -11,25 +11,41 @@ module Puppet
11
11
  end
12
12
 
13
13
  def self.default_digest_algorithm
14
- Puppet::Util::Platform.fips_enabled? ? 'sha256' : 'md5'
14
+ 'sha256'
15
15
  end
16
16
 
17
17
  def self.valid_digest_algorithms
18
18
  Puppet::Util::Platform.fips_enabled? ?
19
19
  %w[sha256 sha384 sha512 sha224] :
20
- %w[md5 sha256 sha384 sha512 sha224]
20
+ %w[sha256 sha384 sha512 sha224 md5]
21
21
  end
22
22
 
23
23
  def self.default_file_checksum_types
24
24
  Puppet::Util::Platform.fips_enabled? ?
25
25
  %w[sha256 sha384 sha512 sha224] :
26
- %w[md5 sha256 sha384 sha512 sha224]
26
+ %w[sha256 sha384 sha512 sha224 md5]
27
27
  end
28
28
 
29
29
  def self.valid_file_checksum_types
30
30
  Puppet::Util::Platform.fips_enabled? ?
31
31
  %w[sha256 sha256lite sha384 sha512 sha224 sha1 sha1lite mtime ctime] :
32
- %w[md5 md5lite sha256 sha256lite sha384 sha512 sha224 sha1 sha1lite mtime ctime]
32
+ %w[sha256 sha256lite sha384 sha512 sha224 sha1 sha1lite md5 md5lite mtime ctime]
33
+ end
34
+
35
+ def self.default_cadir
36
+ return "" if Puppet::Util::Platform.windows?
37
+ old_ca_dir = "#{Puppet[:ssldir]}/ca"
38
+ new_ca_dir = "/etc/puppetlabs/puppetserver/ca"
39
+
40
+ if File.exist?(old_ca_dir)
41
+ if File.symlink?(old_ca_dir)
42
+ File.readlink(old_ca_dir)
43
+ else
44
+ old_ca_dir
45
+ end
46
+ else
47
+ new_ca_dir
48
+ end
33
49
  end
34
50
 
35
51
  def self.default_basemodulepath
@@ -70,29 +86,6 @@ module Puppet
70
86
  # @return void
71
87
  def self.initialize_default_settings!(settings)
72
88
  settings.define_settings(:main,
73
- :facterng => {
74
- :default => false,
75
- :type => :boolean,
76
- :desc => 'Whether to enable a pre-Facter 4.0 release of Facter (distributed as
77
- the "facter-ng" gem). This is not necessary if Facter 3.x or later is installed.
78
- This setting is still experimental.',
79
- :hook => proc do |value|
80
- value = munge(value)
81
- if value && Puppet::Util::Package.versioncmp(Facter.value('facterversion'), '4.0.0') < 0
82
- begin
83
- original_facter = Object.const_get(:Facter)
84
- Object.send(:remove_const, :Facter)
85
-
86
- require 'facter-ng'
87
- # It is required to re-setup logger for facter-ng
88
- Puppet::Util::Logging.setup_facter_logging!
89
- rescue LoadError
90
- Object.const_set(:Facter, original_facter)
91
- raise ArgumentError, 'facter-ng could not be loaded'
92
- end
93
- end
94
- end
95
- },
96
89
  :confdir => {
97
90
  :default => nil,
98
91
  :type => :directory,
@@ -219,7 +212,7 @@ module Puppet
219
212
  end
220
213
  },
221
214
  :disable_i18n => {
222
- :default => false,
215
+ :default => true,
223
216
  :type => :boolean,
224
217
  :desc => "If true, turns off all translations of Puppet and module
225
218
  log messages, which affects error, warning, and info log messages,
@@ -264,13 +257,6 @@ module Puppet
264
257
  :type => :boolean,
265
258
  :desc => "Whether to enable experimental performance profiling",
266
259
  },
267
- :future_features => {
268
- :default => false,
269
- :type => :boolean,
270
- :desc => "Whether or not to enable all features currently being developed for future
271
- major releases of Puppet. Should be used with caution, as in development
272
- features are experimental and can have unexpected effects."
273
- },
274
260
  :versioned_environment_dirs => {
275
261
  :default => false,
276
262
  :type => :boolean,
@@ -285,6 +271,11 @@ module Puppet
285
271
  which occurs only on a Puppet Server master when the `code-id-command` and
286
272
  `code-content-command` settings are configured in its `puppetserver.conf` file.",
287
273
  },
274
+ :settings_catalog => {
275
+ :default => true,
276
+ :type => :boolean,
277
+ :desc => "Whether to compile and apply the settings catalog",
278
+ },
288
279
  :strict_environment_mode => {
289
280
  :default => false,
290
281
  :type => :boolean,
@@ -707,9 +698,8 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
707
698
  A value of `0` will disable caching. This setting can also be set to
708
699
  `unlimited`, which will cache environments until the server is restarted
709
700
  or told to refresh the cache. All other values will result in Puppet
710
- server evicting expired environments. The expiration time is computed
711
- based on either when the environment was created or last accessed, see
712
- `environment_timeout_mode`.
701
+ server evicting environments that haven't been used within the last
702
+ `environment_timeout` seconds.
713
703
 
714
704
  You should change this setting once your Puppet deployment is doing
715
705
  non-trivial work. We chose the default value of `0` because it lets new
@@ -722,32 +712,13 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
722
712
  * Setting this to a number that will keep your most actively used
723
713
  environments cached, but allow testing environments to fall out of the
724
714
  cache and reduce memory usage. A value of 3 minutes (3m) is a reasonable
725
- value. This option requires setting `environment_timeout_mode` to
726
- `from_last_used`.
715
+ value.
727
716
 
728
717
  Once you set `environment_timeout` to a non-zero value, you need to tell
729
718
  Puppet server to read new code from disk using the `environment-cache` API
730
719
  endpoint after you deploy new code. See the docs for the Puppet Server
731
720
  [administrative API](https://puppet.com/docs/puppetserver/latest/admin-api/v1/environment-cache.html).
732
- ",
733
- :hook => proc do |val|
734
- if Puppet[:environment_timeout_mode] == :from_created
735
- unless [0, 'unlimited', Float::INFINITY].include?(val)
736
- Puppet.deprecation_warning("Evicting environments based on their creation time is deprecated, please set `environment_timeout_mode` to `from_last_used` instead.")
737
- end
738
- end
739
- end
740
- },
741
- :environment_timeout_mode => {
742
- :default => :from_created,
743
- :type => :symbolic_enum,
744
- :values => [:from_created, :from_last_used],
745
- :desc => "How Puppet interprets the `environment_timeout` setting when
746
- `environment_timeout` is neither `0` nor `unlimited`. If set to
747
- `from_created`, then the environment will be evicted `environment_timeout`
748
- seconds from when it was created. If set to `from_last_used` then the
749
- environment will be evicted `environment_timeout` seconds from when it
750
- was last used."
721
+ "
751
722
  },
752
723
  :environment_data_provider => {
753
724
  :desc => "The name of a registered environment data provider used when obtaining environment
@@ -822,7 +793,7 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
822
793
  `certname` setting as its requested Subject CN.
823
794
 
824
795
  This is the name used when managing a node's permissions in
825
- [auth.conf](https://puppet.com/docs/puppet/latest/config_file_auth.html).
796
+ Puppet Server's [auth.conf](https://puppet.com/docs/puppetserver/latest/config_file_auth.html).
826
797
  In most cases, it is also used as the node's name when matching
827
798
  [node definitions](https://puppet.com/docs/puppet/latest/lang_node_definitions.html)
828
799
  and requesting data from an ENC. (This can be changed with the `node_name_value`
@@ -837,9 +808,9 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
837
808
  only use lowercase letters, numbers, periods, underscores, and dashes. (That is,
838
809
  it should match `/\A[a-z0-9._-]+\Z/`.)
839
810
  * The special value `ca` is reserved, and can't be used as the certname
840
- for a normal node.
811
+ for a normal node.
841
812
 
842
- **Note:** You must set the certname in the main section of the puppet.conf file. Setting it in a different section causes errors.
813
+ **Note:** You must set the certname in the main section of the puppet.conf file. Setting it in a different section causes errors.
843
814
 
844
815
  Defaults to the node's fully qualified domain name.",
845
816
  :call_hook => :on_initialize_and_write,
@@ -972,13 +943,13 @@ EOT
972
943
  Generally unused."
973
944
  },
974
945
  :hostcsr => {
975
- :default => "$ssldir/csr_$certname.pem",
946
+ :default => "$requestdir/$certname.pem",
976
947
  :type => :file,
977
948
  :mode => "0644",
978
949
  :owner => "service",
979
950
  :group => "service",
980
- :deprecated => :completely,
981
- :desc => "This setting is deprecated."
951
+ :desc => "Where individual hosts store their certificate request (CSR)
952
+ while waiting for the CA to issue their certificate."
982
953
  },
983
954
  :hostcert => {
984
955
  :default => "$certdir/$certname.pem",
@@ -1029,29 +1000,6 @@ EOT
1029
1000
  puppet module tool and the 'http' report processor. This setting is ignored when
1030
1001
  making requests to puppet:// URLs such as catalog and report requests.",
1031
1002
  },
1032
- :ssl_client_ca_auth => {
1033
- :type => :file,
1034
- :mode => "0644",
1035
- :owner => "service",
1036
- :group => "service",
1037
- :desc => "Certificate authorities who issue server certificates. SSL servers will not be
1038
- considered authentic unless they possess a certificate issued by an authority
1039
- listed in this file. If this setting has no value then the Puppet master's CA
1040
- certificate (localcacert) will be used.",
1041
- :hook => proc do |val|
1042
- Puppet.deprecation_warning(_("Setting 'ssl_client_ca_auth' is deprecated."))
1043
- end
1044
- },
1045
- :ssl_server_ca_auth => {
1046
- :type => :file,
1047
- :mode => "0644",
1048
- :owner => "service",
1049
- :group => "service",
1050
- :deprecated => :completely,
1051
- :desc => "The setting is deprecated and has no effect. Ensure all root and
1052
- intermediate certificate authorities used to issue client certificates are
1053
- contained in the server's `cacert` file on the server."
1054
- },
1055
1003
  :hostcrl => {
1056
1004
  :default => "$ssldir/crl.pem",
1057
1005
  :type => :file,
@@ -1142,7 +1090,7 @@ EOT
1142
1090
  :desc => "The name to use the Certificate Authority certificate.",
1143
1091
  },
1144
1092
  :cadir => {
1145
- :default => "$ssldir/ca",
1093
+ :default => lambda { default_cadir },
1146
1094
  :type => :directory,
1147
1095
  :desc => "The root directory for the certificate authority.",
1148
1096
  },
@@ -1373,6 +1321,7 @@ EOT
1373
1321
  },
1374
1322
  :masterport => {
1375
1323
  :default => 8140,
1324
+ :type => :port,
1376
1325
  :desc => "The default port puppet subcommands use to communicate
1377
1326
  with Puppet Server. (eg `puppet facts upload`, `puppet agent`). May be
1378
1327
  overridden by more specific settings (see `ca_port`, `report_port`).",
@@ -1381,25 +1330,6 @@ EOT
1381
1330
  :type => :alias,
1382
1331
  :alias_for => :masterport
1383
1332
  },
1384
- :node_name => {
1385
- :default => 'cert',
1386
- :type => :enum,
1387
- :values => ['cert', 'facter'],
1388
- :deprecated => :completely,
1389
- :hook => proc { |val|
1390
- if val != 'cert'
1391
- Puppet.deprecation_warning("The node_name setting is deprecated and will be removed in a future release.")
1392
- end
1393
- },
1394
- :desc => "How the puppet master determines the client's identity
1395
- and sets the 'hostname', 'fqdn' and 'domain' facts for use in the manifest,
1396
- in particular for determining which 'node' statement applies to the client.
1397
- Possible values are 'cert' (use the subject's CN in the client's
1398
- certificate) and 'facter' (use the hostname that the client
1399
- reported in its facts).
1400
-
1401
- This setting is deprecated, please use explicit fact matching for classification.",
1402
- },
1403
1333
  :bucketdir => {
1404
1334
  :default => "$vardir/bucket",
1405
1335
  :type => :directory,
@@ -1408,15 +1338,6 @@ EOT
1408
1338
  :group => "service",
1409
1339
  :desc => "Where FileBucket files are stored."
1410
1340
  },
1411
- :rest_authconfig => {
1412
- :default => "$confdir/auth.conf",
1413
- :type => :file,
1414
- :deprecated => :completely,
1415
- :desc => "The configuration file that defines the rights to the different
1416
- rest indirections. This can be used as a fine-grained authorization system for
1417
- `puppet master`. The `puppet master` command is deprecated and Puppet Server
1418
- uses its own auth.conf that must be placed within its configuration directory.",
1419
- },
1420
1341
  :trusted_oid_mapping_file => {
1421
1342
  :default => "$confdir/custom_trusted_oid_mapping.yaml",
1422
1343
  :type => :file,
@@ -1519,23 +1440,7 @@ EOT
1519
1440
  :default => "$confdir/fileserver.conf",
1520
1441
  :type => :file,
1521
1442
  :desc => "Where the fileserver configuration is stored.",
1522
- },
1523
- :strict_hostname_checking => {
1524
- :default => true,
1525
- :type => :boolean,
1526
- :desc => "Whether to only search for the complete
1527
- hostname as it is in the certificate when searching for node information
1528
- in the catalogs or to match dot delimited segments of the cert's certname
1529
- and the hostname, fqdn, and/or domain facts.
1530
-
1531
- This setting is deprecated and will be removed in a future release.",
1532
- :hook => proc { |val|
1533
- if val != true
1534
- Puppet.deprecation_warning("Setting strict_hostname_checking to false is deprecated and will be removed in a future release. Please use regular expressions in your node declarations or explicit fact matching for classification (though be warned that fact based classification may be considered insecure).")
1535
- end
1536
- }
1537
- }
1538
- )
1443
+ })
1539
1444
 
1540
1445
  settings.define_settings(:device,
1541
1446
  :devicedir => {
@@ -1557,17 +1462,15 @@ EOT
1557
1462
  :default => "$certname",
1558
1463
  :desc => "The explicit value used for the node name for all requests the agent
1559
1464
  makes to the master. WARNING: This setting is mutually exclusive with
1560
- node_name_fact. Changing this setting also requires changes to the default
1561
- auth.conf configuration on the Puppet Master. Please see
1562
- http://links.puppet.com/node_name_value for more information."
1465
+ node_name_fact. Changing this setting also requires changes to
1466
+ Puppet Server's default [auth.conf](https://puppet.com/docs/puppetserver/latest/config_file_auth.html)."
1563
1467
  },
1564
1468
  :node_name_fact => {
1565
1469
  :default => "",
1566
1470
  :desc => "The fact name used to determine the node name used for all requests the agent
1567
1471
  makes to the master. WARNING: This setting is mutually exclusive with
1568
- node_name_value. Changing this setting also requires changes to the default
1569
- auth.conf configuration on the Puppet Master. Please see
1570
- http://links.puppet.com/node_name_fact for more information.",
1472
+ node_name_value. Changing this setting also requires changes to
1473
+ Puppet Server's default [auth.conf](https://puppet.com/docs/puppetserver/latest/config_file_auth.html).",
1571
1474
  :hook => proc do |value|
1572
1475
  if !value.empty? and Puppet[:node_name_value] != Puppet[:certname]
1573
1476
  raise "Cannot specify both the node_name_value and node_name_fact settings"
@@ -1665,8 +1568,8 @@ EOT
1665
1568
  :server_list => {
1666
1569
  :default => [],
1667
1570
  :type => :server_list,
1668
- :desc => "The list of puppet master servers to which the puppet agent should connect,
1669
- in the order that they will be tried.",
1571
+ :desc => "The list of Puppet master servers to which the Puppet agent should connect,
1572
+ in the order that they will be tried. Each value should be a fully qualified domain name, followed by an optional ':' and port number. If a port is omitted, Puppet uses masterport for that host.",
1670
1573
  },
1671
1574
  :use_srv_records => {
1672
1575
  :default => false,
@@ -1742,6 +1645,7 @@ EOT
1742
1645
  },
1743
1646
  :ca_port => {
1744
1647
  :default => "$serverport",
1648
+ :type => :port,
1745
1649
  :desc => "The port to use for the certificate authority.",
1746
1650
  },
1747
1651
  :preferred_serialization_format => {
@@ -1831,6 +1735,7 @@ EOT
1831
1735
  },
1832
1736
  :report_port => {
1833
1737
  :default => "$serverport",
1738
+ :type => :port,
1834
1739
  :desc => "The port to communicate with the report_server.",
1835
1740
  },
1836
1741
  :report => {
@@ -1860,10 +1765,16 @@ EOT
1860
1765
  for the node stored in puppetdb are current. However, this will double the fact
1861
1766
  submission load on puppetdb, so it is disabled by default.",
1862
1767
  },
1768
+ :publicdir => {
1769
+ :default => nil,
1770
+ :type => :directory,
1771
+ :mode => "0755",
1772
+ :desc => "Where Puppet stores public files."
1773
+ },
1863
1774
  :lastrunfile => {
1864
- :default => "$statedir/last_run_summary.yaml",
1775
+ :default => "$publicdir/last_run_summary.yaml",
1865
1776
  :type => :file,
1866
- :mode => "0644",
1777
+ :mode => "0640",
1867
1778
  :desc => "Where puppet agent stores the last run report summary in yaml format."
1868
1779
  },
1869
1780
  :lastrunreport => {
@@ -1943,7 +1854,7 @@ EOT
1943
1854
  :type => :ttl,
1944
1855
  :desc => "The maximum amount of time the puppet agent should wait for an
1945
1856
  already running puppet agent to finish before starting a new one. This is set by default to 1 minute.
1946
- A value of `unlimited` will cause puppet agent to wait indefinitely.
1857
+ A value of `unlimited` will cause puppet agent to wait indefinitely.
1947
1858
  #{AS_DURATION}",
1948
1859
  }
1949
1860
  )
@@ -2000,7 +1911,7 @@ EOT
2000
1911
  :desc => "What files to ignore when pulling down plugins.",
2001
1912
  },
2002
1913
  :ignore_plugin_errors => {
2003
- :default => true,
1914
+ :default => false,
2004
1915
  :type => :boolean,
2005
1916
  :desc => "Whether the puppet run should ignore errors during pluginsync. If the setting
2006
1917
  is false and there are errors during pluginsync, then the agent will abort the run and
@@ -2215,22 +2126,6 @@ EOT
2215
2126
  referencing variables that are explicitly set to undef).
2216
2127
  EOT
2217
2128
  },
2218
- :func3x_check => {
2219
- :default => true,
2220
- :type => :boolean,
2221
- :desc => <<-'EOT',
2222
- Causes validation of loaded legacy Ruby functions (3x API) to raise errors about illegal constructs that
2223
- could cause harm or that simply does not work. This flag is on by default. This flag is made available
2224
- so that the validation can be turned off in case the method of validation is faulty - if encountered, please
2225
- file a bug report.
2226
- EOT
2227
- :call_hook => :on_initialize_and_write,
2228
- :hook => proc do |value|
2229
- unless value
2230
- Puppet.deprecation_warning(_("The 'func3x_check' setting is deprecated and will be removed in a future release."))
2231
- end
2232
- end
2233
- },
2234
2129
  :tasks => {
2235
2130
  :default => false,
2236
2131
  :type => :boolean,