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
@@ -1,241 +1,23 @@
1
- require 'net/http'
2
- require 'uri'
3
- require 'puppet/util/json'
4
- require 'puppet/util/connection'
5
- require 'semantic_puppet'
6
-
7
- require 'puppet/network/http'
8
- require 'puppet/network/http_pool'
9
-
10
1
  # Access objects via REST
11
2
  class Puppet::Indirector::REST < Puppet::Indirector::Terminus
12
- include Puppet::Network::HTTP::Compression.module
13
-
14
- IndirectedRoutes = Puppet::Network::HTTP::API::IndirectedRoutes
15
- EXCLUDED_FORMATS = [:yaml, :b64_zlib_yaml, :dot]
16
-
17
- # puppet major version where JSON is enabled by default
18
- MAJOR_VERSION_JSON_DEFAULT = 5
19
-
20
- class << self
21
- attr_reader :server_setting, :port_setting
22
- end
23
-
24
- # Specify the setting that we should use to get the server name.
25
- def self.use_server_setting(setting)
26
- @server_setting = setting
27
- end
28
-
29
- # Specify the setting that we should use to get the port.
30
- def self.use_port_setting(setting)
31
- @port_setting = setting
32
- end
33
-
34
- # Specify the service to use when doing SRV record lookup
35
- def self.use_srv_service(service)
36
- @srv_service = service
37
- end
38
-
39
- def self.srv_service
40
- @srv_service || :puppet
41
- end
42
-
43
- # Select the server to use based on the settings configuration
44
- # for this indirection, taking into account the HA server list.
45
- def self.server
46
- Puppet::Util::Connection.determine_server(server_setting)
47
- end
48
-
49
- # Select the port to use based on the settings configuration
50
- # for this indirection, taking into account the HA server list.
51
- def self.port
52
- Puppet::Util::Connection.determine_port(port_setting, server_setting)
53
- end
54
-
55
- # Should we use puppet's http client to make requests. Will return
56
- # false when running in puppetserver
57
- def use_http_client?
58
- Puppet::Network::HttpPool.http_client_class == Puppet::Network::HTTP::Connection ||
59
- Puppet::Network::HttpPool.http_client_class == Puppet::Network::HTTP::ConnectionAdapter
60
- end
61
-
62
- # Provide appropriate headers.
63
- def headers
64
- # yaml is not allowed on the network
65
- network_formats = model.supported_formats - EXCLUDED_FORMATS
66
- mime_types = network_formats.map { |f| model.get_format(f).mime }
67
- common_headers = {
68
- "Accept" => mime_types.join(', '),
69
- Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version
70
- }
71
-
72
- add_accept_encoding(common_headers)
73
- end
74
-
75
- def add_profiling_header(headers)
76
- if (Puppet[:profile])
77
- headers[Puppet::Network::HTTP::HEADER_ENABLE_PROFILING] = "true"
78
- end
79
- headers
80
- end
81
-
82
- def network(request)
83
- ssl_context = Puppet.lookup(:ssl_context)
84
- Puppet::Network::HttpPool.connection(request.server || self.class.server,
85
- request.port || self.class.port,
86
- ssl_context: ssl_context)
87
- end
88
-
89
- def http_get(request, path, headers = nil, *args)
90
- http_request(:get, request, path, add_profiling_header(headers), *args)
91
- end
92
-
93
- def http_post(request, path, data, headers = nil, *args)
94
- http_request(:post, request, path, data, add_profiling_header(headers), *args)
95
- end
96
-
97
- def http_head(request, path, headers = nil, *args)
98
- http_request(:head, request, path, add_profiling_header(headers), *args)
99
- end
100
-
101
- def http_delete(request, path, headers = nil, *args)
102
- http_request(:delete, request, path, add_profiling_header(headers), *args)
103
- end
104
-
105
- def http_put(request, path, data, headers = nil, *args)
106
- http_request(:put, request, path, data, add_profiling_header(headers), *args)
107
- end
108
-
109
- def http_request(method, request, *args)
110
- conn = network(request)
111
- conn.send(method, *args)
112
- end
113
-
114
3
  def find(request)
115
- Puppet.deprecation_warning(_("Puppet::Indirector::Rest#find is deprecated. Use Puppet::HTTP::Client instead."))
116
- uri, body = IndirectedRoutes.request_to_uri_and_body(request)
117
- uri_with_query_string = "#{uri}?#{body}"
118
-
119
- response = do_request(request) do |req|
120
- # WEBrick in Ruby 1.9.1 only supports up to 1024 character lines in an HTTP request
121
- # http://redmine.ruby-lang.org/issues/show/3991
122
- if "GET #{uri_with_query_string} HTTP/1.1\r\n".length > 1024
123
- uri_with_env = "#{uri}?environment=#{request.environment.name}"
124
- http_post(req, uri_with_env, body, headers)
125
- else
126
- http_get(req, uri_with_query_string, headers)
127
- end
128
- end
129
-
130
- if is_http_200?(response)
131
- content_type, body = parse_response(response)
132
- result = deserialize_find(content_type, body)
133
- result.name = request.key if result.respond_to?(:name=)
134
- result
135
-
136
- elsif is_http_404?(response)
137
- return nil unless request.options[:fail_on_404]
138
-
139
- # 404 can get special treatment as the indirector API can not produce a meaningful
140
- # reason to why something is not found - it may not be the thing the user is
141
- # expecting to find that is missing, but something else (like the environment).
142
- # While this way of handling the issue is not perfect, there is at least an error
143
- # that makes a user aware of the reason for the failure.
144
- #
145
- _, body = parse_response(response)
146
- msg = _("Find %{uri} resulted in 404 with the message: %{body}") % { uri: elide(uri_with_query_string, 100), body: body }
147
- raise Puppet::Error, msg
148
- else
149
- nil
150
- end
4
+ raise NotImplementedError
151
5
  end
152
6
 
153
7
  def head(request)
154
- Puppet.deprecation_warning(_("Puppet::Indirector::Rest#head is deprecated. Use Puppet::HTTP::Client instead."))
155
- response = do_request(request) do |req|
156
- http_head(req, IndirectedRoutes.request_to_uri(req), headers)
157
- end
158
-
159
- if is_http_200?(response)
160
- true
161
- else
162
- false
163
- end
8
+ raise NotImplementedError
164
9
  end
165
10
 
166
11
  def search(request)
167
- Puppet.deprecation_warning(_("Puppet::Indirector::Rest#search is deprecated. Use Puppet::HTTP::Client instead."))
168
- response = do_request(request) do |req|
169
- http_get(req, IndirectedRoutes.request_to_uri(req), headers)
170
- end
171
-
172
- if is_http_200?(response)
173
- content_type, body = parse_response(response)
174
- deserialize_search(content_type, body) || []
175
- else
176
- []
177
- end
12
+ raise NotImplementedError
178
13
  end
179
14
 
180
15
  def destroy(request)
181
- Puppet.deprecation_warning(_("Puppet::Indirector::Rest#destroy is deprecated. Use Puppet::HTTP::Client instead."))
182
- raise ArgumentError, _("DELETE does not accept options") unless request.options.empty?
183
-
184
- response = do_request(request) do |req|
185
- http_delete(req, IndirectedRoutes.request_to_uri(req), headers)
186
- end
187
-
188
- if is_http_200?(response)
189
- content_type, body = parse_response(response)
190
- deserialize_destroy(content_type, body)
191
- else
192
- nil
193
- end
16
+ raise NotImplementedError
194
17
  end
195
18
 
196
19
  def save(request)
197
- Puppet.deprecation_warning(_("Puppet::Indirector::Rest#save is deprecated. Use Puppet::HTTP::Client instead."))
198
- raise ArgumentError, _("PUT does not accept options") unless request.options.empty?
199
-
200
- response = do_request(request) do |req|
201
- http_put(req, IndirectedRoutes.request_to_uri(req), req.instance.render, headers.merge({ "Content-Type" => req.instance.mime }))
202
- end
203
-
204
- if is_http_200?(response)
205
- content_type, body = parse_response(response)
206
- deserialize_save(content_type, body)
207
- else
208
- nil
209
- end
210
- end
211
-
212
- # Encapsulate call to request.do_request with the arguments from this class
213
- # Then yield to the code block that was called in
214
- # We certainly could have retained the full request.do_request(...) { |r| ... }
215
- # but this makes the code much cleaner and we only then actually make the call
216
- # to request.do_request from here, thus if we change what we pass or how we
217
- # get it, we only need to change it here.
218
- def do_request(request)
219
- response = request.do_request(self.class.srv_service, self.class.server, self.class.port) { |req| yield(req) }
220
-
221
- handle_response(request, response) if response
222
-
223
- response
224
- end
225
-
226
- def handle_response(request, response)
227
- server_version = response[Puppet::Network::HTTP::HEADER_PUPPET_VERSION]
228
- if server_version
229
- Puppet.lookup(:server_agent_version) do
230
- Puppet.push_context(:server_agent_version => server_version)
231
- end
232
- if SemanticPuppet::Version.parse(server_version).major < MAJOR_VERSION_JSON_DEFAULT &&
233
- Puppet[:preferred_serialization_format] != 'pson'
234
- #TRANSLATORS "PSON" should not be translated
235
- Puppet.warning(_("Downgrading to PSON for future requests"))
236
- Puppet[:preferred_serialization_format] = 'pson'
237
- end
238
- end
20
+ raise NotImplementedError
239
21
  end
240
22
 
241
23
  def validate_key(request)
@@ -244,67 +26,34 @@ class Puppet::Indirector::REST < Puppet::Indirector::Terminus
244
26
 
245
27
  private
246
28
 
247
- def is_http_200?(response)
248
- case response.code
249
- when "404"
250
- false
251
- when /^2/
252
- true
253
- else
254
- # Raise the http error if we didn't get a 'success' of some kind.
255
- raise convert_to_http_error(response)
256
- end
257
- end
258
-
259
- def is_http_404?(response)
260
- response.code == "404"
261
- end
262
-
263
29
  def convert_to_http_error(response)
264
- if response.body.to_s.empty? && response.respond_to?(:message)
265
- returned_message = response.message
30
+ if response.body.to_s.empty? && response.reason
31
+ returned_message = response.reason
266
32
  elsif response['content-type'].is_a?(String)
267
33
  content_type, body = parse_response(response)
268
34
  if content_type =~ /[pj]son/
269
35
  returned_message = Puppet::Util::Json.load(body)["message"]
270
36
  else
271
- returned_message = uncompress_body(response)
37
+ returned_message = response.body
272
38
  end
273
39
  else
274
- returned_message = uncompress_body(response)
40
+ returned_message = response.body
275
41
  end
276
42
 
277
43
  message = _("Error %{code} on SERVER: %{returned_message}") % { code: response.code, returned_message: returned_message }
278
- Net::HTTPError.new(message, response)
44
+ Net::HTTPError.new(message, Puppet::HTTP::ResponseConverter.to_ruby_response(response))
279
45
  end
280
46
 
281
47
  # Returns the content_type, stripping any appended charset, and the
282
- # body, decompressed if necessary (content-encoding is checked inside
283
- # uncompress_body)
48
+ # body, decompressed if necessary
284
49
  def parse_response(response)
285
50
  if response['content-type']
286
- [ response['content-type'].gsub(/\s*;.*$/,''), uncompress_body(response) ]
51
+ [ response['content-type'].gsub(/\s*;.*$/,''), response.body ]
287
52
  else
288
53
  raise _("No content type in http response; cannot parse")
289
54
  end
290
55
  end
291
56
 
292
- def deserialize_find(content_type, body)
293
- model.convert_from(content_type, body)
294
- end
295
-
296
- def deserialize_search(content_type, body)
297
- model.convert_from_multiple(content_type, body)
298
- end
299
-
300
- def deserialize_destroy(content_type, body)
301
- model.convert_from(content_type, body)
302
- end
303
-
304
- def deserialize_save(content_type, body)
305
- nil
306
- end
307
-
308
57
  def elide(string, length)
309
58
  if Puppet::Util::Log.level == :debug || string.length <= length
310
59
  string
@@ -143,10 +143,6 @@ class Puppet::Indirector::Terminus
143
143
  self.class.name
144
144
  end
145
145
 
146
- def require_environment?
147
- true
148
- end
149
-
150
146
  def allow_remote_requests?
151
147
  true
152
148
  end
@@ -76,7 +76,6 @@ class Puppet::Interface
76
76
  s.text(" ")
77
77
 
78
78
  options.each do |option|
79
- next if option == :extra
80
79
  option = get_option(option)
81
80
  wrap = option.required? ? %w{ < > } : %w{ [ ] }
82
81
 
@@ -50,6 +50,7 @@ class Puppet::Module
50
50
  RESERVED_DATA_TYPES = %w{any array boolean catalogentry class collection
51
51
  callable data default enum float hash integer numeric optional pattern
52
52
  resource runtime scalar string struct tuple type undef variant}
53
+ MOUNTS = %w[lib files plans]
53
54
 
54
55
  def self.is_plan_name?(name)
55
56
  return true if name =~ /^[a-z][a-z0-9_]*$/
@@ -45,7 +45,7 @@ class Puppet::Module
45
45
  end
46
46
 
47
47
  FORBIDDEN_EXTENSIONS = %w{.conf .md}
48
- MOUNTS = %w[files lib scripts tasks]
48
+ MOUNTS = %w[lib files tasks]
49
49
 
50
50
  def self.is_task_name?(name)
51
51
  return true if name =~ /^[a-z][a-z0-9_]*$/
data/lib/puppet/module.rb CHANGED
@@ -25,7 +25,6 @@ class Puppet::Module
25
25
  "plugins" => "lib",
26
26
  "pluginfacts" => "facts.d",
27
27
  "locales" => "locales",
28
- "scripts" => "scripts",
29
28
  }
30
29
 
31
30
  # Find and return the +module+ that +path+ belongs to. If +path+ is
@@ -59,10 +59,6 @@ module Puppet::ModuleTool
59
59
  results = { :action => :install, :module_name => name, :module_version => version }
60
60
 
61
61
  begin
62
- if !@local_tarball && name !~ /-/
63
- raise InvalidModuleNameError.new(module_name: @name, suggestion: "puppetlabs-#{@name}", action: :install)
64
- end
65
-
66
62
  installed_module = installed_modules[name]
67
63
  if installed_module
68
64
  unless forced?
@@ -135,58 +131,8 @@ module Puppet::ModuleTool
135
131
  begin
136
132
  Puppet.info _("Resolving dependencies ...")
137
133
  releases = SemanticPuppet::Dependency.resolve(graph)
138
- rescue SemanticPuppet::Dependency::UnsatisfiableGraph => e
139
- unsatisfied = nil
140
-
141
- if e.respond_to?(:unsatisfied) && e.unsatisfied
142
- constraints = {}
143
- # If the module we're installing satisfies all its
144
- # dependencies, but would break an already installed
145
- # module that depends on it, show what would break.
146
- if name == e.unsatisfied
147
- graph.constraints[name].each do |mod, range, _|
148
- next unless mod.split.include?('constraint')
149
-
150
- # If the user requested a specific version or range,
151
- # only show the modules with non-intersecting ranges
152
- if options[:version]
153
- requested_range = SemanticPuppet::VersionRange.parse(options[:version])
154
- constraint_range = SemanticPuppet::VersionRange.parse(range)
155
-
156
- if requested_range.intersection(constraint_range) == SemanticPuppet::VersionRange::EMPTY_RANGE
157
- constraints[mod.split.first] = range
158
- end
159
- else
160
- constraints[mod.split.first] = range
161
- end
162
- end
163
-
164
- # If the module fails to satisfy one of its
165
- # dependencies, show the unsatisfiable module
166
- else
167
- dep_constraints = graph.dependencies[name].max.constraints
168
-
169
- if dep_constraints.key?(e.unsatisfied)
170
- unsatisfied_range = dep_constraints[e.unsatisfied].first[1]
171
- constraints[e.unsatisfied] = unsatisfied_range
172
- end
173
- end
174
-
175
- installed_module = @environment.module_by_forge_name(e.unsatisfied.tr('-', '/'))
176
- current_version = installed_module.version if installed_module
177
-
178
- unsatisfied = {
179
- :name => e.unsatisfied,
180
- :constraints => constraints,
181
- :current_version => current_version
182
- } if constraints.any?
183
- end
184
-
185
- raise NoVersionsSatisfyError, results.merge(
186
- :requested_name => name,
187
- :requested_version => options[:version] || graph.dependencies[name].max.version.to_s,
188
- :unsatisfied => unsatisfied
189
- )
134
+ rescue SemanticPuppet::Dependency::UnsatisfiableGraph
135
+ raise NoVersionsSatisfyError, results.merge(:requested_name => name)
190
136
  end
191
137
 
192
138
  unless forced?
@@ -89,7 +89,7 @@ module Puppet::ModuleTool
89
89
  mod = @installed.first
90
90
 
91
91
  unless @ignore_changes
92
- raise _("Either the `--ignore_changes` or `--force` argument must be specified to uninstall modules when running in FIPS mode.") if Puppet.runtime[:facter].value(:fips_enabled)
92
+ raise _("Either the `--ignore_changes` or `--force` argument must be specified to uninstall modules when running in FIPS mode.") if Facter.value(:fips_enabled)
93
93
 
94
94
  changes = begin
95
95
  Puppet::ModuleTool::Applications::Checksummer.run(mod.path)
@@ -27,7 +27,7 @@ module Puppet::ModuleTool
27
27
 
28
28
  def run
29
29
  # Disallow anything that invokes md5 to avoid un-friendly termination due to FIPS
30
- raise _("Module upgrade is prohibited in FIPS mode.") if Puppet.runtime[:facter].value(:fips_enabled)
30
+ raise _("Module upgrade is prohibited in FIPS mode.") if Facter.value(:fips_enabled)
31
31
 
32
32
  name = @name.tr('/', '-')
33
33
  version = options[:version] || '>= 0.0.0'
@@ -5,7 +5,6 @@ module Puppet::ModuleTool
5
5
  require 'puppet/module_tool/applications/application'
6
6
  require 'puppet/module_tool/applications/checksummer'
7
7
  require 'puppet/module_tool/applications/installer'
8
- require 'puppet/module_tool/applications/searcher'
9
8
  require 'puppet/module_tool/applications/unpacker'
10
9
  require 'puppet/module_tool/applications/uninstaller'
11
10
  require 'puppet/module_tool/applications/upgrader'
@@ -7,7 +7,6 @@ module Puppet::ModuleTool::Errors
7
7
  @installed_version = options[:installed_version]
8
8
  @conditions = options[:conditions]
9
9
  @action = options[:action]
10
- @unsatisfied = options[:unsatisfied]
11
10
 
12
11
  super _("Could not %{action} '%{module_name}' (%{version}); no version satisfies all dependencies") % { action: @action, module_name: @requested_name, version: vstring }
13
12
  end
@@ -15,23 +14,9 @@ module Puppet::ModuleTool::Errors
15
14
  def multiline
16
15
  message = []
17
16
  message << _("Could not %{action} module '%{module_name}' (%{version})") % { action: @action, module_name: @requested_name, version: vstring }
18
-
19
- if @unsatisfied
20
- message << _(" The requested version cannot satisfy one or more of the following installed modules:")
21
- if @unsatisfied[:current_version]
22
- message << _(" %{name}, installed: %{current_version}, expected: %{constraints}") % { name: @unsatisfied[:name], current_version: @unsatisfied[:current_version], constraints: @unsatisfied[:constraints][@unsatisfied[:name]] }
23
- else
24
- @unsatisfied[:constraints].each do |mod, range|
25
- message << _(" %{mod}, expects '%{name}': %{range}") % { mod: mod, name: @requested_name, range: range }
26
- end
27
- end
28
- message << _("")
29
- else
30
- message << _(" The requested version cannot satisfy all dependencies")
31
- end
32
-
17
+ message << _(" No version of '%{module_name}' can satisfy all dependencies") % { module_name: @requested_name }
33
18
  #TRANSLATORS `puppet module %{action} --ignore-dependencies` is a command line and should not be translated
34
- message << _(" Use `puppet module %{action} '%{module_name}' --ignore-dependencies` to %{action} only this module") % { action: @action, module_name: @requested_name }
19
+ message << _(" Use `puppet module %{action} --ignore-dependencies` to %{action} only this module") % { action: @action }
35
20
  message.join("\n")
36
21
  end
37
22
  end
@@ -127,23 +112,6 @@ module Puppet::ModuleTool::Errors
127
112
  end
128
113
  end
129
114
 
130
- class InvalidModuleNameError < ModuleToolError
131
- def initialize(options)
132
- @module_name = options[:module_name]
133
- @suggestion = options[:suggestion]
134
- @action = options[:action]
135
- super _("Could not %{action} '%{module_name}', did you mean '%{suggestion}'?") % { action: @action, module_name: @module_name, suggestion: @suggestion }
136
- end
137
-
138
- def multiline
139
- message = []
140
- message << _("Could not %{action} module '%{module_name}'") % { action: @action, module_name: @module_name }
141
- message << _(" The name '%{module_name}' is invalid") % { module_name: @module_name }
142
- message << _(" Did you mean `puppet module %{action} %{suggestion}`?") % { action: @action, suggestion: @suggestion }
143
- message.join("\n")
144
- end
145
- end
146
-
147
115
  class NotInstalledError < ModuleToolError
148
116
  def initialize(options)
149
117
  @module_name = options[:module_name]
@@ -1,101 +1,7 @@
1
- require 'puppet/network/rights'
2
- require 'puppet/network/http'
3
-
4
1
  module Puppet
5
- class ConfigurationError < Puppet::Error; end
6
- class Network::DefaultAuthProvider
7
- attr_accessor :rights
8
-
9
- def self.master_url_prefix
10
- Puppet::Network::HTTP::MASTER_URL_PREFIX
11
- end
12
-
13
- def self.default_acl
14
- [
15
- # Master API V3
16
- { :acl => "#{master_url_prefix}/v3/environments", :method => :find, :allow => '*', :authenticated => true },
17
-
18
- { :acl => "~ ^#{master_url_prefix}\/v3\/catalog\/([^\/]+)$", :method => :find, :allow => '$1', :authenticated => true },
19
- { :acl => "~ ^#{master_url_prefix}\/v3\/node\/([^\/]+)$", :method => :find, :allow => '$1', :authenticated => true },
20
- { :acl => "~ ^#{master_url_prefix}\/v3\/report\/([^\/]+)$", :method => :save, :allow => '$1', :authenticated => true },
21
-
22
- # this one will allow all file access, and thus delegate
23
- # to fileserver.conf
24
- { :acl => "#{master_url_prefix}/v3/file" },
25
-
26
- { :acl => "#{master_url_prefix}/v3/status", :method => [:find], :authenticated => true },
27
- ]
28
- end
29
-
30
- # Just proxy the setting methods to our rights stuff
31
- [:allow, :deny].each do |method|
32
- define_method(method) do |*args|
33
- @rights.send(method, *args)
34
- end
35
- end
36
-
37
- # force regular ACLs to be present
38
- def insert_default_acl
39
- self.class.default_acl.each do |acl|
40
- unless rights[acl[:acl]]
41
- Puppet.info _("Inserting default '%{acl}' (auth %{auth}) ACL") % { acl: acl[:acl], auth: acl[:authenticated] }
42
- mk_acl(acl)
43
- end
44
- end
45
- # queue an empty (ie deny all) right for every other path
46
- # actually this is not strictly necessary as the rights system
47
- # denies not explicitly allowed paths
48
- unless rights["/"]
49
- rights.newright("/").restrict_authenticated(:any)
50
- end
51
- end
52
-
53
- def mk_acl(acl)
54
- right = @rights.newright(acl[:acl])
55
- right.allow(acl[:allow] || "*")
56
-
57
- method = acl[:method]
58
- if method
59
- method = [method] unless method.is_a?(Array)
60
- method.each { |m| right.restrict_method(m) }
61
- end
62
- right.restrict_authenticated(acl[:authenticated]) unless acl[:authenticated].nil?
63
- end
64
-
65
- # check whether this request is allowed in our ACL
66
- # raise an Puppet::Network::AuthorizedError if the request
67
- # is denied.
68
- def check_authorization(method, path, params)
69
- authorization_failure_exception = @rights.is_request_forbidden_and_why?(method, path, params)
70
- if authorization_failure_exception
71
- Puppet.warning(_("Denying access: %{authorization_failure_exception}") % { authorization_failure_exception: authorization_failure_exception })
72
- raise authorization_failure_exception
73
- end
74
- end
75
-
76
- def initialize(rights=nil)
77
- @rights = rights || Puppet::Network::Rights.new
78
- insert_default_acl
79
- end
80
- end
81
-
82
2
  class Network::AuthConfig
83
- @@authprovider_class = nil
84
-
85
- def self.authprovider_class=(klass)
86
- @@authprovider_class = klass
87
- end
88
-
89
- def self.authprovider_class
90
- @@authprovider_class || Puppet::Network::DefaultAuthProvider
91
- end
92
-
93
- def initialize(rights=nil)
94
- @authprovider = self.class.authprovider_class.new(rights)
95
- end
96
-
97
- def check_authorization(method, path, params)
98
- @authprovider.check_authorization(method, path, params)
3
+ def self.authprovider_class=(_)
4
+ # legacy auth is not supported, ignore
99
5
  end
100
6
  end
101
7
  end