puppet 6.29.0 → 7.0.0

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 (811) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +16 -2
  3. data/CONTRIBUTING.md +5 -5
  4. data/Gemfile +5 -7
  5. data/Gemfile.lock +52 -143
  6. data/README.md +5 -5
  7. data/conf/fileserver.conf +5 -10
  8. data/ext/README.environment +8 -0
  9. data/ext/build_defaults.yaml +1 -1
  10. data/ext/dbfix.sql +132 -0
  11. data/ext/debian/README.Debian +8 -0
  12. data/ext/debian/README.source +2 -0
  13. data/ext/debian/TODO.Debian +1 -0
  14. data/ext/debian/changelog.erb +1122 -0
  15. data/ext/debian/compat +1 -0
  16. data/ext/debian/control +144 -0
  17. data/ext/debian/copyright +339 -0
  18. data/ext/debian/docs +1 -0
  19. data/ext/debian/fileserver.conf +41 -0
  20. data/ext/debian/puppet-common.dirs +13 -0
  21. data/ext/debian/puppet-common.install +3 -0
  22. data/ext/debian/puppet-common.lintian-overrides +5 -0
  23. data/ext/debian/puppet-common.manpages +28 -0
  24. data/ext/debian/puppet-common.postinst +35 -0
  25. data/ext/debian/puppet-common.postrm +33 -0
  26. data/ext/debian/puppet-el.dirs +1 -0
  27. data/ext/debian/puppet-el.emacsen-install +25 -0
  28. data/ext/debian/puppet-el.emacsen-remove +11 -0
  29. data/ext/debian/puppet-el.emacsen-startup +9 -0
  30. data/ext/debian/puppet-el.install +1 -0
  31. data/ext/debian/puppet-testsuite.install +2 -0
  32. data/ext/debian/puppet-testsuite.lintian-overrides +4 -0
  33. data/ext/debian/puppet.lintian-overrides +3 -0
  34. data/ext/debian/puppet.logrotate +20 -0
  35. data/ext/debian/puppet.postinst +20 -0
  36. data/ext/debian/puppet.postrm +20 -0
  37. data/ext/debian/puppet.preinst +20 -0
  38. data/ext/debian/puppetmaster-common.install +2 -0
  39. data/ext/debian/puppetmaster-common.manpages +2 -0
  40. data/ext/debian/puppetmaster-common.postinst +6 -0
  41. data/ext/debian/puppetmaster-passenger.dirs +4 -0
  42. data/ext/debian/puppetmaster-passenger.postinst +162 -0
  43. data/ext/debian/puppetmaster-passenger.postrm +61 -0
  44. data/ext/debian/puppetmaster.README.debian +17 -0
  45. data/ext/debian/puppetmaster.default +14 -0
  46. data/ext/debian/puppetmaster.init +137 -0
  47. data/ext/debian/puppetmaster.lintian-overrides +3 -0
  48. data/ext/debian/puppetmaster.postinst +20 -0
  49. data/ext/debian/puppetmaster.postrm +5 -0
  50. data/ext/debian/puppetmaster.preinst +22 -0
  51. data/ext/debian/rules +132 -0
  52. data/ext/debian/source/format +1 -0
  53. data/ext/debian/source/options +1 -0
  54. data/ext/debian/vim-puppet.README.Debian +13 -0
  55. data/ext/debian/vim-puppet.dirs +5 -0
  56. data/ext/debian/vim-puppet.yaml +7 -0
  57. data/ext/debian/watch +2 -0
  58. data/ext/freebsd/puppetd +26 -0
  59. data/ext/freebsd/puppetmasterd +26 -0
  60. data/ext/gentoo/conf.d/puppet +5 -0
  61. data/ext/gentoo/conf.d/puppetmaster +12 -0
  62. data/ext/gentoo/init.d/puppet +38 -0
  63. data/ext/gentoo/init.d/puppetmaster +51 -0
  64. data/ext/gentoo/puppet/fileserver.conf +41 -0
  65. data/ext/ips/puppet-agent +44 -0
  66. data/ext/ips/puppet-master +44 -0
  67. data/ext/ips/puppet.p5m.erb +12 -0
  68. data/ext/ips/puppetagent.xml +42 -0
  69. data/ext/ips/puppetmaster.xml +42 -0
  70. data/ext/ips/rules +19 -0
  71. data/ext/ips/transforms +34 -0
  72. data/ext/ldap/puppet.schema +24 -0
  73. data/ext/logcheck/puppet +23 -0
  74. data/{examples → ext}/nagios/check_puppet.rb +2 -2
  75. data/ext/osx/file_mapping.yaml +28 -0
  76. data/ext/osx/postflight.erb +109 -0
  77. data/ext/osx/preflight.erb +52 -0
  78. data/ext/osx/prototype.plist.erb +38 -0
  79. data/ext/osx/puppet.plist +0 -2
  80. data/ext/project_data.yaml +2 -16
  81. data/ext/redhat/fileserver.conf +41 -0
  82. data/ext/redhat/logrotate +21 -0
  83. data/ext/redhat/puppet.spec.erb +841 -0
  84. data/ext/redhat/server.init +128 -0
  85. data/ext/redhat/server.sysconfig +13 -0
  86. data/{examples/enc → ext}/regexp_nodes/classes/databases +0 -0
  87. data/{examples/enc → ext}/regexp_nodes/classes/webservers +0 -0
  88. data/{examples/enc → ext}/regexp_nodes/environment/development +0 -0
  89. data/{examples/enc → ext}/regexp_nodes/parameters/service/prod +0 -0
  90. data/{examples/enc → ext}/regexp_nodes/parameters/service/qa +0 -0
  91. data/{examples/enc → ext}/regexp_nodes/parameters/service/sandbox +0 -0
  92. data/{examples/enc → ext}/regexp_nodes/regexp_nodes.rb +0 -0
  93. data/ext/solaris/pkginfo +6 -0
  94. data/ext/solaris/smf/puppetd.xml +77 -0
  95. data/ext/solaris/smf/puppetmasterd.xml +77 -0
  96. data/ext/solaris/smf/svc-puppetd +71 -0
  97. data/ext/solaris/smf/svc-puppetmasterd +67 -0
  98. data/ext/suse/puppet.spec +310 -0
  99. data/ext/suse/server.init +173 -0
  100. data/ext/windows/service/daemon.rb +6 -5
  101. data/ext/yaml_nodes.rb +105 -0
  102. data/install.rb +21 -17
  103. data/lib/puppet/agent.rb +11 -47
  104. data/lib/puppet/application/agent.rb +16 -18
  105. data/lib/puppet/application/apply.rb +4 -24
  106. data/lib/puppet/application/device.rb +100 -106
  107. data/lib/puppet/application/filebucket.rb +13 -10
  108. data/lib/puppet/application/lookup.rb +24 -74
  109. data/lib/puppet/application/resource.rb +16 -32
  110. data/lib/puppet/application/script.rb +0 -2
  111. data/lib/puppet/application/ssl.rb +1 -13
  112. data/lib/puppet/application.rb +178 -108
  113. data/lib/puppet/application_support.rb +0 -7
  114. data/lib/puppet/concurrent/thread_local_singleton.rb +3 -6
  115. data/lib/puppet/configurer/downloader.rb +1 -2
  116. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  117. data/lib/puppet/configurer.rb +86 -183
  118. data/lib/puppet/confine/variable.rb +1 -1
  119. data/lib/puppet/defaults.rb +130 -244
  120. data/lib/puppet/environments.rb +82 -146
  121. data/lib/puppet/face/facts.rb +5 -103
  122. data/lib/puppet/face/generate.rb +0 -2
  123. data/lib/puppet/face/help/action.erb +0 -1
  124. data/lib/puppet/face/help/face.erb +0 -1
  125. data/lib/puppet/face/help.rb +1 -1
  126. data/lib/puppet/face/node/clean.rb +0 -11
  127. data/lib/puppet/face/plugin.rb +5 -8
  128. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  129. data/lib/puppet/ffi/windows/constants.rb +404 -0
  130. data/lib/puppet/ffi/windows/functions.rb +628 -0
  131. data/lib/puppet/ffi/windows/structs.rb +338 -0
  132. data/lib/puppet/ffi/windows.rb +12 -0
  133. data/lib/puppet/file_serving/configuration/parser.rb +3 -34
  134. data/lib/puppet/file_serving/configuration.rb +0 -8
  135. data/lib/puppet/file_serving/fileset.rb +2 -14
  136. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  137. data/lib/puppet/file_serving/metadata.rb +0 -3
  138. data/lib/puppet/file_serving/mount/file.rb +4 -4
  139. data/lib/puppet/file_serving/mount.rb +1 -2
  140. data/lib/puppet/file_system/file_impl.rb +8 -10
  141. data/lib/puppet/file_system/jruby.rb +1 -1
  142. data/lib/puppet/file_system/memory_file.rb +1 -8
  143. data/lib/puppet/file_system/windows.rb +6 -8
  144. data/lib/puppet/file_system.rb +1 -1
  145. data/lib/puppet/forge/repository.rb +0 -1
  146. data/lib/puppet/forge.rb +4 -4
  147. data/lib/puppet/functions/all.rb +1 -1
  148. data/lib/puppet/functions/camelcase.rb +1 -1
  149. data/lib/puppet/functions/capitalize.rb +2 -2
  150. data/lib/puppet/functions/downcase.rb +2 -2
  151. data/lib/puppet/functions/empty.rb +0 -8
  152. data/lib/puppet/functions/find_template.rb +2 -2
  153. data/lib/puppet/functions/get.rb +5 -5
  154. data/lib/puppet/functions/group_by.rb +5 -13
  155. data/lib/puppet/functions/lest.rb +1 -1
  156. data/lib/puppet/functions/new.rb +100 -100
  157. data/lib/puppet/functions/next.rb +1 -18
  158. data/lib/puppet/functions/partition.rb +4 -12
  159. data/lib/puppet/functions/require.rb +5 -5
  160. data/lib/puppet/functions/sort.rb +3 -3
  161. data/lib/puppet/functions/strftime.rb +0 -1
  162. data/lib/puppet/functions/tree_each.rb +10 -7
  163. data/lib/puppet/functions/type.rb +4 -4
  164. data/lib/puppet/functions/unwrap.rb +2 -17
  165. data/lib/puppet/functions/upcase.rb +2 -2
  166. data/lib/puppet/functions/versioncmp.rb +2 -6
  167. data/lib/puppet/generate/models/type/type.rb +4 -1
  168. data/lib/puppet/generate/type.rb +0 -9
  169. data/lib/puppet/http/client.rb +167 -137
  170. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  171. data/lib/puppet/http/errors.rb +16 -0
  172. data/lib/puppet/http/external_client.rb +5 -7
  173. data/lib/puppet/{network/http → http}/factory.rb +8 -15
  174. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  175. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  176. data/lib/puppet/http/proxy.rb +137 -0
  177. data/lib/puppet/http/redirector.rb +4 -17
  178. data/lib/puppet/http/resolver/server_list.rb +10 -25
  179. data/lib/puppet/http/resolver/settings.rb +4 -7
  180. data/lib/puppet/http/resolver/srv.rb +7 -11
  181. data/lib/puppet/http/resolver.rb +5 -15
  182. data/lib/puppet/http/response.rb +36 -54
  183. data/lib/puppet/http/response_converter.rb +24 -0
  184. data/lib/puppet/http/response_net_http.rb +42 -0
  185. data/lib/puppet/http/retry_after_handler.rb +4 -13
  186. data/lib/puppet/http/service/ca.rb +11 -22
  187. data/lib/puppet/http/service/compiler.rb +23 -144
  188. data/lib/puppet/http/service/file_server.rb +19 -29
  189. data/lib/puppet/http/service/puppetserver.rb +26 -12
  190. data/lib/puppet/http/service/report.rb +8 -10
  191. data/lib/puppet/http/service.rb +12 -26
  192. data/lib/puppet/http/session.rb +11 -20
  193. data/lib/puppet/{network/http → http}/site.rb +1 -2
  194. data/lib/puppet/http.rb +22 -13
  195. data/lib/puppet/indirector/catalog/compiler.rb +6 -25
  196. data/lib/puppet/indirector/catalog/rest.rb +2 -5
  197. data/lib/puppet/indirector/facts/facter.rb +6 -6
  198. data/lib/puppet/indirector/facts/rest.rb +3 -22
  199. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  200. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  201. data/lib/puppet/indirector/file_metadata/rest.rb +3 -10
  202. data/lib/puppet/indirector/file_server.rb +1 -8
  203. data/lib/puppet/indirector/generic_http.rb +0 -11
  204. data/lib/puppet/indirector/indirection.rb +1 -1
  205. data/lib/puppet/indirector/node/rest.rb +2 -4
  206. data/lib/puppet/indirector/report/rest.rb +3 -8
  207. data/lib/puppet/indirector/request.rb +0 -101
  208. data/lib/puppet/indirector/resource/ral.rb +1 -6
  209. data/lib/puppet/indirector/rest.rb +12 -263
  210. data/lib/puppet/indirector/terminus.rb +0 -4
  211. data/lib/puppet/interface/documentation.rb +0 -1
  212. data/lib/puppet/module/plan.rb +1 -0
  213. data/lib/puppet/module/task.rb +1 -1
  214. data/lib/puppet/module.rb +0 -1
  215. data/lib/puppet/module_tool/applications/installer.rb +2 -56
  216. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
  217. data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
  218. data/lib/puppet/module_tool/applications.rb +0 -1
  219. data/lib/puppet/module_tool/errors/shared.rb +2 -34
  220. data/lib/puppet/network/authconfig.rb +2 -96
  221. data/lib/puppet/network/authorization.rb +13 -35
  222. data/lib/puppet/network/formats.rb +0 -67
  223. data/lib/puppet/network/http/api/indirected_routes.rb +3 -21
  224. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  225. data/lib/puppet/network/http/connection.rb +247 -316
  226. data/lib/puppet/network/http/handler.rb +0 -1
  227. data/lib/puppet/network/http.rb +3 -3
  228. data/lib/puppet/network/http_pool.rb +16 -34
  229. data/lib/puppet/node/environment.rb +11 -10
  230. data/lib/puppet/node.rb +2 -31
  231. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  232. data/lib/puppet/pal/pal_impl.rb +4 -2
  233. data/lib/puppet/parser/ast/leaf.rb +2 -3
  234. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  235. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  236. data/lib/puppet/parser/compiler.rb +0 -198
  237. data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
  238. data/lib/puppet/parser/resource.rb +1 -70
  239. data/lib/puppet/parser/scope.rb +0 -1
  240. data/lib/puppet/parser/templatewrapper.rb +1 -2
  241. data/lib/puppet/pops/evaluator/closure.rb +5 -7
  242. data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
  243. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  244. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -4
  245. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  246. data/lib/puppet/pops/issues.rb +0 -5
  247. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  248. data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
  249. data/lib/puppet/pops/model/ast.pp +0 -42
  250. data/lib/puppet/pops/model/ast.rb +0 -291
  251. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  252. data/lib/puppet/pops/model/factory.rb +1 -47
  253. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  254. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  255. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  256. data/lib/puppet/pops/parser/code_merger.rb +4 -4
  257. data/lib/puppet/pops/parser/egrammar.ra +0 -58
  258. data/lib/puppet/pops/parser/eparser.rb +1685 -1896
  259. data/lib/puppet/pops/parser/lexer2.rb +91 -92
  260. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  261. data/lib/puppet/pops/parser/slurp_support.rb +0 -1
  262. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  263. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
  264. data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
  265. data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
  266. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  267. data/lib/puppet/pops/types/type_formatter.rb +3 -4
  268. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  269. data/lib/puppet/pops/types/type_parser.rb +0 -4
  270. data/lib/puppet/pops/types/types.rb +1 -2
  271. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  272. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  273. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  274. data/lib/puppet/property/list.rb +1 -1
  275. data/lib/puppet/provider/aix_object.rb +1 -1
  276. data/lib/puppet/provider/exec/posix.rb +4 -16
  277. data/lib/puppet/provider/group/groupadd.rb +10 -18
  278. data/lib/puppet/provider/nameservice.rb +0 -18
  279. data/lib/puppet/provider/package/apt.rb +2 -34
  280. data/lib/puppet/provider/package/aptitude.rb +0 -6
  281. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  282. data/lib/puppet/provider/package/dpkg.rb +0 -10
  283. data/lib/puppet/provider/package/gem.rb +23 -3
  284. data/lib/puppet/provider/package/nim.rb +6 -11
  285. data/lib/puppet/provider/package/pip.rb +3 -16
  286. data/lib/puppet/provider/package/pkg.rb +2 -23
  287. data/lib/puppet/provider/package/portage.rb +1 -1
  288. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  289. data/lib/puppet/provider/package/puppetserver_gem.rb +17 -8
  290. data/lib/puppet/provider/package/windows/exe_package.rb +1 -30
  291. data/lib/puppet/provider/package/windows/package.rb +1 -2
  292. data/lib/puppet/provider/package/windows.rb +1 -14
  293. data/lib/puppet/provider/package/yum.rb +1 -1
  294. data/lib/puppet/provider/parsedfile.rb +0 -3
  295. data/lib/puppet/provider/service/base.rb +1 -1
  296. data/lib/puppet/provider/service/debian.rb +0 -2
  297. data/lib/puppet/provider/service/init.rb +9 -10
  298. data/lib/puppet/provider/service/launchd.rb +2 -2
  299. data/lib/puppet/provider/service/redhat.rb +1 -1
  300. data/lib/puppet/provider/service/smf.rb +194 -76
  301. data/lib/puppet/provider/service/systemd.rb +6 -16
  302. data/lib/puppet/provider/service/upstart.rb +5 -5
  303. data/lib/puppet/provider/service/windows.rb +0 -38
  304. data/lib/puppet/provider/user/aix.rb +3 -46
  305. data/lib/puppet/provider/user/directoryservice.rb +11 -39
  306. data/lib/puppet/provider/user/useradd.rb +24 -134
  307. data/lib/puppet/provider.rb +1 -14
  308. data/lib/puppet/reference/configuration.rb +8 -7
  309. data/lib/puppet/reference/indirection.rb +1 -1
  310. data/lib/puppet/reference/providers.rb +2 -2
  311. data/lib/puppet/resource/catalog.rb +2 -15
  312. data/lib/puppet/resource/type.rb +3 -119
  313. data/lib/puppet/resource/type_collection.rb +3 -49
  314. data/lib/puppet/resource.rb +6 -127
  315. data/lib/puppet/runtime.rb +2 -13
  316. data/lib/puppet/settings/environment_conf.rb +0 -1
  317. data/lib/puppet/settings/integer_setting.rb +17 -0
  318. data/lib/puppet/settings/port_setting.rb +15 -0
  319. data/lib/puppet/settings/priority_setting.rb +5 -4
  320. data/lib/puppet/settings.rb +82 -98
  321. data/lib/puppet/ssl/base.rb +3 -5
  322. data/lib/puppet/ssl/certificate.rb +0 -6
  323. data/lib/puppet/ssl/certificate_request.rb +1 -12
  324. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  325. data/lib/puppet/ssl/oids.rb +3 -1
  326. data/lib/puppet/ssl/ssl_provider.rb +36 -75
  327. data/lib/puppet/ssl/state_machine.rb +20 -14
  328. data/lib/puppet/ssl/verifier.rb +2 -6
  329. data/lib/puppet/ssl.rb +10 -6
  330. data/lib/puppet/test/test_helper.rb +2 -7
  331. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  332. data/lib/puppet/transaction/persistence.rb +1 -21
  333. data/lib/puppet/transaction/report.rb +3 -19
  334. data/lib/puppet/transaction.rb +1 -7
  335. data/lib/puppet/type/exec.rb +6 -36
  336. data/lib/puppet/type/file/checksum.rb +1 -1
  337. data/lib/puppet/type/file/data_sync.rb +1 -1
  338. data/lib/puppet/type/file/mode.rb +0 -6
  339. data/lib/puppet/type/file/selcontext.rb +1 -1
  340. data/lib/puppet/type/file/source.rb +1 -1
  341. data/lib/puppet/type/file.rb +12 -32
  342. data/lib/puppet/type/filebucket.rb +4 -4
  343. data/lib/puppet/type/group.rb +1 -0
  344. data/lib/puppet/type/package.rb +8 -16
  345. data/lib/puppet/type/resources.rb +1 -1
  346. data/lib/puppet/type/service.rb +41 -26
  347. data/lib/puppet/type/tidy.rb +3 -22
  348. data/lib/puppet/type/user.rb +13 -35
  349. data/lib/puppet/type.rb +1 -77
  350. data/lib/puppet/util/autoload.rb +8 -1
  351. data/lib/puppet/util/command_line.rb +1 -1
  352. data/lib/puppet/util/execution.rb +0 -11
  353. data/lib/puppet/util/filetype.rb +2 -2
  354. data/lib/puppet/util/http_proxy.rb +2 -215
  355. data/lib/puppet/util/json.rb +0 -20
  356. data/lib/puppet/util/log.rb +4 -8
  357. data/lib/puppet/util/logging.rb +25 -1
  358. data/lib/puppet/util/monkey_patches.rb +2 -59
  359. data/lib/puppet/util/package.rb +16 -25
  360. data/lib/puppet/util/pidlock.rb +1 -1
  361. data/lib/puppet/util/posix.rb +5 -54
  362. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  363. data/lib/puppet/util/rdoc.rb +0 -7
  364. data/lib/puppet/util/retry_action.rb +1 -1
  365. data/lib/puppet/util/run_mode.rb +9 -1
  366. data/lib/puppet/util/selinux.rb +4 -30
  367. data/lib/puppet/util/suidmanager.rb +2 -1
  368. data/lib/puppet/util/symbolic_file_mode.rb +17 -29
  369. data/lib/puppet/util/tagging.rb +0 -1
  370. data/lib/puppet/util/windows/adsi.rb +0 -46
  371. data/lib/puppet/util/windows/daemon.rb +360 -0
  372. data/lib/puppet/util/windows/error.rb +1 -0
  373. data/lib/puppet/util/windows/eventlog.rb +4 -9
  374. data/lib/puppet/util/windows/file.rb +8 -242
  375. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  376. data/lib/puppet/util/windows/principal.rb +2 -9
  377. data/lib/puppet/util/windows/process.rb +4 -226
  378. data/lib/puppet/util/windows/service.rb +11 -457
  379. data/lib/puppet/util/windows/sid.rb +2 -6
  380. data/lib/puppet/util/windows/string.rb +12 -13
  381. data/lib/puppet/util/windows/user.rb +2 -0
  382. data/lib/puppet/util/windows.rb +3 -11
  383. data/lib/puppet/util/yaml.rb +1 -42
  384. data/lib/puppet/util.rb +5 -5
  385. data/lib/puppet/vendor/require_vendored.rb +0 -1
  386. data/lib/puppet/version.rb +1 -1
  387. data/lib/puppet/x509/cert_provider.rb +29 -1
  388. data/lib/puppet/x509.rb +5 -1
  389. data/lib/puppet.rb +34 -27
  390. data/locales/puppet.pot +9633 -5
  391. data/man/man5/puppet.conf.5 +286 -401
  392. data/man/man8/puppet-agent.8 +2 -5
  393. data/man/man8/puppet-apply.8 +2 -2
  394. data/man/man8/puppet-catalog.8 +9 -9
  395. data/man/man8/puppet-config.8 +1 -1
  396. data/man/man8/puppet-describe.8 +1 -1
  397. data/man/man8/puppet-device.8 +2 -2
  398. data/man/man8/puppet-doc.8 +1 -1
  399. data/man/man8/puppet-epp.8 +1 -1
  400. data/man/man8/puppet-facts.8 +8 -51
  401. data/man/man8/puppet-filebucket.8 +4 -4
  402. data/man/man8/puppet-generate.8 +1 -1
  403. data/man/man8/puppet-help.8 +1 -1
  404. data/man/man8/puppet-lookup.8 +6 -9
  405. data/man/man8/puppet-module.8 +3 -60
  406. data/man/man8/puppet-node.8 +5 -5
  407. data/man/man8/puppet-parser.8 +1 -1
  408. data/man/man8/puppet-plugin.8 +1 -1
  409. data/man/man8/puppet-report.8 +5 -5
  410. data/man/man8/puppet-resource.8 +1 -1
  411. data/man/man8/puppet-script.8 +2 -2
  412. data/man/man8/puppet-ssl.8 +1 -5
  413. data/man/man8/puppet.8 +2 -2
  414. data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
  415. data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
  416. data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
  417. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
  418. data/spec/fixtures/ssl/ca.pem +35 -57
  419. data/spec/fixtures/ssl/crl.pem +18 -28
  420. data/spec/fixtures/ssl/ec-key.pem +11 -11
  421. data/spec/fixtures/ssl/ec.pem +24 -33
  422. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  423. data/spec/fixtures/ssl/encrypted-key.pem +58 -108
  424. data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
  425. data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
  426. data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
  427. data/spec/fixtures/ssl/intermediate.pem +36 -57
  428. data/spec/fixtures/ssl/pluto-key.pem +57 -107
  429. data/spec/fixtures/ssl/pluto.pem +30 -52
  430. data/spec/fixtures/ssl/request-key.pem +57 -107
  431. data/spec/fixtures/ssl/request.pem +26 -47
  432. data/spec/fixtures/ssl/revoked-key.pem +57 -107
  433. data/spec/fixtures/ssl/revoked.pem +30 -52
  434. data/spec/fixtures/ssl/signed-key.pem +57 -107
  435. data/spec/fixtures/ssl/signed.pem +30 -52
  436. data/spec/fixtures/ssl/tampered-cert.pem +30 -52
  437. data/spec/fixtures/ssl/tampered-csr.pem +26 -47
  438. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
  439. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
  440. data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
  441. data/spec/fixtures/ssl/unknown-ca.pem +33 -55
  442. data/spec/fixtures/unit/forge/bacula.json +1 -1
  443. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  444. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
  445. data/spec/integration/application/agent_spec.rb +50 -406
  446. data/spec/integration/application/apply_spec.rb +1 -20
  447. data/spec/integration/application/filebucket_spec.rb +16 -32
  448. data/spec/integration/application/help_spec.rb +2 -0
  449. data/spec/integration/application/lookup_spec.rb +50 -81
  450. data/spec/integration/application/module_spec.rb +0 -21
  451. data/spec/integration/application/plugin_spec.rb +24 -2
  452. data/spec/integration/configurer_spec.rb +2 -18
  453. data/spec/integration/defaults_spec.rb +14 -3
  454. data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
  455. data/spec/integration/http/client_spec.rb +4 -63
  456. data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
  457. data/spec/integration/indirector/facts/facter_spec.rb +39 -93
  458. data/spec/integration/network/http_pool_spec.rb +3 -21
  459. data/spec/integration/parser/catalog_spec.rb +0 -38
  460. data/spec/integration/parser/node_spec.rb +0 -9
  461. data/spec/integration/parser/pcore_resource_spec.rb +0 -47
  462. data/spec/integration/resource/type_collection_spec.rb +6 -2
  463. data/spec/integration/transaction/report_spec.rb +1 -1
  464. data/spec/integration/transaction_spec.rb +9 -4
  465. data/spec/integration/type/exec_spec.rb +45 -70
  466. data/spec/integration/type/file_spec.rb +7 -6
  467. data/spec/integration/type/package_spec.rb +6 -6
  468. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  469. data/spec/integration/util/windows/adsi_spec.rb +1 -21
  470. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  471. data/spec/integration/util/windows/principal_spec.rb +0 -21
  472. data/spec/integration/util/windows/process_spec.rb +9 -1
  473. data/spec/integration/util/windows/registry_spec.rb +10 -6
  474. data/spec/integration/util/windows/security_spec.rb +1 -1
  475. data/spec/lib/matchers/include.rb +27 -0
  476. data/spec/lib/matchers/include_spec.rb +32 -0
  477. data/spec/lib/puppet/test_ca.rb +2 -7
  478. data/spec/lib/puppet_spec/https.rb +1 -1
  479. data/spec/lib/puppet_spec/modules.rb +2 -13
  480. data/spec/lib/puppet_spec/puppetserver.rb +3 -55
  481. data/spec/lib/puppet_spec/settings.rb +1 -1
  482. data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
  483. data/spec/spec_helper.rb +17 -13
  484. data/spec/unit/agent_spec.rb +8 -38
  485. data/spec/unit/application/agent_spec.rb +19 -33
  486. data/spec/unit/application/apply_spec.rb +56 -76
  487. data/spec/unit/application/facts_spec.rb +12 -456
  488. data/spec/unit/application/filebucket_spec.rb +43 -39
  489. data/spec/unit/application/lookup_spec.rb +10 -131
  490. data/spec/unit/application/resource_spec.rb +0 -29
  491. data/spec/unit/application/ssl_spec.rb +2 -25
  492. data/spec/unit/application_spec.rb +9 -51
  493. data/spec/unit/certificate_factory_spec.rb +1 -1
  494. data/spec/unit/configurer/downloader_spec.rb +6 -8
  495. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  496. data/spec/unit/configurer_spec.rb +68 -327
  497. data/spec/unit/confine/feature_spec.rb +1 -1
  498. data/spec/unit/confine_spec.rb +2 -8
  499. data/spec/unit/context/trusted_information_spec.rb +2 -6
  500. data/spec/unit/daemon_spec.rb +11 -2
  501. data/spec/unit/defaults_spec.rb +68 -55
  502. data/spec/unit/environments_spec.rb +68 -408
  503. data/spec/unit/face/generate_spec.rb +0 -64
  504. data/spec/unit/face/node_spec.rb +11 -0
  505. data/spec/unit/face/plugin_spec.rb +73 -33
  506. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  507. data/spec/unit/file_bucket/file_spec.rb +1 -1
  508. data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
  509. data/spec/unit/file_serving/configuration_spec.rb +10 -26
  510. data/spec/unit/file_serving/fileset_spec.rb +0 -60
  511. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  512. data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
  513. data/spec/unit/file_system_spec.rb +4 -56
  514. data/spec/unit/forge/module_release_spec.rb +10 -5
  515. data/spec/unit/functions/assert_type_spec.rb +1 -1
  516. data/spec/unit/functions/camelcase_spec.rb +1 -1
  517. data/spec/unit/functions/capitalize_spec.rb +1 -1
  518. data/spec/unit/functions/downcase_spec.rb +1 -1
  519. data/spec/unit/functions/empty_spec.rb +0 -10
  520. data/spec/unit/functions/logging_spec.rb +0 -1
  521. data/spec/unit/functions/lookup_spec.rb +0 -64
  522. data/spec/unit/functions/unwrap_spec.rb +0 -8
  523. data/spec/unit/functions/upcase_spec.rb +1 -1
  524. data/spec/unit/functions/versioncmp_spec.rb +4 -40
  525. data/spec/unit/functions4_spec.rb +2 -2
  526. data/spec/unit/gettext/config_spec.rb +0 -12
  527. data/spec/unit/http/client_spec.rb +8 -84
  528. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  529. data/spec/unit/http/external_client_spec.rb +4 -4
  530. data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
  531. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  532. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  533. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  534. data/spec/unit/http/resolver_spec.rb +13 -13
  535. data/spec/unit/http/service/compiler_spec.rb +0 -193
  536. data/spec/unit/http/service/file_server_spec.rb +3 -3
  537. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  538. data/spec/unit/http/service_spec.rb +0 -1
  539. data/spec/unit/http/session_spec.rb +16 -14
  540. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  541. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
  542. data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
  543. data/spec/unit/indirector/face_spec.rb +1 -0
  544. data/spec/unit/indirector/facts/facter_spec.rb +3 -0
  545. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  546. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
  547. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  548. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  549. data/spec/unit/indirector/file_server_spec.rb +1 -15
  550. data/spec/unit/indirector/indirection_spec.rb +15 -18
  551. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  552. data/spec/unit/indirector/request_spec.rb +0 -264
  553. data/spec/unit/indirector/resource/ral_spec.rb +75 -40
  554. data/spec/unit/indirector/rest_spec.rb +98 -752
  555. data/spec/unit/indirector/store_configs_spec.rb +7 -0
  556. data/spec/unit/indirector_spec.rb +2 -2
  557. data/spec/unit/interface/action_spec.rb +9 -0
  558. data/spec/unit/module_spec.rb +1 -15
  559. data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
  560. data/spec/unit/network/authconfig_spec.rb +2 -129
  561. data/spec/unit/network/authorization_spec.rb +2 -55
  562. data/spec/unit/network/formats_spec.rb +4 -51
  563. data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
  564. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  565. data/spec/unit/network/http/api_spec.rb +10 -0
  566. data/spec/unit/network/http/connection_spec.rb +19 -41
  567. data/spec/unit/network/http/handler_spec.rb +0 -1
  568. data/spec/unit/network/http_pool_spec.rb +0 -4
  569. data/spec/unit/node/environment_spec.rb +33 -21
  570. data/spec/unit/node_spec.rb +2 -60
  571. data/spec/unit/parser/compiler_spec.rb +19 -3
  572. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  573. data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
  574. data/spec/unit/parser/resource_spec.rb +8 -14
  575. data/spec/unit/parser/templatewrapper_spec.rb +5 -16
  576. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  577. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  578. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  579. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  580. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  581. data/spec/unit/pops/parser/parse_containers_spec.rb +13 -2
  582. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  583. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  584. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  585. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
  586. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
  587. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
  588. data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
  589. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  590. data/spec/unit/pops/validator/validator_spec.rb +61 -51
  591. data/spec/unit/pops/visitor_spec.rb +1 -1
  592. data/spec/unit/property_spec.rb +0 -1
  593. data/spec/unit/provider/group/groupadd_spec.rb +2 -5
  594. data/spec/unit/provider/nameservice_spec.rb +64 -122
  595. data/spec/unit/provider/package/apt_spec.rb +23 -28
  596. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  597. data/spec/unit/provider/package/base_spec.rb +5 -6
  598. data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
  599. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  600. data/spec/unit/provider/package/gem_spec.rb +33 -1
  601. data/spec/unit/provider/package/nim_spec.rb +0 -42
  602. data/spec/unit/provider/package/pacman_spec.rb +12 -18
  603. data/spec/unit/provider/package/pip2_spec.rb +1 -1
  604. data/spec/unit/provider/package/pip3_spec.rb +1 -1
  605. data/spec/unit/provider/package/pip_spec.rb +12 -44
  606. data/spec/unit/provider/package/pkg_spec.rb +4 -29
  607. data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
  608. data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
  609. data/spec/unit/provider/package/puppetserver_gem_spec.rb +3 -3
  610. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -17
  611. data/spec/unit/provider/parsedfile_spec.rb +0 -10
  612. data/spec/unit/provider/service/gentoo_spec.rb +5 -6
  613. data/spec/unit/provider/service/init_spec.rb +9 -16
  614. data/spec/unit/provider/service/launchd_spec.rb +0 -11
  615. data/spec/unit/provider/service/openwrt_spec.rb +29 -23
  616. data/spec/unit/provider/service/redhat_spec.rb +2 -3
  617. data/spec/unit/provider/service/smf_spec.rb +401 -165
  618. data/spec/unit/provider/service/systemd_spec.rb +9 -54
  619. data/spec/unit/provider/service/windows_spec.rb +0 -203
  620. data/spec/unit/provider/user/aix_spec.rb +0 -105
  621. data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
  622. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  623. data/spec/unit/provider/user/pw_spec.rb +0 -2
  624. data/spec/unit/provider/user/useradd_spec.rb +5 -114
  625. data/spec/unit/provider_spec.rb +12 -22
  626. data/spec/unit/puppet_spec.rb +4 -12
  627. data/spec/unit/resource/catalog_spec.rb +2 -15
  628. data/spec/unit/resource/type_collection_spec.rb +2 -22
  629. data/spec/unit/resource/type_spec.rb +1 -1
  630. data/spec/unit/resource_spec.rb +12 -125
  631. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  632. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  633. data/spec/unit/settings/port_setting_spec.rb +31 -0
  634. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  635. data/spec/unit/settings_spec.rb +79 -110
  636. data/spec/unit/ssl/base_spec.rb +37 -3
  637. data/spec/unit/ssl/certificate_request_spec.rb +21 -45
  638. data/spec/unit/ssl/certificate_spec.rb +2 -11
  639. data/spec/unit/ssl/ssl_provider_spec.rb +3 -80
  640. data/spec/unit/ssl/state_machine_spec.rb +5 -21
  641. data/spec/unit/ssl/verifier_spec.rb +0 -21
  642. data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
  643. data/spec/unit/transaction/event_manager_spec.rb +11 -14
  644. data/spec/unit/transaction/persistence_spec.rb +0 -51
  645. data/spec/unit/transaction/report_spec.rb +0 -2
  646. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  647. data/spec/unit/transaction_spec.rb +55 -96
  648. data/spec/unit/type/exec_spec.rb +29 -76
  649. data/spec/unit/type/file/checksum_spec.rb +6 -6
  650. data/spec/unit/type/file/content_spec.rb +2 -1
  651. data/spec/unit/type/file/ensure_spec.rb +1 -1
  652. data/spec/unit/type/file/mode_spec.rb +1 -1
  653. data/spec/unit/type/file/selinux_spec.rb +5 -3
  654. data/spec/unit/type/file/source_spec.rb +4 -5
  655. data/spec/unit/type/file_spec.rb +18 -6
  656. data/spec/unit/type/group_spec.rb +6 -13
  657. data/spec/unit/type/package_spec.rb +1 -1
  658. data/spec/unit/type/resources_spec.rb +7 -7
  659. data/spec/unit/type/service_spec.rb +189 -87
  660. data/spec/unit/type/tidy_spec.rb +8 -24
  661. data/spec/unit/type_spec.rb +24 -4
  662. data/spec/unit/util/at_fork_spec.rb +2 -2
  663. data/spec/unit/util/autoload_spec.rb +1 -5
  664. data/spec/unit/util/backups_spec.rb +2 -3
  665. data/spec/unit/util/execution_spec.rb +11 -44
  666. data/spec/unit/util/inifile_spec.rb +14 -6
  667. data/spec/unit/util/log_spec.rb +7 -8
  668. data/spec/unit/util/logging_spec.rb +3 -5
  669. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  670. data/spec/unit/util/posix_spec.rb +15 -363
  671. data/spec/unit/util/run_mode_spec.rb +21 -121
  672. data/spec/unit/util/selinux_spec.rb +68 -163
  673. data/spec/unit/util/storage_spec.rb +1 -3
  674. data/spec/unit/util/suidmanager_spec.rb +41 -44
  675. data/spec/unit/util/windows/sid_spec.rb +0 -41
  676. data/spec/unit/util/windows/string_spec.rb +1 -3
  677. data/spec/unit/util/yaml_spec.rb +13 -92
  678. data/spec/unit/util_spec.rb +6 -31
  679. data/tasks/generate_cert_fixtures.rake +7 -17
  680. data/tasks/parallel.rake +3 -3
  681. metadata +138 -239
  682. data/conf/auth.conf +0 -150
  683. data/ext/README.md +0 -13
  684. data/lib/puppet/application/cert.rb +0 -76
  685. data/lib/puppet/application/key.rb +0 -4
  686. data/lib/puppet/application/man.rb +0 -4
  687. data/lib/puppet/application/status.rb +0 -4
  688. data/lib/puppet/face/key.rb +0 -16
  689. data/lib/puppet/face/man.rb +0 -145
  690. data/lib/puppet/face/module/build.rb +0 -14
  691. data/lib/puppet/face/module/generate.rb +0 -14
  692. data/lib/puppet/face/module/search.rb +0 -103
  693. data/lib/puppet/face/status.rb +0 -51
  694. data/lib/puppet/facter_impl.rb +0 -96
  695. data/lib/puppet/ffi/posix/constants.rb +0 -14
  696. data/lib/puppet/ffi/posix/functions.rb +0 -24
  697. data/lib/puppet/ffi/posix.rb +0 -10
  698. data/lib/puppet/file_serving/mount/scripts.rb +0 -24
  699. data/lib/puppet/indirector/certificate/file.rb +0 -9
  700. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  701. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  702. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  703. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  704. data/lib/puppet/indirector/file_content/http.rb +0 -22
  705. data/lib/puppet/indirector/key/file.rb +0 -46
  706. data/lib/puppet/indirector/key/memory.rb +0 -7
  707. data/lib/puppet/indirector/ssl_file.rb +0 -162
  708. data/lib/puppet/indirector/status/local.rb +0 -12
  709. data/lib/puppet/indirector/status/rest.rb +0 -27
  710. data/lib/puppet/indirector/status.rb +0 -3
  711. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  712. data/lib/puppet/network/auth_config_parser.rb +0 -90
  713. data/lib/puppet/network/authstore.rb +0 -283
  714. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  715. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  716. data/lib/puppet/network/http/base_pool.rb +0 -36
  717. data/lib/puppet/network/http/compression.rb +0 -127
  718. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  719. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  720. data/lib/puppet/network/rest_controller.rb +0 -2
  721. data/lib/puppet/network/rights.rb +0 -210
  722. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  723. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  724. data/lib/puppet/parser/environment_compiler.rb +0 -202
  725. data/lib/puppet/pops/types/enumeration.rb +0 -16
  726. data/lib/puppet/resource/capability_finder.rb +0 -154
  727. data/lib/puppet/rest/errors.rb +0 -15
  728. data/lib/puppet/rest/response.rb +0 -35
  729. data/lib/puppet/rest/route.rb +0 -85
  730. data/lib/puppet/rest/routes.rb +0 -135
  731. data/lib/puppet/settings/alias_setting.rb +0 -37
  732. data/lib/puppet/ssl/host.rb +0 -505
  733. data/lib/puppet/ssl/key.rb +0 -61
  734. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  735. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  736. data/lib/puppet/ssl/validator.rb +0 -61
  737. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  738. data/lib/puppet/status.rb +0 -40
  739. data/lib/puppet/util/connection.rb +0 -88
  740. data/lib/puppet/util/fact_dif.rb +0 -81
  741. data/lib/puppet/util/ssl.rb +0 -83
  742. data/lib/puppet/util/windows/api_types.rb +0 -309
  743. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  744. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  745. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  746. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  747. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  748. data/lib/puppet/vendor/pathspec/README.md +0 -53
  749. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  750. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  751. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  752. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  753. data/man/man8/puppet-key.8 +0 -126
  754. data/man/man8/puppet-man.8 +0 -76
  755. data/man/man8/puppet-status.8 +0 -108
  756. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  757. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  758. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  759. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  760. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  761. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  762. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  763. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  764. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  765. data/spec/fixtures/ssl/oid-key.pem +0 -117
  766. data/spec/fixtures/ssl/oid.pem +0 -69
  767. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  768. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  769. data/spec/integration/application/resource_spec.rb +0 -68
  770. data/spec/integration/application/ssl_spec.rb +0 -20
  771. data/spec/integration/l10n/compiler_spec.rb +0 -37
  772. data/spec/integration/network/authconfig_spec.rb +0 -256
  773. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  774. data/spec/shared_contexts/l10n.rb +0 -32
  775. data/spec/unit/application/man_spec.rb +0 -52
  776. data/spec/unit/capability_spec.rb +0 -414
  777. data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
  778. data/spec/unit/face/key_spec.rb +0 -9
  779. data/spec/unit/face/module/search_spec.rb +0 -231
  780. data/spec/unit/face/status_spec.rb +0 -9
  781. data/spec/unit/facter_impl_spec.rb +0 -31
  782. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  783. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  784. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  785. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  786. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  787. data/spec/unit/indirector/key/file_spec.rb +0 -78
  788. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  789. data/spec/unit/indirector/status/local_spec.rb +0 -10
  790. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  791. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  792. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  793. data/spec/unit/network/authstore_spec.rb +0 -407
  794. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  795. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  796. data/spec/unit/network/http/compression_spec.rb +0 -240
  797. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  798. data/spec/unit/network/http_spec.rb +0 -9
  799. data/spec/unit/network/rights_spec.rb +0 -439
  800. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  801. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
  802. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  803. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  804. data/spec/unit/rest/route_spec.rb +0 -132
  805. data/spec/unit/ssl/host_spec.rb +0 -645
  806. data/spec/unit/ssl/key_spec.rb +0 -173
  807. data/spec/unit/ssl/validator_spec.rb +0 -278
  808. data/spec/unit/status_spec.rb +0 -45
  809. data/spec/unit/util/json_spec.rb +0 -126
  810. data/spec/unit/util/ssl_spec.rb +0 -91
  811. data/spec/unit/util/windows_spec.rb +0 -23
@@ -3,7 +3,7 @@ require 'puppet/util/platform'
3
3
  module Puppet
4
4
 
5
5
  def self.default_diffargs
6
- if (Puppet.runtime[:facter].value(:kernel) == "AIX" && Puppet.runtime[:facter].value(:kernelmajversion) == "5300")
6
+ if (Facter.value(:kernel) == "AIX" && Facter.value(:kernelmajversion) == "5300")
7
7
  ""
8
8
  else
9
9
  "-u"
@@ -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
@@ -58,18 +93,6 @@ module Puppet
58
93
  end
59
94
  end
60
95
 
61
- def self.default_cadir
62
- return "" if Puppet::Util::Platform.windows?
63
- old_ca_dir = "#{Puppet[:ssldir]}/ca"
64
- new_ca_dir = '/etc/puppetlabs/puppetserver/ca'
65
-
66
- if File.exist?("#{new_ca_dir}/ca_crt.pem")
67
- new_ca_dir
68
- else
69
- old_ca_dir
70
- end
71
- end
72
-
73
96
  ############################################################################################
74
97
  # NOTE: For information about the available values for the ":type" property of settings,
75
98
  # see the docs for Settings.define_settings
@@ -82,29 +105,6 @@ module Puppet
82
105
  # @return void
83
106
  def self.initialize_default_settings!(settings)
84
107
  settings.define_settings(:main,
85
- :facterng => {
86
- :default => false,
87
- :type => :boolean,
88
- :desc => 'Whether to enable a pre-Facter 4.0 release of Facter (distributed as
89
- the "facter-ng" gem). This is not necessary if Facter 3.x or later is installed.
90
- This setting is still experimental.',
91
- :hook => proc do |value|
92
- value = munge(value)
93
- if value && Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value('facterversion'), '4.0.0') < 0
94
- begin
95
- original_facter = Object.const_get(:Facter)
96
- Object.send(:remove_const, :Facter)
97
-
98
- require 'facter-ng'
99
- # It is required to re-setup logger for facter-ng
100
- Puppet::Util::Logging.setup_facter_logging!
101
- rescue LoadError
102
- Object.const_set(:Facter, original_facter)
103
- raise ArgumentError, 'facter-ng could not be loaded'
104
- end
105
- end
106
- end
107
- },
108
108
  :confdir => {
109
109
  :default => nil,
110
110
  :type => :directory,
@@ -218,7 +218,7 @@ module Puppet
218
218
 
219
219
  The strictness level is for both language semantics and runtime
220
220
  evaluation validation. In addition to controlling the behavior with
221
- this primary server switch some individual warnings may also be controlled
221
+ this master switch some individual warnings may also be controlled
222
222
  by the disable_warnings setting.
223
223
 
224
224
  No new validations will be added to a micro (x.y.z) release,
@@ -231,7 +231,7 @@ module Puppet
231
231
  end
232
232
  },
233
233
  :disable_i18n => {
234
- :default => false,
234
+ :default => true,
235
235
  :type => :boolean,
236
236
  :desc => "If true, turns off all translations of Puppet and module
237
237
  log messages, which affects error, warning, and info log messages,
@@ -262,7 +262,7 @@ module Puppet
262
262
  internal Ruby stack trace interleaved with Puppet function frames.",
263
263
  :hook => proc do |value|
264
264
  # Enable or disable Facter's trace option too
265
- Puppet.runtime[:facter].trace(value)
265
+ Facter.trace(value) if Facter.respond_to? :trace
266
266
  end
267
267
  },
268
268
  :puppet_trace => {
@@ -276,13 +276,6 @@ module Puppet
276
276
  :type => :boolean,
277
277
  :desc => "Whether to enable experimental performance profiling",
278
278
  },
279
- :future_features => {
280
- :default => false,
281
- :type => :boolean,
282
- :desc => "Whether or not to enable all features currently being developed for future
283
- major releases of Puppet. Should be used with caution, as in development
284
- features are experimental and can have unexpected effects."
285
- },
286
279
  :versioned_environment_dirs => {
287
280
  :default => false,
288
281
  :type => :boolean,
@@ -294,9 +287,14 @@ module Puppet
294
287
  :default => true,
295
288
  :type => :boolean,
296
289
  :desc => "Whether to compile a [static catalog](https://puppet.com/docs/puppet/latest/static_catalogs.html#enabling-or-disabling-static-catalogs),
297
- which occurs only on Puppet Server when the `code-id-command` and
290
+ which occurs only on a Puppet Server master when the `code-id-command` and
298
291
  `code-content-command` settings are configured in its `puppetserver.conf` file.",
299
292
  },
293
+ :settings_catalog => {
294
+ :default => true,
295
+ :type => :boolean,
296
+ :desc => "Whether to compile and apply the settings catalog",
297
+ },
300
298
  :strict_environment_mode => {
301
299
  :default => false,
302
300
  :type => :boolean,
@@ -412,13 +410,13 @@ module Puppet
412
410
  :default => "production",
413
411
  :desc => "The environment in which Puppet is running. For clients,
414
412
  such as `puppet agent`, this determines the environment itself, which
415
- Puppet uses to find modules and much more. For servers, such as `puppet server`,
413
+ Puppet uses to find modules and much more. For servers, such as `puppet master`,
416
414
  this provides the default environment for nodes that Puppet knows nothing about.
417
415
 
418
416
  When defining an environment in the `[agent]` section, this refers to the
419
- environment that the agent requests from the primary server. The environment doesn't
417
+ environment that the agent requests from the master. The environment doesn't
420
418
  have to exist on the local filesystem because the agent fetches it from the
421
- primary server. This definition is used when running `puppet agent`.
419
+ master. This definition is used when running `puppet agent`.
422
420
 
423
421
  When defined in the `[user]` section, the environment refers to the path that
424
422
  Puppet uses to search for code and modules related to its execution. This
@@ -442,17 +440,6 @@ module Puppet
442
440
  <https://puppet.com/docs/puppet/latest/environments_about.html>",
443
441
  :type => :path,
444
442
  },
445
- :use_last_environment => {
446
- :type => :boolean,
447
- :default => true,
448
- :desc => <<-'EOT'
449
- Puppet saves both the initial and converged environment in the last_run_summary file.
450
- If they differ, and this setting is set to true, we will use the last converged
451
- environment and skip the node request.
452
-
453
- When set to false, we will do the node request and ignore the environment data from the last_run_summary file.
454
- EOT
455
- },
456
443
  :always_retry_plugins => {
457
444
  :type => :boolean,
458
445
  :default => true,
@@ -730,9 +717,8 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
730
717
  A value of `0` will disable caching. This setting can also be set to
731
718
  `unlimited`, which will cache environments until the server is restarted
732
719
  or told to refresh the cache. All other values will result in Puppet
733
- server evicting expired environments. The expiration time is computed
734
- based on either when the environment was created or last accessed, see
735
- `environment_timeout_mode`.
720
+ server evicting environments that haven't been used within the last
721
+ `environment_timeout` seconds.
736
722
 
737
723
  You should change this setting once your Puppet deployment is doing
738
724
  non-trivial work. We chose the default value of `0` because it lets new
@@ -745,32 +731,13 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
745
731
  * Setting this to a number that will keep your most actively used
746
732
  environments cached, but allow testing environments to fall out of the
747
733
  cache and reduce memory usage. A value of 3 minutes (3m) is a reasonable
748
- value. This option requires setting `environment_timeout_mode` to
749
- `from_last_used`.
734
+ value.
750
735
 
751
736
  Once you set `environment_timeout` to a non-zero value, you need to tell
752
737
  Puppet server to read new code from disk using the `environment-cache` API
753
738
  endpoint after you deploy new code. See the docs for the Puppet Server
754
739
  [administrative API](https://puppet.com/docs/puppetserver/latest/admin-api/v1/environment-cache.html).
755
- ",
756
- :hook => proc do |val|
757
- if Puppet[:environment_timeout_mode] == :from_created
758
- unless [0, 'unlimited', Float::INFINITY].include?(val)
759
- Puppet.deprecation_warning("Evicting environments based on their creation time is deprecated, please set `environment_timeout_mode` to `from_last_used` instead.")
760
- end
761
- end
762
- end
763
- },
764
- :environment_timeout_mode => {
765
- :default => :from_created,
766
- :type => :symbolic_enum,
767
- :values => [:from_created, :from_last_used],
768
- :desc => "How Puppet interprets the `environment_timeout` setting when
769
- `environment_timeout` is neither `0` nor `unlimited`. If set to
770
- `from_created`, then the environment will be evicted `environment_timeout`
771
- seconds from when it was created. If set to `from_last_used` then the
772
- environment will be evicted `environment_timeout` seconds from when it
773
- was last used."
740
+ "
774
741
  },
775
742
  :environment_data_provider => {
776
743
  :desc => "The name of a registered environment data provider used when obtaining environment
@@ -811,12 +778,6 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
811
778
  :owner => "service",
812
779
  :group => "service",
813
780
  :desc => "The directory where catalog previews per node are generated."
814
- },
815
- :location_trusted => {
816
- :default => false,
817
- :type => :boolean,
818
- :desc => "This will allow sending the name + password and the cookie header to all hosts that puppet may redirect to.
819
- This may or may not introduce a security breach if puppet redirects you to a site to which you'll send your authentication info and cookies."
820
781
  }
821
782
  )
822
783
 
@@ -847,11 +808,11 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
847
808
  :certname => {
848
809
  :default => lambda { Puppet::Settings.default_certname.downcase },
849
810
  :desc => "The name to use when handling certificates. When a node
850
- requests a certificate from the CA Puppet Server, it uses the value of the
811
+ requests a certificate from the CA puppet master, it uses the value of the
851
812
  `certname` setting as its requested Subject CN.
852
813
 
853
814
  This is the name used when managing a node's permissions in
854
- [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).
855
816
  In most cases, it is also used as the node's name when matching
856
817
  [node definitions](https://puppet.com/docs/puppet/latest/lang_node_definitions.html)
857
818
  and requesting data from an ENC. (This can be changed with the `node_name_value`
@@ -866,9 +827,9 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
866
827
  only use lowercase letters, numbers, periods, underscores, and dashes. (That is,
867
828
  it should match `/\A[a-z0-9._-]+\Z/`.)
868
829
  * The special value `ca` is reserved, and can't be used as the certname
869
- for a normal node.
830
+ for a normal node.
870
831
 
871
- **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.
872
833
 
873
834
  Defaults to the node's fully qualified domain name.",
874
835
  :call_hook => :on_initialize_and_write,
@@ -895,8 +856,8 @@ names.
895
856
  **Note:** The list of alternate names is locked in when the server's
896
857
  certificate is signed. If you need to change the list later, you can't just
897
858
  change this setting; you also need to regenerate the certificate. For more
898
- information on that process, see the
899
- [cert regen docs](https://puppet.com/docs/puppet/latest/ssl_regenerate_certificates.html).
859
+ information on that process, see the [cert regen docs]
860
+ (https://puppet.com/docs/puppet/latest/ssl_regenerate_certificates.html).
900
861
 
901
862
  To see all the alternate names your servers are using, log into your CA server
902
863
  and run `puppetserver ca list --all`, then check the output for `(alt names: ...)`.
@@ -910,7 +871,7 @@ EOT
910
871
  :desc => <<EOT
911
872
  An optional file containing custom attributes to add to certificate signing
912
873
  requests (CSRs). You should ensure that this file does not exist on your CA
913
- Puppet Server; if it does, unwanted certificate extensions may leak into
874
+ puppet master; if it does, unwanted certificate extensions may leak into
914
875
  certificates created with the `puppetserver ca generate` command.
915
876
 
916
877
  If present, this file must be a YAML hash containing a `custom_attributes` key
@@ -1001,13 +962,13 @@ EOT
1001
962
  Generally unused."
1002
963
  },
1003
964
  :hostcsr => {
1004
- :default => "$ssldir/csr_$certname.pem",
965
+ :default => "$requestdir/$certname.pem",
1005
966
  :type => :file,
1006
967
  :mode => "0644",
1007
968
  :owner => "service",
1008
969
  :group => "service",
1009
- :deprecated => :completely,
1010
- :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."
1011
972
  },
1012
973
  :hostcert => {
1013
974
  :default => "$certdir/$certname.pem",
@@ -1058,29 +1019,6 @@ EOT
1058
1019
  puppet module tool and the 'http' report processor. This setting is ignored when
1059
1020
  making requests to puppet:// URLs such as catalog and report requests.",
1060
1021
  },
1061
- :ssl_client_ca_auth => {
1062
- :type => :file,
1063
- :mode => "0644",
1064
- :owner => "service",
1065
- :group => "service",
1066
- :desc => "Certificate authorities who issue server certificates. SSL servers will not be
1067
- considered authentic unless they possess a certificate issued by an authority
1068
- listed in this file. If this setting has no value then the Puppet master's CA
1069
- certificate (localcacert) will be used.",
1070
- :hook => proc do |val|
1071
- Puppet.deprecation_warning(_("Setting 'ssl_client_ca_auth' is deprecated."))
1072
- end
1073
- },
1074
- :ssl_server_ca_auth => {
1075
- :type => :file,
1076
- :mode => "0644",
1077
- :owner => "service",
1078
- :group => "service",
1079
- :deprecated => :completely,
1080
- :desc => "The setting is deprecated and has no effect. Ensure all root and
1081
- intermediate certificate authorities used to issue client certificates are
1082
- contained in the server's `cacert` file on the server."
1083
- },
1084
1022
  :hostcrl => {
1085
1023
  :default => "$ssldir/crl.pem",
1086
1024
  :type => :file,
@@ -1114,14 +1052,6 @@ EOT
1114
1052
  certificate revocation checking and does not attempt to download the CRL.
1115
1053
  EOT
1116
1054
  },
1117
- :ciphers => {
1118
- :default => 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256',
1119
- :type => :string,
1120
- :desc => "The list of ciphersuites for TLS connections initiated by puppet. The
1121
- default value is chosen to support TLS 1.0 and up, but can be made
1122
- more restrictive if needed. The ciphersuites must be specified in OpenSSL
1123
- format, not IANA."
1124
- },
1125
1055
  :key_type => {
1126
1056
  :default => 'rsa',
1127
1057
  :type => :enum,
@@ -1165,7 +1095,7 @@ EOT
1165
1095
  :type => :string,
1166
1096
  :desc => "Where to send log messages. Choose between 'syslog' (the POSIX syslog
1167
1097
  service), 'eventlog' (the Windows Event Log), 'console', or the path to a log
1168
- file. Multiple destinations can be set using a comma separated list (eg: `/path/file1,console,/path/file2`)"
1098
+ file."
1169
1099
  # Sure would be nice to set the Puppet::Util::Log destination here in an :on_initialize_and_write hook,
1170
1100
  # unfortunately we have a large number of tests that rely on the logging not resetting itself when the
1171
1101
  # settings are initialized as they test what gets logged during settings initialization.
@@ -1182,6 +1112,13 @@ EOT
1182
1112
  :default => lambda { default_cadir },
1183
1113
  :type => :directory,
1184
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
1185
1122
  },
1186
1123
  :cacert => {
1187
1124
  :default => "$cadir/ca_crt.pem",
@@ -1222,7 +1159,7 @@ EOT
1222
1159
  :default => "$confdir/autosign.conf",
1223
1160
  :type => :autosign,
1224
1161
  :desc => "Whether (and how) to autosign certificate requests. This setting
1225
- is only relevant on a Puppet Server acting as a certificate authority (CA).
1162
+ is only relevant on a puppet master acting as a certificate authority (CA).
1226
1163
 
1227
1164
  Valid values are true (autosigns all certificate requests; not recommended),
1228
1165
  false (disables autosigning certificates), or the absolute path to a file.
@@ -1233,7 +1170,7 @@ EOT
1233
1170
  file, it will be treated as a policy executable; otherwise, it will be
1234
1171
  treated as a config file.
1235
1172
 
1236
- If a custom policy executable is configured, the CA Puppet Server will run it
1173
+ If a custom policy executable is configured, the CA puppet master will run it
1237
1174
  every time it receives a CSR. The executable will be passed the subject CN of the
1238
1175
  request _as a command line argument,_ and the contents of the CSR in PEM format
1239
1176
  _on stdin._ It should exit with a status of 0 if the cert should be autosigned
@@ -1319,7 +1256,7 @@ EOT
1319
1256
  :manifest => {
1320
1257
  :default => nil,
1321
1258
  :type => :file_or_directory,
1322
- :desc => "The entry-point manifest for the primary server. This can be one file
1259
+ :desc => "The entry-point manifest for puppet master. This can be one file
1323
1260
  or a directory of manifests to be evaluated in alphabetical order. Puppet manages
1324
1261
  this path as a directory if one exists or if the path ends with a / or \\.
1325
1262
 
@@ -1408,34 +1345,25 @@ EOT
1408
1345
  by `puppet`, and should only be set if you're writing your own Puppet
1409
1346
  executable.",
1410
1347
  },
1411
- :masterport => {
1348
+ :serverport => {
1412
1349
  :default => 8140,
1350
+ :type => :port,
1413
1351
  :desc => "The default port puppet subcommands use to communicate
1414
1352
  with Puppet Server. (eg `puppet facts upload`, `puppet agent`). May be
1415
1353
  overridden by more specific settings (see `ca_port`, `report_port`).",
1354
+ :hook => proc do |value|
1355
+ Puppet[:masterport] = value unless Puppet.settings.set_by_config?(:masterport)
1356
+ end
1416
1357
  },
1417
- :serverport => {
1418
- :type => :alias,
1419
- :alias_for => :masterport
1420
- },
1421
- :node_name => {
1422
- :default => 'cert',
1423
- :type => :enum,
1424
- :values => ['cert', 'facter'],
1425
- :deprecated => :completely,
1426
- :hook => proc { |val|
1427
- if val != 'cert'
1428
- Puppet.deprecation_warning("The node_name setting is deprecated and will be removed in a future release.")
1429
- end
1430
- },
1431
- :desc => "How the puppet master determines the client's identity
1432
- and sets the 'hostname', 'fqdn' and 'domain' facts for use in the manifest,
1433
- in particular for determining which 'node' statement applies to the client.
1434
- Possible values are 'cert' (use the subject's CN in the client's
1435
- certificate) and 'facter' (use the hostname that the client
1436
- reported in its facts).
1437
-
1438
- This setting is deprecated, please use explicit fact matching for classification.",
1358
+ :masterport => {
1359
+ :default => "$serverport",
1360
+ :type => :port,
1361
+ :desc => "The default port puppet subcommands use to communicate
1362
+ with Puppet Server. (eg `puppet facts upload`, `puppet agent`). May be
1363
+ overridden by more specific settings (see `ca_port`, `report_port`).",
1364
+ :hook => proc do |value|
1365
+ Puppet[:serverport] = value unless Puppet.settings.set_by_config?(:serverport)
1366
+ end
1439
1367
  },
1440
1368
  :bucketdir => {
1441
1369
  :default => "$vardir/bucket",
@@ -1445,15 +1373,6 @@ EOT
1445
1373
  :group => "service",
1446
1374
  :desc => "Where FileBucket files are stored."
1447
1375
  },
1448
- :rest_authconfig => {
1449
- :default => "$confdir/auth.conf",
1450
- :type => :file,
1451
- :deprecated => :completely,
1452
- :desc => "The configuration file that defines the rights to the different
1453
- rest indirections. This can be used as a fine-grained authorization system for
1454
- `puppet master`. The `puppet master` command is deprecated and Puppet Server
1455
- uses its own auth.conf that must be placed within its configuration directory.",
1456
- },
1457
1376
  :trusted_oid_mapping_file => {
1458
1377
  :default => "$confdir/custom_trusted_oid_mapping.yaml",
1459
1378
  :type => :file,
@@ -1526,17 +1445,15 @@ EOT
1526
1445
  their names should be comma-separated, with whitespace allowed. (For example,
1527
1446
  `reports = http, store`.)
1528
1447
 
1529
- This setting is relevant to puppet server and puppet apply. The primary Puppet
1530
- server will call these report handlers with the reports it receives from
1448
+ This setting is relevant to puppet master and puppet apply. The puppet
1449
+ master will call these report handlers with the reports it receives from
1531
1450
  agent nodes, and puppet apply will call them with its own report. (In
1532
1451
  all cases, the node applying the catalog must have `report = true`.)
1533
1452
 
1534
1453
  See the report reference for information on the built-in report
1535
1454
  handlers; custom report handlers can also be loaded from modules.
1536
1455
  (Report handlers are loaded from the lib directory, at
1537
- `puppet/reports/NAME.rb`.)
1538
-
1539
- To turn off reports entirely, set this to `none`",
1456
+ `puppet/reports/NAME.rb`.)",
1540
1457
  },
1541
1458
  :reportdir => {
1542
1459
  :default => "$vardir/reports",
@@ -1558,23 +1475,7 @@ EOT
1558
1475
  :default => "$confdir/fileserver.conf",
1559
1476
  :type => :file,
1560
1477
  :desc => "Where the fileserver configuration is stored.",
1561
- },
1562
- :strict_hostname_checking => {
1563
- :default => true,
1564
- :type => :boolean,
1565
- :desc => "Whether to only search for the complete
1566
- hostname as it is in the certificate when searching for node information
1567
- in the catalogs or to match dot delimited segments of the cert's certname
1568
- and the hostname, fqdn, and/or domain facts.
1569
-
1570
- This setting is deprecated and will be removed in a future release.",
1571
- :hook => proc { |val|
1572
- if val != true
1573
- 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).")
1574
- end
1575
- }
1576
- }
1577
- )
1478
+ })
1578
1479
 
1579
1480
  settings.define_settings(:device,
1580
1481
  :devicedir => {
@@ -1595,18 +1496,16 @@ EOT
1595
1496
  :node_name_value => {
1596
1497
  :default => "$certname",
1597
1498
  :desc => "The explicit value used for the node name for all requests the agent
1598
- makes to the primary server. WARNING: This setting is mutually exclusive with
1599
- node_name_fact. Changing this setting also requires changes to the default
1600
- auth.conf configuration on the Puppet Master. Please see
1601
- http://links.puppet.com/node_name_value for more information."
1499
+ makes to the master. WARNING: This setting is mutually exclusive with
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)."
1602
1502
  },
1603
1503
  :node_name_fact => {
1604
1504
  :default => "",
1605
1505
  :desc => "The fact name used to determine the node name used for all requests the agent
1606
- makes to the primary server. WARNING: This setting is mutually exclusive with
1607
- node_name_value. Changing this setting also requires changes to the default
1608
- auth.conf configuration on the Puppet Master. Please see
1609
- http://links.puppet.com/node_name_fact for more information.",
1506
+ makes to the master. WARNING: This setting is mutually exclusive with
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).",
1610
1509
  :hook => proc do |value|
1611
1510
  if !value.empty? and Puppet[:node_name_value] != Puppet[:certname]
1612
1511
  raise "Cannot specify both the node_name_value and node_name_fact settings"
@@ -1617,8 +1516,8 @@ EOT
1617
1516
  :default => "$statedir/state.yaml",
1618
1517
  :type => :file,
1619
1518
  :mode => "0640",
1620
- :desc => "Where Puppet agent and Puppet Server store state associated
1621
- with the running configuration. In the case of Puppet Server,
1519
+ :desc => "Where puppet agent and puppet master store state associated
1520
+ with the running configuration. In the case of puppet master,
1622
1521
  this file reflects the state discovered through interacting
1623
1522
  with clients."
1624
1523
  },
@@ -1655,12 +1554,6 @@ EOT
1655
1554
  :mode => "0750",
1656
1555
  :desc => "The directory in which serialized data is stored on the client."
1657
1556
  },
1658
- :write_catalog_summary => {
1659
- :default => true,
1660
- :type => :boolean,
1661
- :desc => "Whether to write the `classfile` and `resourcefile` after applying
1662
- the catalog. It is enabled by default, except when running `puppet apply`.",
1663
- },
1664
1557
  :classfile => {
1665
1558
  :default => "$statedir/classes.txt",
1666
1559
  :type => :file,
@@ -1687,11 +1580,11 @@ EOT
1687
1580
  the POSIX syslog service and the Windows Event Log are unavailable. (Currently,
1688
1581
  no supported operating systems match that description.)
1689
1582
 
1690
- Despite the name, both puppet agent and puppet server will use this file
1583
+ Despite the name, both puppet agent and puppet master will use this file
1691
1584
  as the fallback logging destination.
1692
1585
 
1693
1586
  For control over logging destinations, see the `--logdest` command line
1694
- option in the manual pages for puppet server, puppet agent, and puppet
1587
+ option in the manual pages for puppet master, puppet agent, and puppet
1695
1588
  apply. You can see man pages by running `puppet <SUBCOMMAND> --help`,
1696
1589
  or read them online at https://puppet.com/docs/puppet/latest/man/."
1697
1590
  },
@@ -1705,13 +1598,13 @@ EOT
1705
1598
  },
1706
1599
  :server => {
1707
1600
  :default => "puppet",
1708
- :desc => "The primary Puppet server to which the Puppet agent should connect.",
1601
+ :desc => "The puppet master server to which the puppet agent should connect.",
1709
1602
  },
1710
1603
  :server_list => {
1711
1604
  :default => [],
1712
1605
  :type => :server_list,
1713
- :desc => "The list of primary Puppet servers to which the Puppet agent should connect,
1714
- 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.",
1715
1608
  },
1716
1609
  :use_srv_records => {
1717
1610
  :default => false,
@@ -1725,7 +1618,7 @@ EOT
1725
1618
  :http_extra_headers => {
1726
1619
  :default => [],
1727
1620
  :type => :http_extra_headers,
1728
- :desc => "The list of extra headers that will be sent with http requests to the primary server.
1621
+ :desc => "The list of extra headers that will be sent with http requests to the master.
1729
1622
  The header definition consists of a name and a value separated by a colon."
1730
1623
  },
1731
1624
  :ignoreschedules => {
@@ -1751,7 +1644,7 @@ EOT
1751
1644
  like it does when running normally. However, if a resource attribute is not in
1752
1645
  the desired state (as declared in the catalog), Puppet will take no
1753
1646
  action, and will instead report the changes it _would_ have made. These
1754
- simulated changes will appear in the report sent to the primary Puppet server, or
1647
+ simulated changes will appear in the report sent to the puppet master, or
1755
1648
  be shown on the console if running puppet agent or puppet apply in the
1756
1649
  foreground. The simulated changes will not send refresh events to any
1757
1650
  subscribing or notified resources, although Puppet will log that a refresh
@@ -1787,6 +1680,7 @@ EOT
1787
1680
  },
1788
1681
  :ca_port => {
1789
1682
  :default => "$serverport",
1683
+ :type => :port,
1790
1684
  :desc => "The port to use for the certificate authority.",
1791
1685
  },
1792
1686
  :preferred_serialization_format => {
@@ -1805,7 +1699,7 @@ EOT
1805
1699
  },
1806
1700
  :agent_disabled_lockfile => {
1807
1701
  :default => "$statedir/agent_disabled.lock",
1808
- :type => :string,
1702
+ :type => :file,
1809
1703
  :desc => "A lock file to indicate that puppet agent runs have been administratively
1810
1704
  disabled. File contains a JSON object with state information.",
1811
1705
  },
@@ -1823,7 +1717,7 @@ EOT
1823
1717
  :desc => "Whether to only use the cached catalog rather than compiling a new catalog
1824
1718
  on every run. Puppet can be run with this enabled by default and then selectively
1825
1719
  disabled when a recompile is desired. Because a Puppet agent using cached catalogs
1826
- does not contact the primary server for a new catalog, it also does not upload facts at
1720
+ does not contact the master for a new catalog, it also does not upload facts at
1827
1721
  the beginning of the Puppet run.",
1828
1722
  },
1829
1723
  :ignoremissingtypes => {
@@ -1831,7 +1725,7 @@ EOT
1831
1725
  :type => :boolean,
1832
1726
  :desc => "Skip searching for classes and definitions that were missing during a
1833
1727
  prior compilation. The list of missing objects is maintained per-environment and
1834
- persists until the environment is cleared or the primary server is restarted.",
1728
+ persists until the environment is cleared or the master is restarted.",
1835
1729
  },
1836
1730
  :splaylimit => {
1837
1731
  :default => "$runinterval",
@@ -1861,7 +1755,7 @@ EOT
1861
1755
  If you restart an agent's puppet service with `splay` enabled, it
1862
1756
  recalculates its splay period and delays its first agent run after
1863
1757
  restarting for this new period. If you simultaneously restart a group of
1864
- puppet agents with `splay` enabled, their checkins to your primary servers
1758
+ puppet agents with `splay` enabled, their checkins to your puppet masters
1865
1759
  can be distributed more evenly.",
1866
1760
  },
1867
1761
  :clientbucketdir => {
@@ -1876,6 +1770,7 @@ EOT
1876
1770
  },
1877
1771
  :report_port => {
1878
1772
  :default => "$serverport",
1773
+ :type => :port,
1879
1774
  :desc => "The port to communicate with the report_server.",
1880
1775
  },
1881
1776
  :report => {
@@ -1905,10 +1800,16 @@ EOT
1905
1800
  for the node stored in puppetdb are current. However, this will double the fact
1906
1801
  submission load on puppetdb, so it is disabled by default.",
1907
1802
  },
1803
+ :publicdir => {
1804
+ :default => nil,
1805
+ :type => :directory,
1806
+ :mode => "0755",
1807
+ :desc => "Where Puppet stores public files."
1808
+ },
1908
1809
  :lastrunfile => {
1909
- :default => "$statedir/last_run_summary.yaml",
1810
+ :default => "$publicdir/last_run_summary.yaml",
1910
1811
  :type => :file,
1911
- :mode => "0644",
1812
+ :mode => "0640",
1912
1813
  :desc => "Where puppet agent stores the last run report summary in yaml format."
1913
1814
  },
1914
1815
  :lastrunreport => {
@@ -1953,7 +1854,7 @@ EOT
1953
1854
 
1954
1855
  When starting for the first time, puppet agent will submit a certificate
1955
1856
  signing request (CSR) to the server named in the `ca_server` setting
1956
- (usually the primary Puppet server); this may be autosigned, or may need to be
1857
+ (usually the puppet master); this may be autosigned, or may need to be
1957
1858
  approved by a human, depending on the CA server's configuration.
1958
1859
 
1959
1860
  Puppet agent cannot apply configurations until its approved certificate is
@@ -1988,7 +1889,7 @@ EOT
1988
1889
  :type => :ttl,
1989
1890
  :desc => "The maximum amount of time the puppet agent should wait for an
1990
1891
  already running puppet agent to finish before starting a new one. This is set by default to 1 minute.
1991
- A value of `unlimited` will cause puppet agent to wait indefinitely.
1892
+ A value of `unlimited` will cause puppet agent to wait indefinitely.
1992
1893
  #{AS_DURATION}",
1993
1894
  }
1994
1895
  )
@@ -2045,7 +1946,7 @@ EOT
2045
1946
  :desc => "What files to ignore when pulling down plugins.",
2046
1947
  },
2047
1948
  :ignore_plugin_errors => {
2048
- :default => true,
1949
+ :default => false,
2049
1950
  :type => :boolean,
2050
1951
  :desc => "Whether the puppet run should ignore errors during pluginsync. If the setting
2051
1952
  is false and there are errors during pluginsync, then the agent will abort the run and
@@ -2067,8 +1968,7 @@ EOT
2067
1968
  :call_hook => :on_initialize_and_write, # Call our hook with the default value, so we always get the value added to facter.
2068
1969
  :hook => proc do |value|
2069
1970
  paths = value.split(File::PATH_SEPARATOR)
2070
- facter = Puppet.runtime[:facter]
2071
- facter.search(*paths)
1971
+ Facter.search(*paths)
2072
1972
  end
2073
1973
  }
2074
1974
  )
@@ -2209,6 +2109,8 @@ EOT
2209
2109
  # Call our hook with the default value, so we always get the libdir set.
2210
2110
  :call_hook => :on_initialize_and_write,
2211
2111
  :hook => proc do |value|
2112
+ require 'puppet/node'
2113
+ require 'puppet/node/facts'
2212
2114
  if value
2213
2115
  Puppet::Resource::Catalog.indirection.set_global_setting(:cache_class, :store_configs)
2214
2116
  settings.override_default(:catalog_cache_terminus, :store_configs)
@@ -2259,22 +2161,6 @@ EOT
2259
2161
  referencing variables that are explicitly set to undef).
2260
2162
  EOT
2261
2163
  },
2262
- :func3x_check => {
2263
- :default => true,
2264
- :type => :boolean,
2265
- :desc => <<-'EOT',
2266
- Causes validation of loaded legacy Ruby functions (3x API) to raise errors about illegal constructs that
2267
- could cause harm or that simply does not work. This flag is on by default. This flag is made available
2268
- so that the validation can be turned off in case the method of validation is faulty - if encountered, please
2269
- file a bug report.
2270
- EOT
2271
- :call_hook => :on_initialize_and_write,
2272
- :hook => proc do |value|
2273
- unless value
2274
- Puppet.deprecation_warning(_("The 'func3x_check' setting is deprecated and will be removed in a future release."))
2275
- end
2276
- end
2277
- },
2278
2164
  :tasks => {
2279
2165
  :default => false,
2280
2166
  :type => :boolean,