puppet 6.19.1-universal-darwin → 7.0.0-universal-darwin

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 -176
  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
@@ -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.
@@ -186,8 +190,8 @@ EXAMPLES
186
190
  $ puppet filebucket -b /tmp/TestBucket list
187
191
  d41d8cd98f00b204e9800998ecf8427e 2015-05-11 09:33:22 /tmp/TestFile2
188
192
 
189
- ## From a Puppet master, list files in the master bucketdir
190
- $ puppet filebucket -b $(puppet config print bucketdir --section master) list
193
+ ## From a Puppet Server, list files in the server bucketdir
194
+ $ puppet filebucket -b $(puppet config print bucketdir --section server) list
191
195
  d43a6ecaa892a1962398ac9170ea9bf2 2015-05-11 09:27:56 /tmp/TestFile
192
196
  7ae322f5791217e031dc60188f4521ef 2015-05-11 09:52:15 /tmp/TestFile
193
197
 
@@ -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,44 +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
- begin
227
- if server.nil?
228
- raise Puppet::Error, _("Could not select a functional puppet server from server_list: '%{server_list}'") % { server_list: Puppet.settings.value(:server_list, Puppet[:environment].to_sym, true) }
229
- else
230
- #TRANSLATORS 'server_list' is the name of a setting and should not be translated
231
- Puppet.debug _("Selected puppet server from the `server_list` setting: %{server}:%{port}") % { server: server, port: port }
232
- report.server_used = "#{server}:#{port}"
233
- end
234
- rescue Puppet::Error => detail
235
- if Puppet[:usecacheonfailure]
236
- options[:pluginsync] = false
237
- @running_failure = true
238
- if server.nil?
239
- server = Puppet[:server_list].first[0]
240
- port = Puppet[:server_list].first[1] || Puppet[:serverport]
241
- end
242
- Puppet.log_exception(detail)
243
- else
244
- raise detail
245
- end
246
- end
247
- Puppet.override(server: server, serverport: port) do
248
- completed = run_internal(options)
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)
234
+ else
235
+ raise Puppet::Error, detail
249
236
  end
250
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
251
243
  completed = run_internal(options)
252
244
  end
245
+ else
246
+ completed = run_internal(options)
253
247
  end
254
248
  ensure
255
- pool.close
249
+ # we may sleep for awhile, close connections now
250
+ Puppet.runtime[:http].close
256
251
  end
257
252
 
258
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,60 @@ 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.log_ca_migration_warning
36
+ urge_to_migrate = <<-UTM
37
+ The cadir is currently configured to be inside the #{Puppet[:ssldir]} directory. This config
38
+ setting and the directory location will not be used in a future version of puppet. Please run the
39
+ puppetserver ca tool to migrate out from the puppet confdir to the /etc/puppetlabs/puppetserver/ca
40
+ directory. Use `puppetserver ca migrate --help` for more info.
41
+ UTM
42
+ Puppet.warn_once('deprecations',
43
+ 'CA migration message',
44
+ urge_to_migrate,
45
+ :default,
46
+ :default)
47
+ end
48
+
49
+ def self.default_cadir
50
+ return "" if Puppet::Util::Platform.windows?
51
+ old_ca_dir = "#{Puppet[:ssldir]}/ca"
52
+ new_ca_dir = "/etc/puppetlabs/puppetserver/ca"
53
+
54
+ if File.exist?(old_ca_dir)
55
+ if File.symlink?(old_ca_dir)
56
+ target = File.readlink(old_ca_dir)
57
+ if target.start_with?(Puppet[:ssldir])
58
+ Puppet.log_ca_migration_warning
59
+ end
60
+ target
61
+ else
62
+ Puppet.log_ca_migration_warning
63
+ old_ca_dir
64
+ end
65
+ else
66
+ new_ca_dir
67
+ end
33
68
  end
34
69
 
35
70
  def self.default_basemodulepath
@@ -70,28 +105,6 @@ module Puppet
70
105
  # @return void
71
106
  def self.initialize_default_settings!(settings)
72
107
  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
- if value
81
- begin
82
- original_facter = Object.const_get(:Facter)
83
- Object.send(:remove_const, :Facter)
84
-
85
- require 'facter-ng'
86
- # It is required to re-setup logger for facter-ng
87
- Puppet::Util::Logging.setup_facter_logging!
88
- rescue LoadError
89
- Object.const_set(:Facter, original_facter)
90
- raise ArgumentError, 'facter-ng could not be loaded'
91
- end
92
- end
93
- end
94
- },
95
108
  :confdir => {
96
109
  :default => nil,
97
110
  :type => :directory,
@@ -218,7 +231,7 @@ module Puppet
218
231
  end
219
232
  },
220
233
  :disable_i18n => {
221
- :default => false,
234
+ :default => true,
222
235
  :type => :boolean,
223
236
  :desc => "If true, turns off all translations of Puppet and module
224
237
  log messages, which affects error, warning, and info log messages,
@@ -263,13 +276,6 @@ module Puppet
263
276
  :type => :boolean,
264
277
  :desc => "Whether to enable experimental performance profiling",
265
278
  },
266
- :future_features => {
267
- :default => false,
268
- :type => :boolean,
269
- :desc => "Whether or not to enable all features currently being developed for future
270
- major releases of Puppet. Should be used with caution, as in development
271
- features are experimental and can have unexpected effects."
272
- },
273
279
  :versioned_environment_dirs => {
274
280
  :default => false,
275
281
  :type => :boolean,
@@ -284,6 +290,11 @@ module Puppet
284
290
  which occurs only on a Puppet Server master when the `code-id-command` and
285
291
  `code-content-command` settings are configured in its `puppetserver.conf` file.",
286
292
  },
293
+ :settings_catalog => {
294
+ :default => true,
295
+ :type => :boolean,
296
+ :desc => "Whether to compile and apply the settings catalog",
297
+ },
287
298
  :strict_environment_mode => {
288
299
  :default => false,
289
300
  :type => :boolean,
@@ -632,7 +643,7 @@ module Puppet
632
643
  :http_proxy_password =>{
633
644
  :default => "none",
634
645
  :hook => proc do |value|
635
- if settings[:http_proxy_password] =~ /[@!# \/]/
646
+ if value =~ /[@!# \/]/
636
647
  raise "Passwords set in the http_proxy_password setting must be valid as part of a URL, and any reserved characters must be URL-encoded. We received: #{value}"
637
648
  end
638
649
  end,
@@ -706,9 +717,8 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
706
717
  A value of `0` will disable caching. This setting can also be set to
707
718
  `unlimited`, which will cache environments until the server is restarted
708
719
  or told to refresh the cache. All other values will result in Puppet
709
- server evicting expired environments. The expiration time is computed
710
- based on either when the environment was created or last accessed, see
711
- `environment_timeout_mode`.
720
+ server evicting environments that haven't been used within the last
721
+ `environment_timeout` seconds.
712
722
 
713
723
  You should change this setting once your Puppet deployment is doing
714
724
  non-trivial work. We chose the default value of `0` because it lets new
@@ -721,32 +731,13 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
721
731
  * Setting this to a number that will keep your most actively used
722
732
  environments cached, but allow testing environments to fall out of the
723
733
  cache and reduce memory usage. A value of 3 minutes (3m) is a reasonable
724
- value. This option requires setting `environment_timeout_mode` to
725
- `from_last_used`.
734
+ value.
726
735
 
727
736
  Once you set `environment_timeout` to a non-zero value, you need to tell
728
737
  Puppet server to read new code from disk using the `environment-cache` API
729
738
  endpoint after you deploy new code. See the docs for the Puppet Server
730
739
  [administrative API](https://puppet.com/docs/puppetserver/latest/admin-api/v1/environment-cache.html).
731
- ",
732
- :hook => proc do |val|
733
- if Puppet[:environment_timeout_mode] == :from_created
734
- unless [0, 'unlimited', Float::INFINITY].include?(val)
735
- Puppet.deprecation_warning("Evicting environments based on their creation time is deprecated, please set `environment_timeout_mode` to `from_last_used` instead.")
736
- end
737
- end
738
- end
739
- },
740
- :environment_timeout_mode => {
741
- :default => :from_created,
742
- :type => :symbolic_enum,
743
- :values => [:from_created, :from_last_used],
744
- :desc => "How Puppet interprets the `environment_timeout` setting when
745
- `environment_timeout` is neither `0` nor `unlimited`. If set to
746
- `from_created`, then the environment will be evicted `environment_timeout`
747
- seconds from when it was created. If set to `from_last_used` then the
748
- environment will be evicted `environment_timeout` seconds from when it
749
- was last used."
740
+ "
750
741
  },
751
742
  :environment_data_provider => {
752
743
  :desc => "The name of a registered environment data provider used when obtaining environment
@@ -821,7 +812,7 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
821
812
  `certname` setting as its requested Subject CN.
822
813
 
823
814
  This is the name used when managing a node's permissions in
824
- [auth.conf](https://puppet.com/docs/puppet/latest/config_file_auth.html).
815
+ Puppet Server's [auth.conf](https://puppet.com/docs/puppetserver/latest/config_file_auth.html).
825
816
  In most cases, it is also used as the node's name when matching
826
817
  [node definitions](https://puppet.com/docs/puppet/latest/lang_node_definitions.html)
827
818
  and requesting data from an ENC. (This can be changed with the `node_name_value`
@@ -836,12 +827,15 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
836
827
  only use lowercase letters, numbers, periods, underscores, and dashes. (That is,
837
828
  it should match `/\A[a-z0-9._-]+\Z/`.)
838
829
  * The special value `ca` is reserved, and can't be used as the certname
839
- for a normal node.
830
+ for a normal node.
840
831
 
841
- **Note:** You must set the certname in the main section of the puppet.conf file. Setting it in a different section causes errors.
832
+ **Note:** You must set the certname in the main section of the puppet.conf file. Setting it in a different section causes errors.
842
833
 
843
834
  Defaults to the node's fully qualified domain name.",
844
- :hook => proc { |value| raise(ArgumentError, _("Certificate names must be lower case")) unless value == value.downcase }},
835
+ :call_hook => :on_initialize_and_write,
836
+ :hook => proc { |value|
837
+ raise(ArgumentError, _("Certificate names must be lower case")) unless value == value.downcase
838
+ }},
845
839
  :dns_alt_names => {
846
840
  :default => '',
847
841
  :desc => <<EOT,
@@ -968,13 +962,13 @@ EOT
968
962
  Generally unused."
969
963
  },
970
964
  :hostcsr => {
971
- :default => "$ssldir/csr_$certname.pem",
965
+ :default => "$requestdir/$certname.pem",
972
966
  :type => :file,
973
967
  :mode => "0644",
974
968
  :owner => "service",
975
969
  :group => "service",
976
- :deprecated => :completely,
977
- :desc => "This setting is deprecated."
970
+ :desc => "Where individual hosts store their certificate request (CSR)
971
+ while waiting for the CA to issue their certificate."
978
972
  },
979
973
  :hostcert => {
980
974
  :default => "$certdir/$certname.pem",
@@ -1025,29 +1019,6 @@ EOT
1025
1019
  puppet module tool and the 'http' report processor. This setting is ignored when
1026
1020
  making requests to puppet:// URLs such as catalog and report requests.",
1027
1021
  },
1028
- :ssl_client_ca_auth => {
1029
- :type => :file,
1030
- :mode => "0644",
1031
- :owner => "service",
1032
- :group => "service",
1033
- :desc => "Certificate authorities who issue server certificates. SSL servers will not be
1034
- considered authentic unless they possess a certificate issued by an authority
1035
- listed in this file. If this setting has no value then the Puppet master's CA
1036
- certificate (localcacert) will be used.",
1037
- :hook => proc do |val|
1038
- Puppet.deprecation_warning(_("Setting 'ssl_client_ca_auth' is deprecated."))
1039
- end
1040
- },
1041
- :ssl_server_ca_auth => {
1042
- :type => :file,
1043
- :mode => "0644",
1044
- :owner => "service",
1045
- :group => "service",
1046
- :deprecated => :completely,
1047
- :desc => "The setting is deprecated and has no effect. Ensure all root and
1048
- intermediate certificate authorities used to issue client certificates are
1049
- contained in the server's `cacert` file on the server."
1050
- },
1051
1022
  :hostcrl => {
1052
1023
  :default => "$ssldir/crl.pem",
1053
1024
  :type => :file,
@@ -1138,9 +1109,16 @@ EOT
1138
1109
  :desc => "The name to use the Certificate Authority certificate.",
1139
1110
  },
1140
1111
  :cadir => {
1141
- :default => "$ssldir/ca",
1112
+ :default => lambda { default_cadir },
1142
1113
  :type => :directory,
1143
1114
  :desc => "The root directory for the certificate authority.",
1115
+ :call_hook => :on_initialize_and_write,
1116
+ :hook => proc do |value|
1117
+ if value.start_with?(Puppet[:ssldir])
1118
+ Puppet.log_ca_migration_warning
1119
+ end
1120
+ value
1121
+ end
1144
1122
  },
1145
1123
  :cacert => {
1146
1124
  :default => "$cadir/ca_crt.pem",
@@ -1369,6 +1347,7 @@ EOT
1369
1347
  },
1370
1348
  :serverport => {
1371
1349
  :default => 8140,
1350
+ :type => :port,
1372
1351
  :desc => "The default port puppet subcommands use to communicate
1373
1352
  with Puppet Server. (eg `puppet facts upload`, `puppet agent`). May be
1374
1353
  overridden by more specific settings (see `ca_port`, `report_port`).",
@@ -1377,7 +1356,8 @@ EOT
1377
1356
  end
1378
1357
  },
1379
1358
  :masterport => {
1380
- :default => 8140,
1359
+ :default => "$serverport",
1360
+ :type => :port,
1381
1361
  :desc => "The default port puppet subcommands use to communicate
1382
1362
  with Puppet Server. (eg `puppet facts upload`, `puppet agent`). May be
1383
1363
  overridden by more specific settings (see `ca_port`, `report_port`).",
@@ -1385,25 +1365,6 @@ EOT
1385
1365
  Puppet[:serverport] = value unless Puppet.settings.set_by_config?(:serverport)
1386
1366
  end
1387
1367
  },
1388
- :node_name => {
1389
- :default => 'cert',
1390
- :type => :enum,
1391
- :values => ['cert', 'facter'],
1392
- :deprecated => :completely,
1393
- :hook => proc { |val|
1394
- if val != 'cert'
1395
- Puppet.deprecation_warning("The node_name setting is deprecated and will be removed in a future release.")
1396
- end
1397
- },
1398
- :desc => "How the puppet master determines the client's identity
1399
- and sets the 'hostname', 'fqdn' and 'domain' facts for use in the manifest,
1400
- in particular for determining which 'node' statement applies to the client.
1401
- Possible values are 'cert' (use the subject's CN in the client's
1402
- certificate) and 'facter' (use the hostname that the client
1403
- reported in its facts).
1404
-
1405
- This setting is deprecated, please use explicit fact matching for classification.",
1406
- },
1407
1368
  :bucketdir => {
1408
1369
  :default => "$vardir/bucket",
1409
1370
  :type => :directory,
@@ -1412,15 +1373,6 @@ EOT
1412
1373
  :group => "service",
1413
1374
  :desc => "Where FileBucket files are stored."
1414
1375
  },
1415
- :rest_authconfig => {
1416
- :default => "$confdir/auth.conf",
1417
- :type => :file,
1418
- :deprecated => :completely,
1419
- :desc => "The configuration file that defines the rights to the different
1420
- rest indirections. This can be used as a fine-grained authorization system for
1421
- `puppet master`. The `puppet master` command is deprecated and Puppet Server
1422
- uses its own auth.conf that must be placed within its configuration directory.",
1423
- },
1424
1376
  :trusted_oid_mapping_file => {
1425
1377
  :default => "$confdir/custom_trusted_oid_mapping.yaml",
1426
1378
  :type => :file,
@@ -1523,23 +1475,7 @@ EOT
1523
1475
  :default => "$confdir/fileserver.conf",
1524
1476
  :type => :file,
1525
1477
  :desc => "Where the fileserver configuration is stored.",
1526
- },
1527
- :strict_hostname_checking => {
1528
- :default => true,
1529
- :type => :boolean,
1530
- :desc => "Whether to only search for the complete
1531
- hostname as it is in the certificate when searching for node information
1532
- in the catalogs or to match dot delimited segments of the cert's certname
1533
- and the hostname, fqdn, and/or domain facts.
1534
-
1535
- This setting is deprecated and will be removed in a future release.",
1536
- :hook => proc { |val|
1537
- if val != true
1538
- 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).")
1539
- end
1540
- }
1541
- }
1542
- )
1478
+ })
1543
1479
 
1544
1480
  settings.define_settings(:device,
1545
1481
  :devicedir => {
@@ -1561,17 +1497,15 @@ EOT
1561
1497
  :default => "$certname",
1562
1498
  :desc => "The explicit value used for the node name for all requests the agent
1563
1499
  makes to the master. WARNING: This setting is mutually exclusive with
1564
- node_name_fact. Changing this setting also requires changes to the default
1565
- auth.conf configuration on the Puppet Master. Please see
1566
- http://links.puppet.com/node_name_value for more information."
1500
+ node_name_fact. Changing this setting also requires changes to
1501
+ Puppet Server's default [auth.conf](https://puppet.com/docs/puppetserver/latest/config_file_auth.html)."
1567
1502
  },
1568
1503
  :node_name_fact => {
1569
1504
  :default => "",
1570
1505
  :desc => "The fact name used to determine the node name used for all requests the agent
1571
1506
  makes to the master. WARNING: This setting is mutually exclusive with
1572
- node_name_value. Changing this setting also requires changes to the default
1573
- auth.conf configuration on the Puppet Master. Please see
1574
- http://links.puppet.com/node_name_fact for more information.",
1507
+ node_name_value. Changing this setting also requires changes to
1508
+ Puppet Server's default [auth.conf](https://puppet.com/docs/puppetserver/latest/config_file_auth.html).",
1575
1509
  :hook => proc do |value|
1576
1510
  if !value.empty? and Puppet[:node_name_value] != Puppet[:certname]
1577
1511
  raise "Cannot specify both the node_name_value and node_name_fact settings"
@@ -1669,8 +1603,8 @@ EOT
1669
1603
  :server_list => {
1670
1604
  :default => [],
1671
1605
  :type => :server_list,
1672
- :desc => "The list of puppet master servers to which the puppet agent should connect,
1673
- in the order that they will be tried.",
1606
+ :desc => "The list of Puppet master servers to which the Puppet agent should connect,
1607
+ 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.",
1674
1608
  },
1675
1609
  :use_srv_records => {
1676
1610
  :default => false,
@@ -1746,6 +1680,7 @@ EOT
1746
1680
  },
1747
1681
  :ca_port => {
1748
1682
  :default => "$serverport",
1683
+ :type => :port,
1749
1684
  :desc => "The port to use for the certificate authority.",
1750
1685
  },
1751
1686
  :preferred_serialization_format => {
@@ -1835,6 +1770,7 @@ EOT
1835
1770
  },
1836
1771
  :report_port => {
1837
1772
  :default => "$serverport",
1773
+ :type => :port,
1838
1774
  :desc => "The port to communicate with the report_server.",
1839
1775
  },
1840
1776
  :report => {
@@ -1864,17 +1800,27 @@ EOT
1864
1800
  for the node stored in puppetdb are current. However, this will double the fact
1865
1801
  submission load on puppetdb, so it is disabled by default.",
1866
1802
  },
1803
+ :publicdir => {
1804
+ :default => nil,
1805
+ :type => :directory,
1806
+ :mode => "0755",
1807
+ :desc => "Where Puppet stores public files."
1808
+ },
1867
1809
  :lastrunfile => {
1868
- :default => "$statedir/last_run_summary.yaml",
1810
+ :default => "$publicdir/last_run_summary.yaml",
1869
1811
  :type => :file,
1870
- :mode => "0644",
1812
+ :mode => "0640",
1871
1813
  :desc => "Where puppet agent stores the last run report summary in yaml format."
1872
1814
  },
1873
1815
  :lastrunreport => {
1874
1816
  :default => "$statedir/last_run_report.yaml",
1875
1817
  :type => :file,
1876
1818
  :mode => "0640",
1877
- :desc => "Where puppet agent stores the last run report in yaml format."
1819
+ :desc => "Where Puppet Agent stores the last run report, by default, in yaml format.
1820
+ The format of the report can be changed by setting the `cache` key of the `report` terminus
1821
+ in the [routes.yaml](https://puppet.com/docs/puppet/latest/config_file_routes.html) file.
1822
+ To avoid mismatches between content and file extension, this setting needs to be
1823
+ manually updated to reflect the terminus changes."
1878
1824
  },
1879
1825
  :graph => {
1880
1826
  :default => false,
@@ -1943,7 +1889,7 @@ EOT
1943
1889
  :type => :ttl,
1944
1890
  :desc => "The maximum amount of time the puppet agent should wait for an
1945
1891
  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.
1892
+ A value of `unlimited` will cause puppet agent to wait indefinitely.
1947
1893
  #{AS_DURATION}",
1948
1894
  }
1949
1895
  )
@@ -2000,7 +1946,7 @@ EOT
2000
1946
  :desc => "What files to ignore when pulling down plugins.",
2001
1947
  },
2002
1948
  :ignore_plugin_errors => {
2003
- :default => true,
1949
+ :default => false,
2004
1950
  :type => :boolean,
2005
1951
  :desc => "Whether the puppet run should ignore errors during pluginsync. If the setting
2006
1952
  is false and there are errors during pluginsync, then the agent will abort the run and
@@ -2215,16 +2161,6 @@ EOT
2215
2161
  referencing variables that are explicitly set to undef).
2216
2162
  EOT
2217
2163
  },
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
- },
2228
2164
  :tasks => {
2229
2165
  :default => false,
2230
2166
  :type => :boolean,