puppet 6.22.1 → 6.25.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (415) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +5 -5
  3. data/Gemfile +2 -2
  4. data/Gemfile.lock +20 -20
  5. data/README.md +4 -4
  6. data/{ext → examples/enc}/regexp_nodes/classes/databases +0 -0
  7. data/{ext → examples/enc}/regexp_nodes/classes/webservers +0 -0
  8. data/{ext → examples/enc}/regexp_nodes/environment/development +0 -0
  9. data/{ext → examples/enc}/regexp_nodes/parameters/service/prod +0 -0
  10. data/{ext → examples/enc}/regexp_nodes/parameters/service/qa +0 -0
  11. data/{ext → examples/enc}/regexp_nodes/parameters/service/sandbox +0 -0
  12. data/{ext → examples/enc}/regexp_nodes/regexp_nodes.rb +0 -0
  13. data/{ext → examples}/nagios/check_puppet.rb +2 -2
  14. data/ext/README.md +13 -0
  15. data/ext/osx/puppet.plist +2 -0
  16. data/ext/project_data.yaml +1 -0
  17. data/lib/puppet/application/agent.rb +16 -5
  18. data/lib/puppet/application/apply.rb +22 -3
  19. data/lib/puppet/application/device.rb +2 -1
  20. data/lib/puppet/application/filebucket.rb +1 -0
  21. data/lib/puppet/application/resource.rb +32 -16
  22. data/lib/puppet/application/script.rb +2 -1
  23. data/lib/puppet/application/ssl.rb +1 -0
  24. data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
  25. data/lib/puppet/configurer/downloader.rb +2 -1
  26. data/lib/puppet/configurer.rb +144 -56
  27. data/lib/puppet/confine/variable.rb +1 -1
  28. data/lib/puppet/defaults.rb +47 -33
  29. data/lib/puppet/environments.rb +75 -25
  30. data/lib/puppet/face/facts.rb +1 -1
  31. data/lib/puppet/face/help/action.erb +1 -0
  32. data/lib/puppet/face/help/face.erb +1 -0
  33. data/lib/puppet/face/node/clean.rb +11 -0
  34. data/lib/puppet/facter_impl.rb +96 -0
  35. data/lib/puppet/file_serving/configuration/parser.rb +2 -0
  36. data/lib/puppet/file_serving/configuration.rb +3 -0
  37. data/lib/puppet/file_serving/fileset.rb +14 -2
  38. data/lib/puppet/file_serving/mount/file.rb +4 -4
  39. data/lib/puppet/file_serving/mount/scripts.rb +24 -0
  40. data/lib/puppet/file_system/file_impl.rb +3 -1
  41. data/lib/puppet/file_system/windows.rb +2 -2
  42. data/lib/puppet/forge.rb +4 -4
  43. data/lib/puppet/functions/all.rb +1 -1
  44. data/lib/puppet/functions/camelcase.rb +1 -1
  45. data/lib/puppet/functions/capitalize.rb +2 -2
  46. data/lib/puppet/functions/downcase.rb +2 -2
  47. data/lib/puppet/functions/empty.rb +8 -0
  48. data/lib/puppet/functions/find_template.rb +2 -2
  49. data/lib/puppet/functions/get.rb +5 -5
  50. data/lib/puppet/functions/group_by.rb +13 -5
  51. data/lib/puppet/functions/lest.rb +1 -1
  52. data/lib/puppet/functions/new.rb +100 -100
  53. data/lib/puppet/functions/partition.rb +4 -4
  54. data/lib/puppet/functions/require.rb +5 -5
  55. data/lib/puppet/functions/sort.rb +3 -3
  56. data/lib/puppet/functions/strftime.rb +1 -0
  57. data/lib/puppet/functions/tree_each.rb +7 -9
  58. data/lib/puppet/functions/type.rb +4 -4
  59. data/lib/puppet/functions/unwrap.rb +17 -2
  60. data/lib/puppet/functions/upcase.rb +2 -2
  61. data/lib/puppet/http/client.rb +1 -1
  62. data/lib/puppet/http/redirector.rb +5 -0
  63. data/lib/puppet/http/resolver/server_list.rb +15 -4
  64. data/lib/puppet/http/service/compiler.rb +75 -1
  65. data/lib/puppet/http/service/file_server.rb +2 -1
  66. data/lib/puppet/indirector/catalog/compiler.rb +25 -6
  67. data/lib/puppet/indirector/catalog/rest.rb +1 -0
  68. data/lib/puppet/indirector/facts/facter.rb +6 -6
  69. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  70. data/lib/puppet/indirector/indirection.rb +1 -1
  71. data/lib/puppet/indirector/resource/ral.rb +6 -1
  72. data/lib/puppet/indirector/terminus.rb +4 -0
  73. data/lib/puppet/interface/documentation.rb +1 -0
  74. data/lib/puppet/module/plan.rb +0 -1
  75. data/lib/puppet/module/task.rb +1 -1
  76. data/lib/puppet/module.rb +1 -0
  77. data/lib/puppet/module_tool/applications/installer.rb +12 -4
  78. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
  79. data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
  80. data/lib/puppet/module_tool/errors/shared.rb +17 -0
  81. data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
  82. data/lib/puppet/node/environment.rb +10 -11
  83. data/lib/puppet/pal/pal_impl.rb +1 -1
  84. data/lib/puppet/parser/functions/fqdn_rand.rb +14 -6
  85. data/lib/puppet/parser/resource.rb +1 -1
  86. data/lib/puppet/parser/scope.rb +1 -0
  87. data/lib/puppet/parser/templatewrapper.rb +1 -0
  88. data/lib/puppet/pops/evaluator/closure.rb +7 -5
  89. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +1 -0
  90. data/lib/puppet/pops/lookup/lookup_adapter.rb +3 -2
  91. data/lib/puppet/pops/model/ast.rb +1 -0
  92. data/lib/puppet/pops/model/factory.rb +2 -1
  93. data/lib/puppet/pops/parser/eparser.rb +201 -201
  94. data/lib/puppet/pops/parser/lexer2.rb +92 -91
  95. data/lib/puppet/pops/parser/slurp_support.rb +1 -0
  96. data/lib/puppet/pops/serialization/to_data_converter.rb +18 -6
  97. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
  98. data/lib/puppet/pops/types/p_sem_ver_type.rb +8 -2
  99. data/lib/puppet/pops/types/p_sensitive_type.rb +10 -0
  100. data/lib/puppet/pops/types/type_formatter.rb +4 -3
  101. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  102. data/lib/puppet/pops/types/types.rb +1 -1
  103. data/lib/puppet/provider/aix_object.rb +1 -1
  104. data/lib/puppet/provider/exec/posix.rb +16 -4
  105. data/lib/puppet/provider/group/groupadd.rb +5 -2
  106. data/lib/puppet/provider/package/nim.rb +11 -6
  107. data/lib/puppet/provider/package/pip.rb +15 -3
  108. data/lib/puppet/provider/package/pkg.rb +19 -2
  109. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
  110. data/lib/puppet/provider/package/yum.rb +1 -1
  111. data/lib/puppet/provider/parsedfile.rb +3 -0
  112. data/lib/puppet/provider/service/base.rb +1 -1
  113. data/lib/puppet/provider/service/init.rb +5 -5
  114. data/lib/puppet/provider/service/launchd.rb +2 -2
  115. data/lib/puppet/provider/service/redhat.rb +1 -1
  116. data/lib/puppet/provider/service/smf.rb +3 -3
  117. data/lib/puppet/provider/service/systemd.rb +15 -5
  118. data/lib/puppet/provider/service/upstart.rb +5 -5
  119. data/lib/puppet/provider/service/windows.rb +38 -0
  120. data/lib/puppet/provider/user/aix.rb +44 -1
  121. data/lib/puppet/provider/user/directoryservice.rb +26 -13
  122. data/lib/puppet/provider/user/useradd.rb +72 -16
  123. data/lib/puppet/provider.rb +1 -1
  124. data/lib/puppet/reference/configuration.rb +1 -1
  125. data/lib/puppet/reference/providers.rb +2 -2
  126. data/lib/puppet/resource/catalog.rb +1 -1
  127. data/lib/puppet/resource/type_collection.rb +1 -0
  128. data/lib/puppet/resource.rb +38 -5
  129. data/lib/puppet/runtime.rb +11 -1
  130. data/lib/puppet/settings.rb +32 -9
  131. data/lib/puppet/test/test_helper.rb +4 -1
  132. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  133. data/lib/puppet/transaction/persistence.rb +11 -1
  134. data/lib/puppet/transaction/report.rb +15 -1
  135. data/lib/puppet/type/exec.rb +35 -5
  136. data/lib/puppet/type/file/mode.rb +6 -0
  137. data/lib/puppet/type/file/selcontext.rb +1 -1
  138. data/lib/puppet/type/file.rb +25 -7
  139. data/lib/puppet/type/filebucket.rb +3 -3
  140. data/lib/puppet/type/group.rb +0 -1
  141. data/lib/puppet/type/resources.rb +1 -1
  142. data/lib/puppet/type/service.rb +26 -41
  143. data/lib/puppet/type/tidy.rb +22 -3
  144. data/lib/puppet/type/user.rb +38 -21
  145. data/lib/puppet/type.rb +1 -1
  146. data/lib/puppet/util/command_line.rb +1 -1
  147. data/lib/puppet/util/filetype.rb +2 -2
  148. data/lib/puppet/util/json.rb +3 -0
  149. data/lib/puppet/util/log.rb +1 -2
  150. data/lib/puppet/util/logging.rb +1 -25
  151. data/lib/puppet/util/pidlock.rb +1 -1
  152. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  153. data/lib/puppet/util/selinux.rb +30 -4
  154. data/lib/puppet/util/suidmanager.rb +1 -2
  155. data/lib/puppet/util/symbolic_file_mode.rb +29 -17
  156. data/lib/puppet/util/tagging.rb +1 -0
  157. data/lib/puppet/util/windows/service.rb +0 -5
  158. data/lib/puppet/util/windows/sid.rb +3 -1
  159. data/lib/puppet/util/windows/user.rb +0 -2
  160. data/lib/puppet/util/windows.rb +3 -0
  161. data/lib/puppet/util.rb +4 -3
  162. data/lib/puppet/version.rb +1 -1
  163. data/lib/puppet.rb +5 -9
  164. data/locales/puppet.pot +408 -364
  165. data/man/man5/puppet.conf.5 +303 -275
  166. data/man/man8/puppet-agent.8 +4 -1
  167. data/man/man8/puppet-apply.8 +1 -1
  168. data/man/man8/puppet-catalog.8 +9 -9
  169. data/man/man8/puppet-config.8 +1 -1
  170. data/man/man8/puppet-describe.8 +1 -1
  171. data/man/man8/puppet-device.8 +1 -1
  172. data/man/man8/puppet-doc.8 +1 -1
  173. data/man/man8/puppet-epp.8 +1 -1
  174. data/man/man8/puppet-facts.8 +8 -8
  175. data/man/man8/puppet-filebucket.8 +1 -1
  176. data/man/man8/puppet-generate.8 +1 -1
  177. data/man/man8/puppet-help.8 +1 -1
  178. data/man/man8/puppet-key.8 +7 -7
  179. data/man/man8/puppet-lookup.8 +1 -1
  180. data/man/man8/puppet-man.8 +1 -1
  181. data/man/man8/puppet-module.8 +3 -3
  182. data/man/man8/puppet-node.8 +5 -5
  183. data/man/man8/puppet-parser.8 +1 -1
  184. data/man/man8/puppet-plugin.8 +1 -1
  185. data/man/man8/puppet-report.8 +5 -5
  186. data/man/man8/puppet-resource.8 +1 -1
  187. data/man/man8/puppet-script.8 +1 -1
  188. data/man/man8/puppet-ssl.8 +1 -1
  189. data/man/man8/puppet-status.8 +4 -4
  190. data/man/man8/puppet.8 +2 -2
  191. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +2 -1
  192. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +3 -0
  193. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +4 -0
  194. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +3 -0
  195. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +8 -0
  196. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +25 -0
  197. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +19 -0
  198. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +20 -0
  199. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +8 -0
  200. data/spec/fixtures/ssl/127.0.0.1-key.pem +107 -57
  201. data/spec/fixtures/ssl/127.0.0.1.pem +52 -31
  202. data/spec/fixtures/ssl/bad-basic-constraints.pem +57 -35
  203. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +57 -35
  204. data/spec/fixtures/ssl/ca.pem +57 -35
  205. data/spec/fixtures/ssl/crl.pem +28 -18
  206. data/spec/fixtures/ssl/ec-key.pem +11 -11
  207. data/spec/fixtures/ssl/ec.pem +33 -24
  208. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  209. data/spec/fixtures/ssl/encrypted-key.pem +108 -58
  210. data/spec/fixtures/ssl/intermediate-agent-crl.pem +28 -19
  211. data/spec/fixtures/ssl/intermediate-agent.pem +57 -36
  212. data/spec/fixtures/ssl/intermediate-crl.pem +31 -21
  213. data/spec/fixtures/ssl/intermediate.pem +57 -36
  214. data/spec/fixtures/ssl/oid-key.pem +117 -0
  215. data/spec/fixtures/ssl/oid.pem +69 -0
  216. data/spec/fixtures/ssl/pluto-key.pem +107 -57
  217. data/spec/fixtures/ssl/pluto.pem +52 -30
  218. data/spec/fixtures/ssl/request-key.pem +107 -57
  219. data/spec/fixtures/ssl/request.pem +47 -26
  220. data/spec/fixtures/ssl/revoked-key.pem +107 -57
  221. data/spec/fixtures/ssl/revoked.pem +52 -30
  222. data/spec/fixtures/ssl/signed-key.pem +107 -57
  223. data/spec/fixtures/ssl/signed.pem +52 -30
  224. data/spec/fixtures/ssl/tampered-cert.pem +52 -30
  225. data/spec/fixtures/ssl/tampered-csr.pem +47 -26
  226. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +5 -0
  227. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +107 -57
  228. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +50 -29
  229. data/spec/fixtures/ssl/unknown-ca-key.pem +107 -57
  230. data/spec/fixtures/ssl/unknown-ca.pem +55 -33
  231. data/spec/integration/application/agent_spec.rb +141 -37
  232. data/spec/integration/application/filebucket_spec.rb +16 -0
  233. data/spec/integration/application/module_spec.rb +21 -0
  234. data/spec/integration/application/resource_spec.rb +64 -0
  235. data/spec/integration/application/ssl_spec.rb +20 -0
  236. data/spec/integration/configurer_spec.rb +18 -2
  237. data/spec/integration/environments/settings_interpolation_spec.rb +0 -4
  238. data/spec/integration/indirector/facts/facter_spec.rb +93 -39
  239. data/spec/integration/l10n/compiler_spec.rb +37 -0
  240. data/spec/integration/parser/pcore_resource_spec.rb +10 -0
  241. data/spec/integration/transaction/report_spec.rb +1 -1
  242. data/spec/integration/type/exec_spec.rb +70 -45
  243. data/spec/integration/type/file_spec.rb +2 -2
  244. data/spec/integration/type/package_spec.rb +6 -6
  245. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  246. data/spec/integration/util/windows/process_spec.rb +1 -9
  247. data/spec/lib/puppet/test_ca.rb +7 -2
  248. data/spec/lib/puppet_spec/modules.rb +13 -2
  249. data/spec/lib/puppet_spec/puppetserver.rb +15 -0
  250. data/spec/lib/puppet_spec/settings.rb +1 -0
  251. data/spec/shared_behaviours/documentation_on_faces.rb +0 -2
  252. data/spec/shared_contexts/l10n.rb +27 -0
  253. data/spec/spec_helper.rb +1 -10
  254. data/spec/unit/application/agent_spec.rb +7 -2
  255. data/spec/unit/application/apply_spec.rb +76 -56
  256. data/spec/unit/application/resource_spec.rb +29 -0
  257. data/spec/unit/configurer/downloader_spec.rb +6 -0
  258. data/spec/unit/configurer_spec.rb +256 -57
  259. data/spec/unit/defaults_spec.rb +1 -0
  260. data/spec/unit/environments_spec.rb +184 -0
  261. data/spec/unit/facter_impl_spec.rb +31 -0
  262. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  263. data/spec/unit/file_serving/configuration/parser_spec.rb +23 -0
  264. data/spec/unit/file_serving/configuration_spec.rb +14 -4
  265. data/spec/unit/file_serving/fileset_spec.rb +60 -0
  266. data/spec/unit/file_serving/mount/scripts_spec.rb +69 -0
  267. data/spec/unit/file_system_spec.rb +13 -0
  268. data/spec/unit/functions/assert_type_spec.rb +1 -1
  269. data/spec/unit/functions/empty_spec.rb +10 -0
  270. data/spec/unit/functions/logging_spec.rb +1 -0
  271. data/spec/unit/functions/lookup_spec.rb +64 -0
  272. data/spec/unit/functions/unwrap_spec.rb +8 -0
  273. data/spec/unit/functions4_spec.rb +2 -2
  274. data/spec/unit/gettext/config_spec.rb +12 -0
  275. data/spec/unit/http/client_spec.rb +58 -1
  276. data/spec/unit/http/service/compiler_spec.rb +131 -0
  277. data/spec/unit/indirector/catalog/compiler_spec.rb +101 -10
  278. data/spec/unit/indirector/catalog/rest_spec.rb +8 -0
  279. data/spec/unit/indirector/indirection_spec.rb +10 -3
  280. data/spec/unit/indirector/resource/ral_spec.rb +40 -75
  281. data/spec/unit/interface/action_spec.rb +0 -9
  282. data/spec/unit/module_spec.rb +15 -1
  283. data/spec/unit/module_tool/applications/installer_spec.rb +51 -12
  284. data/spec/unit/network/authstore_spec.rb +0 -15
  285. data/spec/unit/network/formats_spec.rb +6 -0
  286. data/spec/unit/parser/functions/fqdn_rand_spec.rb +15 -1
  287. data/spec/unit/parser/templatewrapper_spec.rb +12 -2
  288. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -11
  289. data/spec/unit/pops/serialization/to_from_hr_spec.rb +58 -0
  290. data/spec/unit/pops/serialization/to_stringified_spec.rb +5 -0
  291. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +18 -0
  292. data/spec/unit/pops/types/p_sensitive_type_spec.rb +18 -0
  293. data/spec/unit/pops/types/type_calculator_spec.rb +6 -0
  294. data/spec/unit/provider/package/gem_spec.rb +1 -1
  295. data/spec/unit/provider/package/nim_spec.rb +42 -0
  296. data/spec/unit/provider/package/pip2_spec.rb +1 -1
  297. data/spec/unit/provider/package/pip3_spec.rb +1 -1
  298. data/spec/unit/provider/package/pip_spec.rb +38 -1
  299. data/spec/unit/provider/package/pkg_spec.rb +29 -4
  300. data/spec/unit/provider/package/puppet_gem_spec.rb +1 -1
  301. data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
  302. data/spec/unit/provider/parsedfile_spec.rb +10 -0
  303. data/spec/unit/provider/service/init_spec.rb +1 -0
  304. data/spec/unit/provider/service/launchd_spec.rb +11 -0
  305. data/spec/unit/provider/service/openwrt_spec.rb +3 -1
  306. data/spec/unit/provider/service/systemd_spec.rb +43 -9
  307. data/spec/unit/provider/service/windows_spec.rb +202 -0
  308. data/spec/unit/provider/user/aix_spec.rb +100 -0
  309. data/spec/unit/provider/user/directoryservice_spec.rb +68 -36
  310. data/spec/unit/provider/user/useradd_spec.rb +43 -2
  311. data/spec/unit/provider_spec.rb +4 -4
  312. data/spec/unit/puppet_spec.rb +12 -4
  313. data/spec/unit/resource/catalog_spec.rb +14 -1
  314. data/spec/unit/resource_spec.rb +58 -2
  315. data/spec/unit/settings_spec.rb +97 -56
  316. data/spec/unit/ssl/certificate_request_spec.rb +8 -14
  317. data/spec/unit/ssl/state_machine_spec.rb +19 -5
  318. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -2
  319. data/spec/unit/transaction_spec.rb +18 -20
  320. data/spec/unit/type/exec_spec.rb +76 -29
  321. data/spec/unit/type/file/selinux_spec.rb +3 -3
  322. data/spec/unit/type/file/source_spec.rb +4 -4
  323. data/spec/unit/type/service_spec.rb +86 -188
  324. data/spec/unit/type/tidy_spec.rb +24 -7
  325. data/spec/unit/type/user_spec.rb +45 -0
  326. data/spec/unit/type_spec.rb +2 -2
  327. data/spec/unit/util/logging_spec.rb +2 -0
  328. data/spec/unit/util/selinux_spec.rb +87 -16
  329. data/spec/unit/util/windows/sid_spec.rb +39 -4
  330. data/tasks/generate_cert_fixtures.rake +12 -3
  331. data/tasks/parallel.rake +3 -3
  332. metadata +49 -95
  333. data/ext/README.environment +0 -8
  334. data/ext/dbfix.sql +0 -132
  335. data/ext/debian/README.Debian +0 -8
  336. data/ext/debian/README.source +0 -2
  337. data/ext/debian/TODO.Debian +0 -1
  338. data/ext/debian/changelog.erb +0 -1122
  339. data/ext/debian/compat +0 -1
  340. data/ext/debian/control +0 -144
  341. data/ext/debian/copyright +0 -339
  342. data/ext/debian/docs +0 -1
  343. data/ext/debian/fileserver.conf +0 -41
  344. data/ext/debian/puppet-common.dirs +0 -13
  345. data/ext/debian/puppet-common.install +0 -3
  346. data/ext/debian/puppet-common.lintian-overrides +0 -5
  347. data/ext/debian/puppet-common.manpages +0 -28
  348. data/ext/debian/puppet-common.postinst +0 -35
  349. data/ext/debian/puppet-common.postrm +0 -33
  350. data/ext/debian/puppet-el.dirs +0 -1
  351. data/ext/debian/puppet-el.emacsen-install +0 -25
  352. data/ext/debian/puppet-el.emacsen-remove +0 -11
  353. data/ext/debian/puppet-el.emacsen-startup +0 -9
  354. data/ext/debian/puppet-el.install +0 -1
  355. data/ext/debian/puppet-testsuite.install +0 -2
  356. data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
  357. data/ext/debian/puppet.lintian-overrides +0 -3
  358. data/ext/debian/puppet.logrotate +0 -20
  359. data/ext/debian/puppet.postinst +0 -20
  360. data/ext/debian/puppet.postrm +0 -20
  361. data/ext/debian/puppet.preinst +0 -20
  362. data/ext/debian/puppetmaster-common.install +0 -2
  363. data/ext/debian/puppetmaster-common.manpages +0 -2
  364. data/ext/debian/puppetmaster-common.postinst +0 -6
  365. data/ext/debian/puppetmaster-passenger.dirs +0 -4
  366. data/ext/debian/puppetmaster-passenger.postinst +0 -162
  367. data/ext/debian/puppetmaster-passenger.postrm +0 -61
  368. data/ext/debian/puppetmaster.README.debian +0 -17
  369. data/ext/debian/puppetmaster.default +0 -14
  370. data/ext/debian/puppetmaster.init +0 -137
  371. data/ext/debian/puppetmaster.lintian-overrides +0 -3
  372. data/ext/debian/puppetmaster.postinst +0 -20
  373. data/ext/debian/puppetmaster.postrm +0 -5
  374. data/ext/debian/puppetmaster.preinst +0 -22
  375. data/ext/debian/rules +0 -132
  376. data/ext/debian/source/format +0 -1
  377. data/ext/debian/source/options +0 -1
  378. data/ext/debian/vim-puppet.README.Debian +0 -13
  379. data/ext/debian/vim-puppet.dirs +0 -5
  380. data/ext/debian/vim-puppet.yaml +0 -7
  381. data/ext/debian/watch +0 -2
  382. data/ext/freebsd/puppetd +0 -26
  383. data/ext/freebsd/puppetmasterd +0 -26
  384. data/ext/gentoo/conf.d/puppet +0 -5
  385. data/ext/gentoo/conf.d/puppetmaster +0 -12
  386. data/ext/gentoo/init.d/puppet +0 -38
  387. data/ext/gentoo/init.d/puppetmaster +0 -51
  388. data/ext/gentoo/puppet/fileserver.conf +0 -41
  389. data/ext/ips/puppet-agent +0 -44
  390. data/ext/ips/puppet-master +0 -44
  391. data/ext/ips/puppet.p5m.erb +0 -12
  392. data/ext/ips/puppetagent.xml +0 -42
  393. data/ext/ips/puppetmaster.xml +0 -42
  394. data/ext/ips/rules +0 -19
  395. data/ext/ips/transforms +0 -34
  396. data/ext/ldap/puppet.schema +0 -24
  397. data/ext/logcheck/puppet +0 -23
  398. data/ext/osx/file_mapping.yaml +0 -33
  399. data/ext/osx/postflight.erb +0 -109
  400. data/ext/osx/preflight.erb +0 -52
  401. data/ext/osx/prototype.plist.erb +0 -38
  402. data/ext/redhat/fileserver.conf +0 -41
  403. data/ext/redhat/logrotate +0 -21
  404. data/ext/redhat/puppet.spec.erb +0 -842
  405. data/ext/redhat/server.init +0 -128
  406. data/ext/redhat/server.sysconfig +0 -13
  407. data/ext/solaris/pkginfo +0 -6
  408. data/ext/solaris/smf/puppetd.xml +0 -77
  409. data/ext/solaris/smf/puppetmasterd.xml +0 -77
  410. data/ext/solaris/smf/svc-puppetd +0 -71
  411. data/ext/solaris/smf/svc-puppetmasterd +0 -67
  412. data/ext/suse/puppet.spec +0 -310
  413. data/ext/suse/server.init +0 -173
  414. data/ext/yaml_nodes.rb +0 -105
  415. data/spec/unit/indirector/store_configs_spec.rb +0 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a807e1e8a70b658cf3b5a430ef99e3cdea58da2ea4c0854c23c7fcf1ae8bd0c3
4
- data.tar.gz: 37fb5485826b52ce246a27c9b2c5c79df4b281743842a33a087692e4b429abdc
3
+ metadata.gz: 2a724a353bb29f1314e51c03a2cf0b635f6f517487e123270d409515a785eb3e
4
+ data.tar.gz: 789282cad7e0859aada719aa40f7869eac73c2ef018fcd5193863a2dd6b2aa6c
5
5
  SHA512:
6
- metadata.gz: bdf22c7e19c448567811224ff61b29928894296ad31b24741083a29bddc0197e60e177576c20e76fd3fb983da968fb19d3d8c225657dc5071e610b406155460c
7
- data.tar.gz: d50e5a0ce643431eb1d09ac77f67d1a3cca01f0044b822898cdc23b21d52713958cad91f0f185535f1025437a715797de4c2fdabf8c512c9f4b155fe7ee9b3ee
6
+ metadata.gz: 73aef7b4f28354fb4e450cca3fd72a403294e59bd370c34e3b7fc28cd05436cd2934979081d3bd4855c98a4a7a3224082bfea9ee125b14263b6f10b531076ee0
7
+ data.tar.gz: c67974115ff032d5f877028ca2d461f736c0c6c12538ec35482aa6ed19f9ffead3ae3c22228a432b69276afbfa4e62d720942c02a45c4fba432a93af4d8b4fbb
data/CONTRIBUTING.md CHANGED
@@ -38,12 +38,12 @@ the [puppet-dev mailing list](https://groups.google.com/forum/#!forum/puppet-dev
38
38
  ## Making Changes
39
39
 
40
40
  * Create a topic branch from where you want to base your work.
41
- * This is usually the master branch.
41
+ * This is usually the main branch.
42
42
  * Only target release branches if you are certain your fix must be on that
43
43
  branch.
44
- * To quickly create a topic branch based on master, run `git checkout -b
45
- fix/master/my_contribution master`. Please avoid working directly on the
46
- `master` branch.
44
+ * To quickly create a topic branch based on main, run `git checkout -b
45
+ fix/main/my_contribution main`. Please avoid working directly on the
46
+ `main` branch.
47
47
  * Make commits of logical and atomic units.
48
48
  * Check for unnecessary whitespace with `git diff --check` before committing.
49
49
  * Make sure your commit messages are in the proper format. If the commit
@@ -65,7 +65,7 @@ the [puppet-dev mailing list](https://groups.google.com/forum/#!forum/puppet-dev
65
65
  why this is a problem, and how the patch fixes the problem when applied.
66
66
  ```
67
67
  * Make sure you have added the necessary tests for your changes.
68
- * For details on how to run tests, please see [the quickstart guide](https://github.com/puppetlabs/puppet/blob/master/docs/quickstart.md)
68
+ * For details on how to run tests, please see [the quickstart guide](https://github.com/puppetlabs/puppet/blob/main/docs/quickstart.md)
69
69
 
70
70
  ## Writing Translatable Code
71
71
 
data/Gemfile CHANGED
@@ -55,7 +55,7 @@ end
55
55
  group(:development, optional: true) do
56
56
  gem 'memory_profiler', require: false, platforms: [:mri]
57
57
  gem 'pry', require: false, platforms: [:ruby]
58
- gem "racc", "1.4.9", require: false, platforms: [:ruby]
58
+ gem "racc", "1.5.2", require: false, platforms: [:ruby]
59
59
  if RUBY_PLATFORM != 'java' && RUBY_VERSION.to_f >= 2.5
60
60
  gem 'ruby-prof', '>= 0.16.0', require: false
61
61
  end
@@ -65,7 +65,7 @@ group(:packaging) do
65
65
  gem 'packaging', *location_for(ENV['PACKAGING_LOCATION'] || '~> 0.99')
66
66
  end
67
67
 
68
- group(:documentation) do
68
+ group(:documentation, optional: true) do
69
69
  gem 'gettext-setup', '~> 0.28', require: false, platforms: [:ruby]
70
70
  gem 'ronn', '~> 0.7.3', require: false, platforms: [:ruby]
71
71
  end
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  GIT
2
- remote: git://github.com/ciprianbadescu/packaging
3
- revision: 5f8d2bda941abfeeb8fb1731c9b1dd4d108f5d33
4
- branch: maint/windows-signing
2
+ remote: git://github.com/puppetlabs/packaging
3
+ revision: 4c5359786cad0d12877e10e98948065bfeb3e304
4
+ branch: 1.0.x
5
5
  specs:
6
- packaging (0.99.49.171.g5f8d2bd)
6
+ packaging (0.103.0)
7
7
  artifactory (~> 2)
8
8
  csv (= 3.1.5)
9
9
  rake (>= 12.3)
@@ -12,7 +12,7 @@ GIT
12
12
  PATH
13
13
  remote: .
14
14
  specs:
15
- puppet (6.22.1)
15
+ puppet (6.25.1)
16
16
  CFPropertyList (~> 2.2)
17
17
  concurrent-ruby (~> 1.0)
18
18
  deep_merge (~> 1.0)
@@ -28,23 +28,23 @@ GEM
28
28
  remote: https://artifactory.delivery.puppetlabs.net/artifactory/api/gems/rubygems/
29
29
  specs:
30
30
  CFPropertyList (2.3.6)
31
- addressable (2.7.0)
31
+ addressable (2.8.0)
32
32
  public_suffix (>= 2.0.2, < 5.0)
33
33
  artifactory (2.8.2)
34
34
  ast (2.4.2)
35
35
  coderay (1.1.3)
36
- concurrent-ruby (1.1.8)
36
+ concurrent-ruby (1.1.9)
37
37
  crack (0.4.5)
38
38
  rexml
39
39
  csv (3.1.5)
40
40
  deep_merge (1.2.1)
41
41
  diff-lcs (1.4.4)
42
42
  docopt (0.6.1)
43
- facter (4.1.1)
43
+ facter (4.2.5)
44
44
  hocon (~> 1.3)
45
45
  thor (>= 1.0.1, < 2.0)
46
46
  fast_gettext (1.1.2)
47
- ffi (1.15.0)
47
+ ffi (1.15.4)
48
48
  gettext (3.2.9)
49
49
  locale (>= 2.0.5)
50
50
  text (>= 1.3.0)
@@ -54,7 +54,7 @@ GEM
54
54
  locale
55
55
  hashdiff (1.0.1)
56
56
  hiera (3.7.0)
57
- hiera-eyaml (3.2.1)
57
+ hiera-eyaml (3.2.2)
58
58
  highline
59
59
  optimist
60
60
  highline (2.0.3)
@@ -71,7 +71,7 @@ GEM
71
71
  multi_json (1.15.0)
72
72
  mustache (1.1.1)
73
73
  optimist (3.0.1)
74
- parallel (1.20.1)
74
+ parallel (1.21.0)
75
75
  parser (2.7.2.0)
76
76
  ast (~> 2.4.1)
77
77
  powerpack (0.1.3)
@@ -79,16 +79,16 @@ GEM
79
79
  coderay (~> 1.1)
80
80
  method_source (~> 1.0)
81
81
  public_suffix (4.0.6)
82
- puppet-resource_api (1.8.13)
82
+ puppet-resource_api (1.8.14)
83
83
  hocon (>= 1.0)
84
- puppetserver-ca (1.9.4)
84
+ puppetserver-ca (1.11.6)
85
85
  facter (>= 2.0.1, < 5)
86
- racc (1.4.9)
86
+ racc (1.5.2)
87
87
  rainbow (2.2.2)
88
88
  rake
89
89
  rake (12.3.3)
90
90
  rdiscount (2.2.0.2)
91
- rdoc (6.3.0)
91
+ rdoc (6.3.2)
92
92
  release-metrics (1.1.0)
93
93
  csv
94
94
  docopt
@@ -124,13 +124,13 @@ GEM
124
124
  rubocop (~> 0.49.0)
125
125
  ruby-prof (1.4.3)
126
126
  ruby-progressbar (1.11.0)
127
- semantic_puppet (1.0.3)
127
+ semantic_puppet (1.0.4)
128
128
  text (1.3.1)
129
129
  thor (1.1.0)
130
- unicode-display_width (1.7.0)
130
+ unicode-display_width (1.8.0)
131
131
  vcr (5.1.0)
132
- webmock (3.12.2)
133
- addressable (>= 2.3.6)
132
+ webmock (3.14.0)
133
+ addressable (>= 2.8.0)
134
134
  crack (>= 0.3.2)
135
135
  hashdiff (>= 0.4.0, < 2.0.0)
136
136
  yard (0.9.26)
@@ -153,7 +153,7 @@ DEPENDENCIES
153
153
  puppet!
154
154
  puppet-resource_api (~> 1.5)
155
155
  puppetserver-ca (~> 1.1)
156
- racc (= 1.4.9)
156
+ racc (= 1.5.2)
157
157
  rake (~> 12.2)
158
158
  rdoc (~> 6.0)
159
159
  ronn (~> 0.7.3)
data/README.md CHANGED
@@ -33,16 +33,16 @@ see the [Quick Start to Developing on Puppet](docs/quickstart.md) guide.
33
33
 
34
34
  We'd love to get contributions from you! For a quick guide to getting your
35
35
  system setup for developing, take a look at our [Quickstart
36
- Guide](https://github.com/puppetlabs/puppet/blob/master/docs/quickstart.md). Once you are up and running, take a look at the
37
- [Contribution Documents](https://github.com/puppetlabs/puppet/blob/master/CONTRIBUTING.md) to see how to get your changes merged
36
+ Guide](https://github.com/puppetlabs/puppet/blob/main/docs/quickstart.md). Once you are up and running, take a look at the
37
+ [Contribution Documents](https://github.com/puppetlabs/puppet/blob/main/CONTRIBUTING.md) to see how to get your changes merged
38
38
  in.
39
39
 
40
40
  For more complete docs on developing with Puppet, take a look at the
41
- rest of the [developer documents](https://github.com/puppetlabs/puppet/blob/master/docs/index.md).
41
+ rest of the [developer documents](https://github.com/puppetlabs/puppet/blob/main/docs/index.md).
42
42
 
43
43
  ## Licensing
44
44
 
45
- See [LICENSE](https://github.com/puppetlabs/puppet/blob/master/LICENSE) file. Puppet is licensed by Puppet, Inc. under the Apache license. Puppet, Inc. can be contacted at: info@puppet.com
45
+ See [LICENSE](https://github.com/puppetlabs/puppet/blob/main/LICENSE) file. Puppet is licensed by Puppet, Inc. under the Apache license. Puppet, Inc. can be contacted at: info@puppet.com
46
46
 
47
47
  ## Support
48
48
 
File without changes
@@ -11,8 +11,8 @@ class CheckPuppet
11
11
 
12
12
  # default options
13
13
  OPTIONS = {
14
- :statefile => "/var/lib/puppet/state/state.yaml",
15
- :process => "puppetd",
14
+ :statefile => "/opt/puppetlabs/puppet/cache/state/state.yaml",
15
+ :process => "puppet",
16
16
  :interval => 30,
17
17
  }
18
18
 
data/ext/README.md ADDED
@@ -0,0 +1,13 @@
1
+ # `ext/` directory details
2
+ This directory contains files used internally when packaging [puppet](https://github.com/puppetlabs/puppet) and [puppet-agent](https://github.com/puppetlabs/puppet-agent)
3
+ What follows is a more detailed description of each directory/file:
4
+ * `debian/` - init scripts for puppet (used for Debian-based platforms that do not support systemd)
5
+ * `hiera/hiera.yaml` - installed to `$codedir/environments/production`as a default Hiera configuration file
6
+ * `osx/puppet.plist` - puppet launchd plist for macOS
7
+ * `redhat/` - init scripts for puppet (used for EL-based platforms that do not support systemd)
8
+ * `solaris/smf/` - service manifests for Solaris 11
9
+ * `suse/client.init` - init script for puppet (used for SUSE-based platforms that do not support systemd)
10
+ * `systemd/puppet.service` - systemd unit file for puppet
11
+ * `windows/` - the puppet daemon for Windows, and other useful `.bat` helper wrappers
12
+ * `build_defaults.yaml` - information pertaining to the puppetlabs build automation
13
+ * `project_data.yaml` - information used when packaging the puppet gem
data/ext/osx/puppet.plist CHANGED
@@ -26,5 +26,7 @@
26
26
  <string>/var/log/puppetlabs/puppet/puppet.log</string>
27
27
  <key>StandardOutPath</key>
28
28
  <string>/var/log/puppetlabs/puppet/puppet.log</string>
29
+ <key>SessionCreate</key>
30
+ <true />
29
31
  </dict>
30
32
  </plist>
@@ -13,6 +13,7 @@ gem_files: '[A-Z]* install.rb bin lib conf man examples ext tasks spec locales'
13
13
  gem_test_files: 'spec/**/*'
14
14
  gem_executables: 'puppet'
15
15
  gem_default_executables: 'puppet'
16
+ gem_license: 'Apache-2.0'
16
17
  gem_forge_project: 'puppet'
17
18
  gem_required_ruby_version: '>= 2.3.0'
18
19
  gem_required_rubygems_version: '> 1.3.1'
@@ -133,9 +133,12 @@ Some flags are meant specifically for interactive use --- in particular,
133
133
  'test', 'tags' and 'fingerprint' are useful.
134
134
 
135
135
  '--test' runs once in the foreground with verbose logging, then exits.
136
- It also exits if it can't get a valid catalog. `--test` includes the '--detailed-exitcodes' option by default and exits with one of the following exit codes:
136
+ It also exits if it can't get a valid catalog. `--test` includes the
137
+ '--detailed-exitcodes' option by default and exits with one of the following
138
+ exit codes:
137
139
 
138
- * 0: The run succeeded with no changes or failures; the system was already in the desired state.
140
+ * 0: The run succeeded with no changes or failures; the system was already in
141
+ the desired state.
139
142
  * 1: The run failed, or wasn't attempted due to another run already in progress.
140
143
  * 2: The run succeeded, and some resources were changed.
141
144
  * 4: The run succeeded, and some resources failed.
@@ -246,7 +249,9 @@ generated by running puppet agent with '--genconfig'.
246
249
  'puppet agent' exits after executing this.
247
250
 
248
251
  * --evaltrace:
249
- Logs each resource as it is being evaluated. This allows you to interactively see exactly what is being done. (This is a Puppet setting, and can go in puppet.conf. Note the special 'no-' prefix for boolean settings on the command line.)
252
+ Logs each resource as it is being evaluated. This allows you to interactively
253
+ see exactly what is being done. (This is a Puppet setting, and can go in
254
+ puppet.conf. Note the special 'no-' prefix for boolean settings on the command line.)
250
255
 
251
256
  * --fingerprint:
252
257
  Display the current certificate or certificate signing request
@@ -267,7 +272,8 @@ generated by running puppet agent with '--genconfig'.
267
272
  service), 'eventlog' (the Windows Event Log), 'console', or the path to a log
268
273
  file. If debugging or verbosity is enabled, this defaults to 'console'.
269
274
  Otherwise, it defaults to 'syslog' on POSIX systems and 'eventlog' on Windows.
270
- Multiple destinations can be set using a comma separated list (eg: `/path/file1,console,/path/file2`)"
275
+ Multiple destinations can be set using a comma separated list
276
+ (eg: `/path/file1,console,/path/file2`)"
271
277
 
272
278
  A path ending with '.json' will receive structured output in JSON format. The
273
279
  log file will not have an ending ']' automatically written to it due to the
@@ -310,7 +316,8 @@ generated by running puppet agent with '--genconfig'.
310
316
  'no-splay', and 'show_diff'.
311
317
 
312
318
  * --trace
313
- Prints stack traces on some errors. (This is a Puppet setting, and can go in puppet.conf. Note the special 'no-' prefix for boolean settings on the command line.)
319
+ Prints stack traces on some errors. (This is a Puppet setting, and can go in
320
+ puppet.conf. Note the special 'no-' prefix for boolean settings on the command line.)
314
321
 
315
322
  * --verbose:
316
323
  Turn on verbose reporting.
@@ -327,6 +334,10 @@ generated by running puppet agent with '--genconfig'.
327
334
  specifying a time of 0.
328
335
  (This is a Puppet setting, and can go in puppet.conf.)
329
336
 
337
+ * --write_catalog_summary
338
+ After compiling the catalog saves the resource list and classes list to the node
339
+ in the state directory named classes.txt and resources.txt
340
+ (This is a Puppet setting, and can go in puppet.conf.)
330
341
 
331
342
  EXAMPLE
332
343
  -------
@@ -16,7 +16,9 @@ class Puppet::Application::Apply < Puppet::Application
16
16
  option("--use-nodes")
17
17
  option("--detailed-exitcodes")
18
18
 
19
- option("--write-catalog-summary")
19
+ option("--write-catalog-summary") do |arg|
20
+ Puppet[:write_catalog_summary] = arg
21
+ end
20
22
 
21
23
  option("--catalog catalog", "-c catalog") do |arg|
22
24
  options[:catalog] = arg
@@ -113,7 +115,8 @@ configuration options by running puppet with
113
115
  Where to send log messages. Choose between 'syslog' (the POSIX syslog
114
116
  service), 'eventlog' (the Windows Event Log), 'console', or the path to a log
115
117
  file. Defaults to 'console'.
116
- Multiple destinations can be set using a comma separated list (eg: `/path/file1,console,/path/file2`)"
118
+ Multiple destinations can be set using a comma separated list
119
+ (eg: `/path/file1,console,/path/file2`)"
117
120
 
118
121
  A path ending with '.json' will receive structured output in JSON format. The
119
122
  log file will not have an ending ']' automatically written to it due to the
@@ -168,6 +171,7 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
168
171
  def app_defaults
169
172
  super.merge({
170
173
  :default_file_terminus => :file_server,
174
+ :write_catalog_summary => false
171
175
  })
172
176
  end
173
177
 
@@ -246,7 +250,22 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
246
250
 
247
251
  catalog.retrieval_duration = Time.now - starttime
248
252
 
249
- if options[:write_catalog_summary]
253
+ # We accept either the global option `--write_catalog_summary`
254
+ # corresponding to the new setting, or the application option
255
+ # `--write-catalog-summary`. The latter is needed to maintain backwards
256
+ # compatibility.
257
+ #
258
+ # Puppet settings parse global options using PuppetOptionParser, but it
259
+ # only recognizes underscores, not dashes.
260
+ # The base application parses app specific options using ruby's builtin
261
+ # OptionParser. As of ruby 2.4, it will accept either underscores or
262
+ # dashes, but prefer dashes.
263
+ #
264
+ # So if underscores are used, the PuppetOptionParser will parse it and
265
+ # store that in Puppet[:write_catalog_summary]. If dashes are used,
266
+ # OptionParser will parse it, and set Puppet[:write_catalog_summary]. In
267
+ # either case, settings will contain the correct value.
268
+ if Puppet[:write_catalog_summary]
250
269
  catalog.write_class_file
251
270
  catalog.write_resource_file
252
271
  end
@@ -155,7 +155,8 @@ you can specify '--server <servername>' as an argument.
155
155
  Where to send log messages. Choose between 'syslog' (the POSIX syslog
156
156
  service), 'console', or the path to a log file. If debugging or verbosity is
157
157
  enabled, this defaults to 'console'. Otherwise, it defaults to 'syslog'.
158
- Multiple destinations can be set using a comma separated list (eg: `/path/file1,console,/path/file2`)"
158
+ Multiple destinations can be set using a comma separated list
159
+ (eg: `/path/file1,console,/path/file2`)"
159
160
 
160
161
  A path ending with '.json' will receive structured output in JSON format. The
161
162
  log file will not have an ending ']' automatically written to it due to the
@@ -1,6 +1,7 @@
1
1
  require 'puppet/application'
2
2
 
3
3
  class Puppet::Application::Filebucket < Puppet::Application
4
+ environment_mode :not_required
4
5
 
5
6
  option("--bucket BUCKET","-b")
6
7
  option("--debug","-d")
@@ -1,6 +1,7 @@
1
1
  require 'puppet/application'
2
2
 
3
3
  class Puppet::Application::Resource < Puppet::Application
4
+ environment_mode :not_required
4
5
 
5
6
  attr_accessor :host, :extra_params
6
7
 
@@ -14,8 +15,9 @@ class Puppet::Application::Resource < Puppet::Application
14
15
  option("--to_yaml","-y")
15
16
 
16
17
  option("--types", "-t") do |arg|
18
+ env = Puppet.lookup(:environments).get(Puppet[:environment]) || create_default_environment
17
19
  types = []
18
- Puppet::Type.loadall
20
+ Puppet::Type.typeloader.loadall(env)
19
21
  Puppet::Type.eachtype do |t|
20
22
  next if t.name == :component
21
23
  types << t.name.to_s
@@ -101,7 +103,8 @@ configuration options can also be generated by running puppet with
101
103
  Print extra information.
102
104
 
103
105
  * --to_yaml:
104
- Output found resources in yaml format, suitable to use with Hiera and create_resources.
106
+ Output found resources in yaml format, suitable to use with Hiera and
107
+ create_resources.
105
108
 
106
109
  EXAMPLE
107
110
  -------
@@ -133,7 +136,9 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
133
136
  end
134
137
 
135
138
  def main
136
- env = Puppet.lookup(:environments).get(Puppet[:environment])
139
+ # If the specified environment does not exist locally, fall back to the default (production) environment
140
+ env = Puppet.lookup(:environments).get(Puppet[:environment]) || create_default_environment
141
+
137
142
  Puppet.override(:current_environment => env, :loaders => Puppet::Pops::Loaders.new(env)) do
138
143
  type, name, params = parse_args(command_line.args)
139
144
 
@@ -208,24 +213,35 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
208
213
  [type, name, params]
209
214
  end
210
215
 
216
+ def create_default_environment
217
+ Puppet.debug("Specified environment '#{Puppet[:environment]}' does not exist on the filesystem, defaulting to 'production'")
218
+ Puppet[:environment] = :production
219
+ basemodulepath = Puppet::Node::Environment.split_path(Puppet[:basemodulepath])
220
+ modulepath = Puppet[:modulepath]
221
+ modulepath = (modulepath.nil? || modulepath.empty?) ? basemodulepath : Puppet::Node::Environment.split_path(modulepath)
222
+ Puppet::Node::Environment.create(Puppet[:environment], modulepath, Puppet::Node::Environment::NO_MANIFEST)
223
+ end
224
+
211
225
  def find_or_save_resources(type, name, params)
212
226
  key = local_key(type, name)
213
227
 
214
- if name
215
- if params.empty?
216
- [ Puppet::Resource.indirection.find( key ) ]
228
+ Puppet.override(stringify_rich: true) do
229
+ if name
230
+ if params.empty?
231
+ [ Puppet::Resource.indirection.find( key ) ]
232
+ else
233
+ resource = Puppet::Resource.new( type, name, :parameters => params )
234
+
235
+ # save returns [resource that was saved, transaction log from applying the resource]
236
+ save_result = Puppet::Resource.indirection.save(resource, key)
237
+ [ save_result.first ]
238
+ end
217
239
  else
218
- resource = Puppet::Resource.new( type, name, :parameters => params )
219
-
220
- # save returns [resource that was saved, transaction log from applying the resource]
221
- save_result = Puppet::Resource.indirection.save(resource, key)
222
- [ save_result.first ]
223
- end
224
- else
225
- if type == "file"
226
- raise _("Listing all file instances is not supported. Please specify a file or directory, e.g. puppet resource file /etc")
240
+ if type == "file"
241
+ raise _("Listing all file instances is not supported. Please specify a file or directory, e.g. puppet resource file /etc")
242
+ end
243
+ Puppet::Resource.indirection.search( key, {} )
227
244
  end
228
- Puppet::Resource.indirection.search( key, {} )
229
245
  end
230
246
  end
231
247
  end
@@ -71,7 +71,8 @@ configuration options can also be generated by running puppet with
71
71
  Where to send log messages. Choose between 'syslog' (the POSIX syslog
72
72
  service), 'eventlog' (the Windows Event Log), 'console', or the path to a log
73
73
  file. Defaults to 'console'.
74
- Multiple destinations can be set using a comma separated list (eg: `/path/file1,console,/path/file2`)"
74
+ Multiple destinations can be set using a comma separated list
75
+ (eg: `/path/file1,console,/path/file2`)"
75
76
 
76
77
  A path ending with '.json' will receive structured output in JSON format. The
77
78
  log file will not have an ending ']' automatically written to it due to the
@@ -117,6 +117,7 @@ HELP
117
117
  end
118
118
 
119
119
  Puppet::SSL::Oids.register_puppet_oids
120
+ Puppet::SSL::Oids.load_custom_oid_file(Puppet[:trusted_oid_mapping_file])
120
121
 
121
122
  certname = Puppet[:certname]
122
123
  action = command_line.args.first
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Puppet
2
3
  module Concurrent
3
4
  module ThreadLocalSingleton
@@ -73,7 +73,8 @@ class Puppet::Configurer::Downloader
73
73
  :purge => true,
74
74
  :force => true,
75
75
  :backup => false,
76
- :noop => false
76
+ :noop => false,
77
+ :max_files => -1
77
78
  }
78
79
  if !Puppet::Util::Platform.windows?
79
80
  defargs[:owner] = Process.uid