openvox 9.0.0.pre.rc1-universal-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1105) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +468 -0
  3. data/CODE_OF_CONDUCT.md +70 -0
  4. data/Gemfile +106 -0
  5. data/Gemfile.lock +666 -0
  6. data/Guardfile.example +76 -0
  7. data/LICENSE +202 -0
  8. data/README.md +63 -0
  9. data/Rakefile +173 -0
  10. data/bin/puppet +10 -0
  11. data/conf/environment.conf +18 -0
  12. data/conf/fileserver.conf +32 -0
  13. data/conf/hiera.yaml +11 -0
  14. data/conf/puppet.conf +6 -0
  15. data/examples/enc/regexp_nodes/classes/databases +2 -0
  16. data/examples/enc/regexp_nodes/classes/webservers +2 -0
  17. data/examples/enc/regexp_nodes/environment/development +2 -0
  18. data/examples/enc/regexp_nodes/parameters/service/prod +1 -0
  19. data/examples/enc/regexp_nodes/parameters/service/qa +3 -0
  20. data/examples/enc/regexp_nodes/parameters/service/sandbox +1 -0
  21. data/examples/enc/regexp_nodes/regexp_nodes.rb +270 -0
  22. data/examples/hiera/README.md +102 -0
  23. data/examples/hiera/data/common.yaml +12 -0
  24. data/examples/hiera/data/dc1.yaml +6 -0
  25. data/examples/hiera/hiera.yaml +15 -0
  26. data/examples/hiera/modules/ntp/data/common.yaml +4 -0
  27. data/examples/hiera/modules/ntp/hiera.yaml +9 -0
  28. data/examples/hiera/modules/ntp/manifests/config.pp +18 -0
  29. data/examples/hiera/modules/ntp/templates/ntp.conf.epp +3 -0
  30. data/examples/hiera/modules/users/manifests/common.pp +9 -0
  31. data/examples/hiera/modules/users/manifests/dc1.pp +9 -0
  32. data/examples/hiera/site.pp +3 -0
  33. data/examples/nagios/check_puppet.rb +123 -0
  34. data/ext/README.md +13 -0
  35. data/ext/build_defaults.yaml +18 -0
  36. data/ext/debian/puppet.default +4 -0
  37. data/ext/debian/puppet.init +113 -0
  38. data/ext/hiera/hiera.yaml +15 -0
  39. data/ext/osx/puppet.plist +32 -0
  40. data/ext/project_data.yaml +20 -0
  41. data/ext/redhat/client.init +169 -0
  42. data/ext/redhat/client.sysconfig +3 -0
  43. data/ext/solaris/smf/puppet +44 -0
  44. data/ext/solaris/smf/puppet.xml +46 -0
  45. data/ext/suse/client.init +141 -0
  46. data/ext/systemd/puppet.service +26 -0
  47. data/ext/windows/puppet_interactive.bat +6 -0
  48. data/ext/windows/puppet_shell.bat +9 -0
  49. data/ext/windows/run_puppet_interactive.bat +9 -0
  50. data/ext/windows/service/daemon.bat +6 -0
  51. data/ext/windows/service/daemon.rb +218 -0
  52. data/install.rb +392 -0
  53. data/lib/hiera/puppet_function.rb +85 -0
  54. data/lib/hiera/scope.rb +90 -0
  55. data/lib/hiera_puppet.rb +78 -0
  56. data/lib/puppet/agent/disabler.rb +55 -0
  57. data/lib/puppet/agent/locker.rb +46 -0
  58. data/lib/puppet/agent.rb +178 -0
  59. data/lib/puppet/application/agent.rb +525 -0
  60. data/lib/puppet/application/apply.rb +435 -0
  61. data/lib/puppet/application/catalog.rb +6 -0
  62. data/lib/puppet/application/config.rb +7 -0
  63. data/lib/puppet/application/describe.rb +255 -0
  64. data/lib/puppet/application/device.rb +440 -0
  65. data/lib/puppet/application/doc.rb +230 -0
  66. data/lib/puppet/application/epp.rb +7 -0
  67. data/lib/puppet/application/face_base.rb +277 -0
  68. data/lib/puppet/application/facts.rb +11 -0
  69. data/lib/puppet/application/filebucket.rb +324 -0
  70. data/lib/puppet/application/generate.rb +7 -0
  71. data/lib/puppet/application/help.rb +7 -0
  72. data/lib/puppet/application/indirection_base.rb +6 -0
  73. data/lib/puppet/application/lookup.rb +433 -0
  74. data/lib/puppet/application/module.rb +6 -0
  75. data/lib/puppet/application/node.rb +6 -0
  76. data/lib/puppet/application/parser.rb +7 -0
  77. data/lib/puppet/application/plugin.rb +6 -0
  78. data/lib/puppet/application/report.rb +6 -0
  79. data/lib/puppet/application/resource.rb +264 -0
  80. data/lib/puppet/application/script.rb +266 -0
  81. data/lib/puppet/application/ssl.rb +397 -0
  82. data/lib/puppet/application.rb +595 -0
  83. data/lib/puppet/application_support.rb +69 -0
  84. data/lib/puppet/coercion.rb +42 -0
  85. data/lib/puppet/compilable_resource_type.rb +17 -0
  86. data/lib/puppet/concurrent/lock.rb +15 -0
  87. data/lib/puppet/concurrent/synchronized.rb +15 -0
  88. data/lib/puppet/concurrent/thread_local_singleton.rb +18 -0
  89. data/lib/puppet/concurrent.rb +4 -0
  90. data/lib/puppet/configurer/downloader.rb +91 -0
  91. data/lib/puppet/configurer/fact_handler.rb +51 -0
  92. data/lib/puppet/configurer/plugin_handler.rb +61 -0
  93. data/lib/puppet/configurer.rb +766 -0
  94. data/lib/puppet/confine/any.rb +28 -0
  95. data/lib/puppet/confine/boolean.rb +47 -0
  96. data/lib/puppet/confine/exists.rb +21 -0
  97. data/lib/puppet/confine/false.rb +27 -0
  98. data/lib/puppet/confine/feature.rb +18 -0
  99. data/lib/puppet/confine/true.rb +28 -0
  100. data/lib/puppet/confine/variable.rb +61 -0
  101. data/lib/puppet/confine.rb +85 -0
  102. data/lib/puppet/confine_collection.rb +54 -0
  103. data/lib/puppet/confiner.rb +48 -0
  104. data/lib/puppet/context/trusted_information.rb +122 -0
  105. data/lib/puppet/context.rb +190 -0
  106. data/lib/puppet/daemon.rb +198 -0
  107. data/lib/puppet/data_binding.rb +16 -0
  108. data/lib/puppet/datatypes/error.rb +23 -0
  109. data/lib/puppet/datatypes/impl/error.rb +42 -0
  110. data/lib/puppet/datatypes.rb +218 -0
  111. data/lib/puppet/defaults.rb +2250 -0
  112. data/lib/puppet/environments.rb +590 -0
  113. data/lib/puppet/error.rb +142 -0
  114. data/lib/puppet/etc.rb +185 -0
  115. data/lib/puppet/external/dot.rb +315 -0
  116. data/lib/puppet/face/catalog/select.rb +51 -0
  117. data/lib/puppet/face/catalog.rb +167 -0
  118. data/lib/puppet/face/config.rb +267 -0
  119. data/lib/puppet/face/epp.rb +563 -0
  120. data/lib/puppet/face/facts.rb +184 -0
  121. data/lib/puppet/face/generate.rb +69 -0
  122. data/lib/puppet/face/help/action.erb +89 -0
  123. data/lib/puppet/face/help/face.erb +114 -0
  124. data/lib/puppet/face/help/global.erb +16 -0
  125. data/lib/puppet/face/help/man.erb +152 -0
  126. data/lib/puppet/face/help.rb +278 -0
  127. data/lib/puppet/face/module/changes.rb +44 -0
  128. data/lib/puppet/face/module/install.rb +149 -0
  129. data/lib/puppet/face/module/list.rb +271 -0
  130. data/lib/puppet/face/module/uninstall.rb +91 -0
  131. data/lib/puppet/face/module/upgrade.rb +89 -0
  132. data/lib/puppet/face/module.rb +21 -0
  133. data/lib/puppet/face/node/clean.rb +109 -0
  134. data/lib/puppet/face/node.rb +45 -0
  135. data/lib/puppet/face/parser.rb +226 -0
  136. data/lib/puppet/face/plugin.rb +62 -0
  137. data/lib/puppet/face/report.rb +54 -0
  138. data/lib/puppet/face/resource.rb +55 -0
  139. data/lib/puppet/face.rb +14 -0
  140. data/lib/puppet/facter_impl.rb +96 -0
  141. data/lib/puppet/feature/base.rb +76 -0
  142. data/lib/puppet/feature/bolt.rb +5 -0
  143. data/lib/puppet/feature/cfpropertylist.rb +5 -0
  144. data/lib/puppet/feature/dbus.rb +5 -0
  145. data/lib/puppet/feature/eventlog.rb +7 -0
  146. data/lib/puppet/feature/hiera_eyaml.rb +5 -0
  147. data/lib/puppet/feature/hocon.rb +5 -0
  148. data/lib/puppet/feature/libuser.rb +10 -0
  149. data/lib/puppet/feature/msgpack.rb +5 -0
  150. data/lib/puppet/feature/pe_license.rb +6 -0
  151. data/lib/puppet/feature/pson.rb +6 -0
  152. data/lib/puppet/feature/selinux.rb +5 -0
  153. data/lib/puppet/feature/ssh.rb +5 -0
  154. data/lib/puppet/feature/telnet.rb +5 -0
  155. data/lib/puppet/feature/zlib.rb +7 -0
  156. data/lib/puppet/ffi/posix/constants.rb +16 -0
  157. data/lib/puppet/ffi/posix/functions.rb +25 -0
  158. data/lib/puppet/ffi/posix.rb +12 -0
  159. data/lib/puppet/ffi/windows/api_types.rb +313 -0
  160. data/lib/puppet/ffi/windows/constants.rb +406 -0
  161. data/lib/puppet/ffi/windows/functions.rb +629 -0
  162. data/lib/puppet/ffi/windows/structs.rb +339 -0
  163. data/lib/puppet/ffi/windows.rb +14 -0
  164. data/lib/puppet/file_bucket/dipper.rb +181 -0
  165. data/lib/puppet/file_bucket/file.rb +131 -0
  166. data/lib/puppet/file_bucket.rb +6 -0
  167. data/lib/puppet/file_serving/base.rb +94 -0
  168. data/lib/puppet/file_serving/configuration/parser.rb +116 -0
  169. data/lib/puppet/file_serving/configuration.rb +116 -0
  170. data/lib/puppet/file_serving/content.rb +44 -0
  171. data/lib/puppet/file_serving/fileset.rb +190 -0
  172. data/lib/puppet/file_serving/http_metadata.rb +86 -0
  173. data/lib/puppet/file_serving/metadata.rb +174 -0
  174. data/lib/puppet/file_serving/mount/file.rb +126 -0
  175. data/lib/puppet/file_serving/mount/locales.rb +35 -0
  176. data/lib/puppet/file_serving/mount/modules.rb +29 -0
  177. data/lib/puppet/file_serving/mount/pluginfacts.rb +35 -0
  178. data/lib/puppet/file_serving/mount/plugins.rb +35 -0
  179. data/lib/puppet/file_serving/mount/scripts.rb +27 -0
  180. data/lib/puppet/file_serving/mount/tasks.rb +26 -0
  181. data/lib/puppet/file_serving/mount.rb +40 -0
  182. data/lib/puppet/file_serving/terminus_helper.rb +33 -0
  183. data/lib/puppet/file_serving/terminus_selector.rb +33 -0
  184. data/lib/puppet/file_serving.rb +5 -0
  185. data/lib/puppet/file_system/file_impl.rb +189 -0
  186. data/lib/puppet/file_system/jruby.rb +25 -0
  187. data/lib/puppet/file_system/memory_file.rb +82 -0
  188. data/lib/puppet/file_system/memory_impl.rb +103 -0
  189. data/lib/puppet/file_system/path_pattern.rb +95 -0
  190. data/lib/puppet/file_system/posix.rb +52 -0
  191. data/lib/puppet/file_system/uniquefile.rb +187 -0
  192. data/lib/puppet/file_system/windows.rb +224 -0
  193. data/lib/puppet/file_system.rb +421 -0
  194. data/lib/puppet/forge/cache.rb +61 -0
  195. data/lib/puppet/forge/errors.rb +113 -0
  196. data/lib/puppet/forge/repository.rb +98 -0
  197. data/lib/puppet/forge.rb +257 -0
  198. data/lib/puppet/functions/abs.rb +64 -0
  199. data/lib/puppet/functions/alert.rb +16 -0
  200. data/lib/puppet/functions/all.rb +106 -0
  201. data/lib/puppet/functions/annotate.rb +110 -0
  202. data/lib/puppet/functions/any.rb +111 -0
  203. data/lib/puppet/functions/assert_type.rb +96 -0
  204. data/lib/puppet/functions/binary_file.rb +35 -0
  205. data/lib/puppet/functions/break.rb +49 -0
  206. data/lib/puppet/functions/call.rb +81 -0
  207. data/lib/puppet/functions/camelcase.rb +63 -0
  208. data/lib/puppet/functions/capitalize.rb +62 -0
  209. data/lib/puppet/functions/ceiling.rb +38 -0
  210. data/lib/puppet/functions/chomp.rb +58 -0
  211. data/lib/puppet/functions/chop.rb +68 -0
  212. data/lib/puppet/functions/compare.rb +127 -0
  213. data/lib/puppet/functions/contain.rb +58 -0
  214. data/lib/puppet/functions/convert_to.rb +36 -0
  215. data/lib/puppet/functions/crit.rb +16 -0
  216. data/lib/puppet/functions/debug.rb +16 -0
  217. data/lib/puppet/functions/defined.rb +163 -0
  218. data/lib/puppet/functions/dig.rb +70 -0
  219. data/lib/puppet/functions/downcase.rb +91 -0
  220. data/lib/puppet/functions/each.rb +169 -0
  221. data/lib/puppet/functions/emerg.rb +16 -0
  222. data/lib/puppet/functions/empty.rb +87 -0
  223. data/lib/puppet/functions/epp.rb +50 -0
  224. data/lib/puppet/functions/err.rb +16 -0
  225. data/lib/puppet/functions/eyaml_lookup_key.rb +103 -0
  226. data/lib/puppet/functions/filter.rb +138 -0
  227. data/lib/puppet/functions/find_file.rb +50 -0
  228. data/lib/puppet/functions/find_template.rb +65 -0
  229. data/lib/puppet/functions/flatten.rb +66 -0
  230. data/lib/puppet/functions/floor.rb +38 -0
  231. data/lib/puppet/functions/get.rb +152 -0
  232. data/lib/puppet/functions/getvar.rb +89 -0
  233. data/lib/puppet/functions/group_by.rb +62 -0
  234. data/lib/puppet/functions/hiera.rb +91 -0
  235. data/lib/puppet/functions/hiera_array.rb +83 -0
  236. data/lib/puppet/functions/hiera_hash.rb +94 -0
  237. data/lib/puppet/functions/hiera_include.rb +107 -0
  238. data/lib/puppet/functions/hocon_data.rb +41 -0
  239. data/lib/puppet/functions/import.rb +9 -0
  240. data/lib/puppet/functions/include.rb +56 -0
  241. data/lib/puppet/functions/index.rb +168 -0
  242. data/lib/puppet/functions/info.rb +16 -0
  243. data/lib/puppet/functions/inline_epp.rb +61 -0
  244. data/lib/puppet/functions/join.rb +58 -0
  245. data/lib/puppet/functions/json_data.rb +33 -0
  246. data/lib/puppet/functions/keys.rb +27 -0
  247. data/lib/puppet/functions/length.rb +45 -0
  248. data/lib/puppet/functions/lest.rb +57 -0
  249. data/lib/puppet/functions/lookup.rb +224 -0
  250. data/lib/puppet/functions/lstrip.rb +59 -0
  251. data/lib/puppet/functions/map.rb +137 -0
  252. data/lib/puppet/functions/match.rb +133 -0
  253. data/lib/puppet/functions/max.rb +250 -0
  254. data/lib/puppet/functions/min.rb +249 -0
  255. data/lib/puppet/functions/module_directory.rb +43 -0
  256. data/lib/puppet/functions/new.rb +1013 -0
  257. data/lib/puppet/functions/next.rb +35 -0
  258. data/lib/puppet/functions/notice.rb +16 -0
  259. data/lib/puppet/functions/partition.rb +62 -0
  260. data/lib/puppet/functions/reduce.rb +159 -0
  261. data/lib/puppet/functions/regsubst.rb +107 -0
  262. data/lib/puppet/functions/require.rb +81 -0
  263. data/lib/puppet/functions/return.rb +17 -0
  264. data/lib/puppet/functions/reverse_each.rb +96 -0
  265. data/lib/puppet/functions/round.rb +26 -0
  266. data/lib/puppet/functions/rstrip.rb +59 -0
  267. data/lib/puppet/functions/scanf.rb +46 -0
  268. data/lib/puppet/functions/size.rb +15 -0
  269. data/lib/puppet/functions/slice.rb +127 -0
  270. data/lib/puppet/functions/sort.rb +76 -0
  271. data/lib/puppet/functions/split.rb +78 -0
  272. data/lib/puppet/functions/step.rb +100 -0
  273. data/lib/puppet/functions/strftime.rb +214 -0
  274. data/lib/puppet/functions/strip.rb +59 -0
  275. data/lib/puppet/functions/then.rb +80 -0
  276. data/lib/puppet/functions/tree_each.rb +198 -0
  277. data/lib/puppet/functions/type.rb +74 -0
  278. data/lib/puppet/functions/unique.rb +135 -0
  279. data/lib/puppet/functions/unwrap.rb +61 -0
  280. data/lib/puppet/functions/upcase.rb +91 -0
  281. data/lib/puppet/functions/values.rb +27 -0
  282. data/lib/puppet/functions/versioncmp.rb +41 -0
  283. data/lib/puppet/functions/warning.rb +16 -0
  284. data/lib/puppet/functions/with.rb +34 -0
  285. data/lib/puppet/functions/yaml_data.rb +45 -0
  286. data/lib/puppet/functions.rb +858 -0
  287. data/lib/puppet/generate/models/type/property.rb +73 -0
  288. data/lib/puppet/generate/models/type/type.rb +68 -0
  289. data/lib/puppet/generate/templates/type/pcore.erb +42 -0
  290. data/lib/puppet/generate/type.rb +259 -0
  291. data/lib/puppet/gettext/config.rb +280 -0
  292. data/lib/puppet/gettext/module_translations.rb +43 -0
  293. data/lib/puppet/gettext/stubs.rb +13 -0
  294. data/lib/puppet/graph/key.rb +28 -0
  295. data/lib/puppet/graph/prioritizer.rb +31 -0
  296. data/lib/puppet/graph/rb_tree_map.rb +407 -0
  297. data/lib/puppet/graph/relationship_graph.rb +286 -0
  298. data/lib/puppet/graph/sequential_prioritizer.rb +33 -0
  299. data/lib/puppet/graph/simple_graph.rb +549 -0
  300. data/lib/puppet/graph.rb +11 -0
  301. data/lib/puppet/http/client.rb +529 -0
  302. data/lib/puppet/http/dns.rb +159 -0
  303. data/lib/puppet/http/errors.rb +50 -0
  304. data/lib/puppet/http/external_client.rb +89 -0
  305. data/lib/puppet/http/factory.rb +53 -0
  306. data/lib/puppet/http/pool.rb +174 -0
  307. data/lib/puppet/http/pool_entry.rb +19 -0
  308. data/lib/puppet/http/proxy.rb +139 -0
  309. data/lib/puppet/http/redirector.rb +87 -0
  310. data/lib/puppet/http/resolver/server_list.rb +88 -0
  311. data/lib/puppet/http/resolver/settings.rb +24 -0
  312. data/lib/puppet/http/resolver/srv.rb +42 -0
  313. data/lib/puppet/http/resolver.rb +50 -0
  314. data/lib/puppet/http/response.rb +104 -0
  315. data/lib/puppet/http/response_converter.rb +25 -0
  316. data/lib/puppet/http/response_net_http.rb +43 -0
  317. data/lib/puppet/http/retry_after_handler.rb +78 -0
  318. data/lib/puppet/http/service/ca.rb +133 -0
  319. data/lib/puppet/http/service/compiler.rb +356 -0
  320. data/lib/puppet/http/service/file_server.rb +200 -0
  321. data/lib/puppet/http/service/puppetserver.rb +54 -0
  322. data/lib/puppet/http/service/report.rb +62 -0
  323. data/lib/puppet/http/service.rb +201 -0
  324. data/lib/puppet/http/session.rb +124 -0
  325. data/lib/puppet/http/site.rb +44 -0
  326. data/lib/puppet/http.rb +48 -0
  327. data/lib/puppet/indirector/catalog/compiler.rb +432 -0
  328. data/lib/puppet/indirector/catalog/json.rb +42 -0
  329. data/lib/puppet/indirector/catalog/msgpack.rb +8 -0
  330. data/lib/puppet/indirector/catalog/rest.rb +51 -0
  331. data/lib/puppet/indirector/catalog/store_configs.rb +8 -0
  332. data/lib/puppet/indirector/catalog/yaml.rb +8 -0
  333. data/lib/puppet/indirector/code.rb +8 -0
  334. data/lib/puppet/indirector/data_binding/hiera.rb +99 -0
  335. data/lib/puppet/indirector/data_binding/none.rb +10 -0
  336. data/lib/puppet/indirector/direct_file_server.rb +20 -0
  337. data/lib/puppet/indirector/envelope.rb +13 -0
  338. data/lib/puppet/indirector/errors.rb +7 -0
  339. data/lib/puppet/indirector/exec.rb +40 -0
  340. data/lib/puppet/indirector/face.rb +142 -0
  341. data/lib/puppet/indirector/fact_search.rb +62 -0
  342. data/lib/puppet/indirector/facts/facter.rb +120 -0
  343. data/lib/puppet/indirector/facts/json.rb +29 -0
  344. data/lib/puppet/indirector/facts/memory.rb +11 -0
  345. data/lib/puppet/indirector/facts/network_device.rb +29 -0
  346. data/lib/puppet/indirector/facts/rest.rb +46 -0
  347. data/lib/puppet/indirector/facts/store_configs.rb +12 -0
  348. data/lib/puppet/indirector/facts/yaml.rb +31 -0
  349. data/lib/puppet/indirector/file_bucket_file/file.rb +266 -0
  350. data/lib/puppet/indirector/file_bucket_file/rest.rb +57 -0
  351. data/lib/puppet/indirector/file_bucket_file/selector.rb +54 -0
  352. data/lib/puppet/indirector/file_content/file.rb +9 -0
  353. data/lib/puppet/indirector/file_content/file_server.rb +9 -0
  354. data/lib/puppet/indirector/file_content/rest.rb +37 -0
  355. data/lib/puppet/indirector/file_content/selector.rb +32 -0
  356. data/lib/puppet/indirector/file_content.rb +7 -0
  357. data/lib/puppet/indirector/file_metadata/file.rb +9 -0
  358. data/lib/puppet/indirector/file_metadata/file_server.rb +9 -0
  359. data/lib/puppet/indirector/file_metadata/http.rb +49 -0
  360. data/lib/puppet/indirector/file_metadata/rest.rb +58 -0
  361. data/lib/puppet/indirector/file_metadata/selector.rb +32 -0
  362. data/lib/puppet/indirector/file_metadata.rb +7 -0
  363. data/lib/puppet/indirector/file_server.rb +57 -0
  364. data/lib/puppet/indirector/generic_http.rb +7 -0
  365. data/lib/puppet/indirector/indirection.rb +381 -0
  366. data/lib/puppet/indirector/json.rb +82 -0
  367. data/lib/puppet/indirector/memory.rb +37 -0
  368. data/lib/puppet/indirector/msgpack.rb +87 -0
  369. data/lib/puppet/indirector/node/exec.rb +70 -0
  370. data/lib/puppet/indirector/node/json.rb +9 -0
  371. data/lib/puppet/indirector/node/memory.rb +12 -0
  372. data/lib/puppet/indirector/node/msgpack.rb +9 -0
  373. data/lib/puppet/indirector/node/plain.rb +23 -0
  374. data/lib/puppet/indirector/node/rest.rb +31 -0
  375. data/lib/puppet/indirector/node/store_configs.rb +8 -0
  376. data/lib/puppet/indirector/node/yaml.rb +9 -0
  377. data/lib/puppet/indirector/none.rb +10 -0
  378. data/lib/puppet/indirector/plain.rb +11 -0
  379. data/lib/puppet/indirector/report/json.rb +36 -0
  380. data/lib/puppet/indirector/report/msgpack.rb +13 -0
  381. data/lib/puppet/indirector/report/processor.rb +63 -0
  382. data/lib/puppet/indirector/report/rest.rb +31 -0
  383. data/lib/puppet/indirector/report/yaml.rb +36 -0
  384. data/lib/puppet/indirector/request.rb +197 -0
  385. data/lib/puppet/indirector/resource/ral.rb +66 -0
  386. data/lib/puppet/indirector/resource/store_configs.rb +14 -0
  387. data/lib/puppet/indirector/resource/validator.rb +10 -0
  388. data/lib/puppet/indirector/rest.rb +66 -0
  389. data/lib/puppet/indirector/store_configs.rb +32 -0
  390. data/lib/puppet/indirector/terminus.rb +180 -0
  391. data/lib/puppet/indirector/yaml.rb +65 -0
  392. data/lib/puppet/indirector.rb +64 -0
  393. data/lib/puppet/info_service/class_information_service.rb +108 -0
  394. data/lib/puppet/info_service/plan_information_service.rb +38 -0
  395. data/lib/puppet/info_service/task_information_service.rb +45 -0
  396. data/lib/puppet/info_service.rb +27 -0
  397. data/lib/puppet/interface/action.rb +410 -0
  398. data/lib/puppet/interface/action_builder.rb +167 -0
  399. data/lib/puppet/interface/action_manager.rb +101 -0
  400. data/lib/puppet/interface/documentation.rb +363 -0
  401. data/lib/puppet/interface/face_collection.rb +141 -0
  402. data/lib/puppet/interface/option.rb +184 -0
  403. data/lib/puppet/interface/option_builder.rb +110 -0
  404. data/lib/puppet/interface/option_manager.rb +108 -0
  405. data/lib/puppet/interface.rb +240 -0
  406. data/lib/puppet/loaders.rb +31 -0
  407. data/lib/puppet/metatype/manager.rb +198 -0
  408. data/lib/puppet/module/plan.rb +166 -0
  409. data/lib/puppet/module/task.rb +288 -0
  410. data/lib/puppet/module.rb +482 -0
  411. data/lib/puppet/module_tool/applications/application.rb +96 -0
  412. data/lib/puppet/module_tool/applications/checksummer.rb +62 -0
  413. data/lib/puppet/module_tool/applications/installer.rb +402 -0
  414. data/lib/puppet/module_tool/applications/uninstaller.rb +121 -0
  415. data/lib/puppet/module_tool/applications/unpacker.rb +104 -0
  416. data/lib/puppet/module_tool/applications/upgrader.rb +288 -0
  417. data/lib/puppet/module_tool/applications.rb +14 -0
  418. data/lib/puppet/module_tool/checksums.rb +50 -0
  419. data/lib/puppet/module_tool/dependency.rb +42 -0
  420. data/lib/puppet/module_tool/errors/base.rb +17 -0
  421. data/lib/puppet/module_tool/errors/installer.rb +94 -0
  422. data/lib/puppet/module_tool/errors/shared.rb +228 -0
  423. data/lib/puppet/module_tool/errors/uninstaller.rb +51 -0
  424. data/lib/puppet/module_tool/errors/upgrader.rb +64 -0
  425. data/lib/puppet/module_tool/errors.rb +13 -0
  426. data/lib/puppet/module_tool/install_directory.rb +48 -0
  427. data/lib/puppet/module_tool/installed_modules.rb +99 -0
  428. data/lib/puppet/module_tool/local_tarball.rb +92 -0
  429. data/lib/puppet/module_tool/metadata.rb +226 -0
  430. data/lib/puppet/module_tool/shared_behaviors.rb +199 -0
  431. data/lib/puppet/module_tool/tar/gnu.rb +23 -0
  432. data/lib/puppet/module_tool/tar/mini.rb +112 -0
  433. data/lib/puppet/module_tool/tar.rb +20 -0
  434. data/lib/puppet/module_tool.rb +194 -0
  435. data/lib/puppet/network/authconfig.rb +9 -0
  436. data/lib/puppet/network/authorization.rb +21 -0
  437. data/lib/puppet/network/client_request.rb +32 -0
  438. data/lib/puppet/network/format.rb +116 -0
  439. data/lib/puppet/network/format_handler.rb +110 -0
  440. data/lib/puppet/network/format_support.rb +140 -0
  441. data/lib/puppet/network/formats.rb +338 -0
  442. data/lib/puppet/network/http/api/indirected_routes.rb +270 -0
  443. data/lib/puppet/network/http/api/indirection_type.rb +33 -0
  444. data/lib/puppet/network/http/api/master/v3/environments.rb +4 -0
  445. data/lib/puppet/network/http/api/master/v3.rb +4 -0
  446. data/lib/puppet/network/http/api/master.rb +5 -0
  447. data/lib/puppet/network/http/api/server/v3/environments.rb +54 -0
  448. data/lib/puppet/network/http/api/server/v3.rb +40 -0
  449. data/lib/puppet/network/http/api/server.rb +12 -0
  450. data/lib/puppet/network/http/api.rb +41 -0
  451. data/lib/puppet/network/http/connection.rb +288 -0
  452. data/lib/puppet/network/http/error.rb +75 -0
  453. data/lib/puppet/network/http/handler.rb +213 -0
  454. data/lib/puppet/network/http/issues.rb +14 -0
  455. data/lib/puppet/network/http/memory_response.rb +15 -0
  456. data/lib/puppet/network/http/request.rb +83 -0
  457. data/lib/puppet/network/http/response.rb +25 -0
  458. data/lib/puppet/network/http/route.rb +104 -0
  459. data/lib/puppet/network/http.rb +30 -0
  460. data/lib/puppet/network/http_pool.rb +78 -0
  461. data/lib/puppet/network/uri.rb +20 -0
  462. data/lib/puppet/network.rb +5 -0
  463. data/lib/puppet/node/environment.rb +638 -0
  464. data/lib/puppet/node/facts.rb +166 -0
  465. data/lib/puppet/node/server_facts.rb +40 -0
  466. data/lib/puppet/node.rb +260 -0
  467. data/lib/puppet/pal/catalog_compiler.rb +107 -0
  468. data/lib/puppet/pal/compiler.rb +227 -0
  469. data/lib/puppet/pal/function_signature.rb +54 -0
  470. data/lib/puppet/pal/json_catalog_encoder.rb +76 -0
  471. data/lib/puppet/pal/pal_api.rb +17 -0
  472. data/lib/puppet/pal/pal_impl.rb +561 -0
  473. data/lib/puppet/pal/plan_signature.rb +73 -0
  474. data/lib/puppet/pal/script_compiler.rb +75 -0
  475. data/lib/puppet/pal/task_signature.rb +64 -0
  476. data/lib/puppet/parameter/boolean.rb +17 -0
  477. data/lib/puppet/parameter/package_options.rb +33 -0
  478. data/lib/puppet/parameter/path.rb +61 -0
  479. data/lib/puppet/parameter/value.rb +93 -0
  480. data/lib/puppet/parameter/value_collection.rb +213 -0
  481. data/lib/puppet/parameter.rb +590 -0
  482. data/lib/puppet/parser/abstract_compiler.rb +35 -0
  483. data/lib/puppet/parser/ast/block_expression.rb +17 -0
  484. data/lib/puppet/parser/ast/branch.rb +21 -0
  485. data/lib/puppet/parser/ast/hostclass.rb +29 -0
  486. data/lib/puppet/parser/ast/leaf.rb +84 -0
  487. data/lib/puppet/parser/ast/node.rb +19 -0
  488. data/lib/puppet/parser/ast/pops_bridge.rb +245 -0
  489. data/lib/puppet/parser/ast/resource.rb +66 -0
  490. data/lib/puppet/parser/ast/resource_instance.rb +13 -0
  491. data/lib/puppet/parser/ast/resourceparam.rb +33 -0
  492. data/lib/puppet/parser/ast/top_level_construct.rb +6 -0
  493. data/lib/puppet/parser/ast.rb +61 -0
  494. data/lib/puppet/parser/catalog_compiler.rb +56 -0
  495. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +41 -0
  496. data/lib/puppet/parser/compiler/catalog_validator.rb +34 -0
  497. data/lib/puppet/parser/compiler.rb +616 -0
  498. data/lib/puppet/parser/e4_parser_adapter.rb +61 -0
  499. data/lib/puppet/parser/files.rb +93 -0
  500. data/lib/puppet/parser/functions/assert_type.rb +62 -0
  501. data/lib/puppet/parser/functions/binary_file.rb +26 -0
  502. data/lib/puppet/parser/functions/break.rb +41 -0
  503. data/lib/puppet/parser/functions/contain.rb +32 -0
  504. data/lib/puppet/parser/functions/create_resources.rb +114 -0
  505. data/lib/puppet/parser/functions/defined.rb +109 -0
  506. data/lib/puppet/parser/functions/dig.rb +40 -0
  507. data/lib/puppet/parser/functions/digest.rb +7 -0
  508. data/lib/puppet/parser/functions/each.rb +106 -0
  509. data/lib/puppet/parser/functions/epp.rb +40 -0
  510. data/lib/puppet/parser/functions/fail.rb +13 -0
  511. data/lib/puppet/parser/functions/file.rb +35 -0
  512. data/lib/puppet/parser/functions/filter.rb +81 -0
  513. data/lib/puppet/parser/functions/find_file.rb +29 -0
  514. data/lib/puppet/parser/functions/fqdn_rand.rb +46 -0
  515. data/lib/puppet/parser/functions/generate.rb +39 -0
  516. data/lib/puppet/parser/functions/hiera.rb +105 -0
  517. data/lib/puppet/parser/functions/hiera_array.rb +93 -0
  518. data/lib/puppet/parser/functions/hiera_hash.rb +103 -0
  519. data/lib/puppet/parser/functions/hiera_include.rb +102 -0
  520. data/lib/puppet/parser/functions/include.rb +36 -0
  521. data/lib/puppet/parser/functions/inline_epp.rb +52 -0
  522. data/lib/puppet/parser/functions/inline_template.rb +28 -0
  523. data/lib/puppet/parser/functions/lest.rb +51 -0
  524. data/lib/puppet/parser/functions/lookup.rb +134 -0
  525. data/lib/puppet/parser/functions/map.rb +78 -0
  526. data/lib/puppet/parser/functions/match.rb +45 -0
  527. data/lib/puppet/parser/functions/md5.rb +7 -0
  528. data/lib/puppet/parser/functions/new.rb +992 -0
  529. data/lib/puppet/parser/functions/next.rb +40 -0
  530. data/lib/puppet/parser/functions/realize.rb +22 -0
  531. data/lib/puppet/parser/functions/reduce.rb +139 -0
  532. data/lib/puppet/parser/functions/regsubst.rb +65 -0
  533. data/lib/puppet/parser/functions/require.rb +43 -0
  534. data/lib/puppet/parser/functions/return.rb +94 -0
  535. data/lib/puppet/parser/functions/reverse_each.rb +85 -0
  536. data/lib/puppet/parser/functions/scanf.rb +40 -0
  537. data/lib/puppet/parser/functions/sha1.rb +7 -0
  538. data/lib/puppet/parser/functions/sha256.rb +7 -0
  539. data/lib/puppet/parser/functions/shellquote.rb +63 -0
  540. data/lib/puppet/parser/functions/slice.rb +41 -0
  541. data/lib/puppet/parser/functions/split.rb +29 -0
  542. data/lib/puppet/parser/functions/sprintf.rb +62 -0
  543. data/lib/puppet/parser/functions/step.rb +86 -0
  544. data/lib/puppet/parser/functions/strftime.rb +187 -0
  545. data/lib/puppet/parser/functions/tag.rb +15 -0
  546. data/lib/puppet/parser/functions/tagged.rb +24 -0
  547. data/lib/puppet/parser/functions/template.rb +42 -0
  548. data/lib/puppet/parser/functions/then.rb +75 -0
  549. data/lib/puppet/parser/functions/type.rb +55 -0
  550. data/lib/puppet/parser/functions/versioncmp.rb +31 -0
  551. data/lib/puppet/parser/functions/with.rb +30 -0
  552. data/lib/puppet/parser/functions.rb +324 -0
  553. data/lib/puppet/parser/parser_factory.rb +32 -0
  554. data/lib/puppet/parser/relationship.rb +90 -0
  555. data/lib/puppet/parser/resource/param.rb +37 -0
  556. data/lib/puppet/parser/resource.rb +349 -0
  557. data/lib/puppet/parser/scope.rb +1137 -0
  558. data/lib/puppet/parser/script_compiler.rb +123 -0
  559. data/lib/puppet/parser/templatewrapper.rb +105 -0
  560. data/lib/puppet/parser/type_loader.rb +151 -0
  561. data/lib/puppet/parser.rb +22 -0
  562. data/lib/puppet/plugins/configuration.rb +31 -0
  563. data/lib/puppet/plugins/syntax_checkers.rb +99 -0
  564. data/lib/puppet/plugins.rb +11 -0
  565. data/lib/puppet/pops/adaptable.rb +197 -0
  566. data/lib/puppet/pops/adapters.rb +159 -0
  567. data/lib/puppet/pops/evaluator/access_operator.rb +732 -0
  568. data/lib/puppet/pops/evaluator/callable_signature.rb +108 -0
  569. data/lib/puppet/pops/evaluator/closure.rb +370 -0
  570. data/lib/puppet/pops/evaluator/collector_transformer.rb +237 -0
  571. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +88 -0
  572. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +30 -0
  573. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +71 -0
  574. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +38 -0
  575. data/lib/puppet/pops/evaluator/compare_operator.rb +269 -0
  576. data/lib/puppet/pops/evaluator/deferred_resolver.rb +230 -0
  577. data/lib/puppet/pops/evaluator/epp_evaluator.rb +121 -0
  578. data/lib/puppet/pops/evaluator/evaluator_impl.rb +1317 -0
  579. data/lib/puppet/pops/evaluator/external_syntax_support.rb +47 -0
  580. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +83 -0
  581. data/lib/puppet/pops/evaluator/literal_evaluator.rb +100 -0
  582. data/lib/puppet/pops/evaluator/puppet_proc.rb +72 -0
  583. data/lib/puppet/pops/evaluator/relationship_operator.rb +188 -0
  584. data/lib/puppet/pops/evaluator/runtime3_converter.rb +225 -0
  585. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +119 -0
  586. data/lib/puppet/pops/evaluator/runtime3_support.rb +528 -0
  587. data/lib/puppet/pops/functions/dispatch.rb +107 -0
  588. data/lib/puppet/pops/functions/dispatcher.rb +76 -0
  589. data/lib/puppet/pops/functions/function.rb +137 -0
  590. data/lib/puppet/pops/issue_reporter.rb +140 -0
  591. data/lib/puppet/pops/issues.rb +933 -0
  592. data/lib/puppet/pops/label_provider.rb +92 -0
  593. data/lib/puppet/pops/loader/base_loader.rb +176 -0
  594. data/lib/puppet/pops/loader/dependency_loader.rb +95 -0
  595. data/lib/puppet/pops/loader/gem_support.rb +54 -0
  596. data/lib/puppet/pops/loader/generic_plan_instantiator.rb +30 -0
  597. data/lib/puppet/pops/loader/loader.rb +219 -0
  598. data/lib/puppet/pops/loader/loader_paths.rb +413 -0
  599. data/lib/puppet/pops/loader/module_loaders.rb +552 -0
  600. data/lib/puppet/pops/loader/predefined_loader.rb +28 -0
  601. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +88 -0
  602. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +97 -0
  603. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +80 -0
  604. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +43 -0
  605. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +49 -0
  606. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +130 -0
  607. data/lib/puppet/pops/loader/runtime3_type_loader.rb +102 -0
  608. data/lib/puppet/pops/loader/simple_environment_loader.rb +20 -0
  609. data/lib/puppet/pops/loader/static_loader.rb +133 -0
  610. data/lib/puppet/pops/loader/task_instantiator.rb +46 -0
  611. data/lib/puppet/pops/loader/type_definition_instantiator.rb +104 -0
  612. data/lib/puppet/pops/loader/typed_name.rb +56 -0
  613. data/lib/puppet/pops/loader/uri_helper.rb +24 -0
  614. data/lib/puppet/pops/loaders.rb +548 -0
  615. data/lib/puppet/pops/lookup/configured_data_provider.rb +95 -0
  616. data/lib/puppet/pops/lookup/context.rb +208 -0
  617. data/lib/puppet/pops/lookup/data_adapter.rb +29 -0
  618. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +146 -0
  619. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +128 -0
  620. data/lib/puppet/pops/lookup/data_provider.rb +94 -0
  621. data/lib/puppet/pops/lookup/environment_data_provider.rb +37 -0
  622. data/lib/puppet/pops/lookup/explainer.rb +597 -0
  623. data/lib/puppet/pops/lookup/function_provider.rb +112 -0
  624. data/lib/puppet/pops/lookup/global_data_provider.rb +76 -0
  625. data/lib/puppet/pops/lookup/hiera_config.rb +821 -0
  626. data/lib/puppet/pops/lookup/interpolation.rb +164 -0
  627. data/lib/puppet/pops/lookup/invocation.rb +272 -0
  628. data/lib/puppet/pops/lookup/key_recorder.rb +19 -0
  629. data/lib/puppet/pops/lookup/location_resolver.rb +101 -0
  630. data/lib/puppet/pops/lookup/lookup_adapter.rb +474 -0
  631. data/lib/puppet/pops/lookup/lookup_key.rb +99 -0
  632. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +94 -0
  633. data/lib/puppet/pops/lookup/module_data_provider.rb +92 -0
  634. data/lib/puppet/pops/lookup/sub_lookup.rb +96 -0
  635. data/lib/puppet/pops/lookup.rb +102 -0
  636. data/lib/puppet/pops/merge_strategy.rb +447 -0
  637. data/lib/puppet/pops/migration/migration_checker.rb +60 -0
  638. data/lib/puppet/pops/model/ast.pp +669 -0
  639. data/lib/puppet/pops/model/ast.rb +4776 -0
  640. data/lib/puppet/pops/model/ast_transformer.rb +131 -0
  641. data/lib/puppet/pops/model/factory.rb +1157 -0
  642. data/lib/puppet/pops/model/model_label_provider.rb +137 -0
  643. data/lib/puppet/pops/model/model_tree_dumper.rb +447 -0
  644. data/lib/puppet/pops/model/pn_transformer.rb +384 -0
  645. data/lib/puppet/pops/model/tree_dumper.rb +62 -0
  646. data/lib/puppet/pops/parser/code_merger.rb +29 -0
  647. data/lib/puppet/pops/parser/egrammar.ra +889 -0
  648. data/lib/puppet/pops/parser/eparser.rb +3184 -0
  649. data/lib/puppet/pops/parser/epp_parser.rb +52 -0
  650. data/lib/puppet/pops/parser/epp_support.rb +266 -0
  651. data/lib/puppet/pops/parser/evaluating_parser.rb +166 -0
  652. data/lib/puppet/pops/parser/heredoc_support.rb +153 -0
  653. data/lib/puppet/pops/parser/interpolation_support.rb +249 -0
  654. data/lib/puppet/pops/parser/lexer2.rb +789 -0
  655. data/lib/puppet/pops/parser/lexer_support.rb +219 -0
  656. data/lib/puppet/pops/parser/locatable.rb +21 -0
  657. data/lib/puppet/pops/parser/locator.rb +352 -0
  658. data/lib/puppet/pops/parser/parser_support.rb +252 -0
  659. data/lib/puppet/pops/parser/pn_parser.rb +318 -0
  660. data/lib/puppet/pops/parser/slurp_support.rb +119 -0
  661. data/lib/puppet/pops/patterns.rb +60 -0
  662. data/lib/puppet/pops/pcore.rb +136 -0
  663. data/lib/puppet/pops/pn.rb +239 -0
  664. data/lib/puppet/pops/puppet_stack.rb +63 -0
  665. data/lib/puppet/pops/resource/param.rb +56 -0
  666. data/lib/puppet/pops/resource/resource_type_impl.rb +296 -0
  667. data/lib/puppet/pops/resource/resource_type_set.pcore +22 -0
  668. data/lib/puppet/pops/semantic_error.rb +31 -0
  669. data/lib/puppet/pops/serialization/abstract_reader.rb +182 -0
  670. data/lib/puppet/pops/serialization/abstract_writer.rb +224 -0
  671. data/lib/puppet/pops/serialization/deserializer.rb +83 -0
  672. data/lib/puppet/pops/serialization/extension.rb +166 -0
  673. data/lib/puppet/pops/serialization/from_data_converter.rb +231 -0
  674. data/lib/puppet/pops/serialization/instance_reader.rb +21 -0
  675. data/lib/puppet/pops/serialization/instance_writer.rb +16 -0
  676. data/lib/puppet/pops/serialization/json.rb +301 -0
  677. data/lib/puppet/pops/serialization/json_path.rb +129 -0
  678. data/lib/puppet/pops/serialization/object.rb +73 -0
  679. data/lib/puppet/pops/serialization/serializer.rb +144 -0
  680. data/lib/puppet/pops/serialization/time_factory.rb +68 -0
  681. data/lib/puppet/pops/serialization/to_data_converter.rb +316 -0
  682. data/lib/puppet/pops/serialization/to_stringified_converter.rb +227 -0
  683. data/lib/puppet/pops/serialization.rb +45 -0
  684. data/lib/puppet/pops/time/timespan.rb +726 -0
  685. data/lib/puppet/pops/time/timestamp.rb +167 -0
  686. data/lib/puppet/pops/types/annotatable.rb +37 -0
  687. data/lib/puppet/pops/types/annotation.rb +73 -0
  688. data/lib/puppet/pops/types/class_loader.rb +132 -0
  689. data/lib/puppet/pops/types/implementation_registry.rb +137 -0
  690. data/lib/puppet/pops/types/iterable.rb +373 -0
  691. data/lib/puppet/pops/types/p_binary_type.rb +232 -0
  692. data/lib/puppet/pops/types/p_init_type.rb +241 -0
  693. data/lib/puppet/pops/types/p_meta_type.rb +95 -0
  694. data/lib/puppet/pops/types/p_object_type.rb +1142 -0
  695. data/lib/puppet/pops/types/p_object_type_extension.rb +229 -0
  696. data/lib/puppet/pops/types/p_runtime_type.rb +115 -0
  697. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +191 -0
  698. data/lib/puppet/pops/types/p_sem_ver_type.rb +155 -0
  699. data/lib/puppet/pops/types/p_sensitive_type.rb +81 -0
  700. data/lib/puppet/pops/types/p_timespan_type.rb +192 -0
  701. data/lib/puppet/pops/types/p_timestamp_type.rb +74 -0
  702. data/lib/puppet/pops/types/p_type_set_type.rb +394 -0
  703. data/lib/puppet/pops/types/p_uri_type.rb +198 -0
  704. data/lib/puppet/pops/types/puppet_object.rb +39 -0
  705. data/lib/puppet/pops/types/recursion_guard.rb +142 -0
  706. data/lib/puppet/pops/types/ruby_generator.rb +477 -0
  707. data/lib/puppet/pops/types/ruby_method.rb +32 -0
  708. data/lib/puppet/pops/types/string_converter.rb +1144 -0
  709. data/lib/puppet/pops/types/tree_iterators.rb +250 -0
  710. data/lib/puppet/pops/types/type_acceptor.rb +26 -0
  711. data/lib/puppet/pops/types/type_asserter.rb +49 -0
  712. data/lib/puppet/pops/types/type_assertion_error.rb +27 -0
  713. data/lib/puppet/pops/types/type_calculator.rb +829 -0
  714. data/lib/puppet/pops/types/type_conversion_error.rb +7 -0
  715. data/lib/puppet/pops/types/type_factory.rb +640 -0
  716. data/lib/puppet/pops/types/type_formatter.rb +796 -0
  717. data/lib/puppet/pops/types/type_mismatch_describer.rb +1105 -0
  718. data/lib/puppet/pops/types/type_parser.rb +690 -0
  719. data/lib/puppet/pops/types/type_set_reference.rb +62 -0
  720. data/lib/puppet/pops/types/type_with_members.rb +43 -0
  721. data/lib/puppet/pops/types/types.rb +3644 -0
  722. data/lib/puppet/pops/utils.rb +111 -0
  723. data/lib/puppet/pops/validation/checker4_0.rb +1151 -0
  724. data/lib/puppet/pops/validation/tasks_checker.rb +95 -0
  725. data/lib/puppet/pops/validation/validator_factory_4_0.rb +45 -0
  726. data/lib/puppet/pops/validation.rb +462 -0
  727. data/lib/puppet/pops/visitable.rb +8 -0
  728. data/lib/puppet/pops/visitor.rb +136 -0
  729. data/lib/puppet/pops.rb +124 -0
  730. data/lib/puppet/property/boolean.rb +9 -0
  731. data/lib/puppet/property/ensure.rb +103 -0
  732. data/lib/puppet/property/keyvalue.rb +159 -0
  733. data/lib/puppet/property/list.rb +71 -0
  734. data/lib/puppet/property/ordered_list.rb +30 -0
  735. data/lib/puppet/property.rb +610 -0
  736. data/lib/puppet/provider/aix_object.rb +491 -0
  737. data/lib/puppet/provider/command.rb +27 -0
  738. data/lib/puppet/provider/confine.rb +8 -0
  739. data/lib/puppet/provider/exec/posix.rb +63 -0
  740. data/lib/puppet/provider/exec/shell.rb +27 -0
  741. data/lib/puppet/provider/exec/windows.rb +57 -0
  742. data/lib/puppet/provider/exec.rb +107 -0
  743. data/lib/puppet/provider/file/posix.rb +162 -0
  744. data/lib/puppet/provider/file/windows.rb +151 -0
  745. data/lib/puppet/provider/group/aix.rb +101 -0
  746. data/lib/puppet/provider/group/directoryservice.rb +24 -0
  747. data/lib/puppet/provider/group/groupadd.rb +184 -0
  748. data/lib/puppet/provider/group/ldap.rb +51 -0
  749. data/lib/puppet/provider/group/pw.rb +52 -0
  750. data/lib/puppet/provider/group/windows_adsi.rb +116 -0
  751. data/lib/puppet/provider/ldap.rb +143 -0
  752. data/lib/puppet/provider/nameservice/directoryservice.rb +522 -0
  753. data/lib/puppet/provider/nameservice/objectadd.rb +22 -0
  754. data/lib/puppet/provider/nameservice/pw.rb +21 -0
  755. data/lib/puppet/provider/nameservice.rb +295 -0
  756. data/lib/puppet/provider/network_device.rb +73 -0
  757. data/lib/puppet/provider/package/aix.rb +171 -0
  758. data/lib/puppet/provider/package/appdmg.rb +113 -0
  759. data/lib/puppet/provider/package/apple.rb +49 -0
  760. data/lib/puppet/provider/package/apt.rb +265 -0
  761. data/lib/puppet/provider/package/aptitude.rb +34 -0
  762. data/lib/puppet/provider/package/aptrpm.rb +87 -0
  763. data/lib/puppet/provider/package/blastwave.rb +109 -0
  764. data/lib/puppet/provider/package/dnf.rb +57 -0
  765. data/lib/puppet/provider/package/dnfmodule.rb +143 -0
  766. data/lib/puppet/provider/package/dpkg.rb +191 -0
  767. data/lib/puppet/provider/package/fink.rb +99 -0
  768. data/lib/puppet/provider/package/freebsd.rb +49 -0
  769. data/lib/puppet/provider/package/gem.rb +296 -0
  770. data/lib/puppet/provider/package/hpux.rb +46 -0
  771. data/lib/puppet/provider/package/macports.rb +112 -0
  772. data/lib/puppet/provider/package/nim.rb +290 -0
  773. data/lib/puppet/provider/package/openbsd.rb +145 -0
  774. data/lib/puppet/provider/package/opkg.rb +85 -0
  775. data/lib/puppet/provider/package/pacman.rb +269 -0
  776. data/lib/puppet/provider/package/pip.rb +347 -0
  777. data/lib/puppet/provider/package/pip2.rb +18 -0
  778. data/lib/puppet/provider/package/pip3.rb +18 -0
  779. data/lib/puppet/provider/package/pkg.rb +300 -0
  780. data/lib/puppet/provider/package/pkgdmg.rb +157 -0
  781. data/lib/puppet/provider/package/pkgin.rb +88 -0
  782. data/lib/puppet/provider/package/pkgng.rb +178 -0
  783. data/lib/puppet/provider/package/pkgutil.rb +186 -0
  784. data/lib/puppet/provider/package/portage.rb +314 -0
  785. data/lib/puppet/provider/package/ports.rb +94 -0
  786. data/lib/puppet/provider/package/portupgrade.rb +233 -0
  787. data/lib/puppet/provider/package/puppet_gem.rb +25 -0
  788. data/lib/puppet/provider/package/puppetserver_gem.rb +171 -0
  789. data/lib/puppet/provider/package/rpm.rb +255 -0
  790. data/lib/puppet/provider/package/rug.rb +51 -0
  791. data/lib/puppet/provider/package/sun.rb +137 -0
  792. data/lib/puppet/provider/package/sunfreeware.rb +11 -0
  793. data/lib/puppet/provider/package/tdnf.rb +35 -0
  794. data/lib/puppet/provider/package/up2date.rb +40 -0
  795. data/lib/puppet/provider/package/urpmi.rb +57 -0
  796. data/lib/puppet/provider/package/windows/exe_package.rb +108 -0
  797. data/lib/puppet/provider/package/windows/msi_package.rb +72 -0
  798. data/lib/puppet/provider/package/windows/package.rb +113 -0
  799. data/lib/puppet/provider/package/windows.rb +131 -0
  800. data/lib/puppet/provider/package/xbps.rb +127 -0
  801. data/lib/puppet/provider/package/yum.rb +390 -0
  802. data/lib/puppet/provider/package/zypper.rb +206 -0
  803. data/lib/puppet/provider/package.rb +128 -0
  804. data/lib/puppet/provider/package_targetable.rb +71 -0
  805. data/lib/puppet/provider/parsedfile.rb +492 -0
  806. data/lib/puppet/provider/service/base.rb +133 -0
  807. data/lib/puppet/provider/service/bsd.rb +53 -0
  808. data/lib/puppet/provider/service/daemontools.rb +196 -0
  809. data/lib/puppet/provider/service/debian.rb +77 -0
  810. data/lib/puppet/provider/service/freebsd.rb +141 -0
  811. data/lib/puppet/provider/service/gentoo.rb +47 -0
  812. data/lib/puppet/provider/service/init.rb +194 -0
  813. data/lib/puppet/provider/service/launchd.rb +391 -0
  814. data/lib/puppet/provider/service/openbsd.rb +101 -0
  815. data/lib/puppet/provider/service/openrc.rb +72 -0
  816. data/lib/puppet/provider/service/openwrt.rb +36 -0
  817. data/lib/puppet/provider/service/rcng.rb +53 -0
  818. data/lib/puppet/provider/service/redhat.rb +75 -0
  819. data/lib/puppet/provider/service/runit.rb +107 -0
  820. data/lib/puppet/provider/service/service.rb +66 -0
  821. data/lib/puppet/provider/service/smf.rb +322 -0
  822. data/lib/puppet/provider/service/src.rb +147 -0
  823. data/lib/puppet/provider/service/systemd.rb +191 -0
  824. data/lib/puppet/provider/service/upstart.rb +385 -0
  825. data/lib/puppet/provider/service/windows.rb +179 -0
  826. data/lib/puppet/provider/user/aix.rb +365 -0
  827. data/lib/puppet/provider/user/directoryservice.rb +685 -0
  828. data/lib/puppet/provider/user/hpux.rb +93 -0
  829. data/lib/puppet/provider/user/ldap.rb +135 -0
  830. data/lib/puppet/provider/user/openbsd.rb +94 -0
  831. data/lib/puppet/provider/user/pw.rb +109 -0
  832. data/lib/puppet/provider/user/user_role_add.rb +243 -0
  833. data/lib/puppet/provider/user/useradd.rb +417 -0
  834. data/lib/puppet/provider/user/windows_adsi.rb +176 -0
  835. data/lib/puppet/provider.rb +613 -0
  836. data/lib/puppet/reference/configuration.rb +98 -0
  837. data/lib/puppet/reference/function.rb +19 -0
  838. data/lib/puppet/reference/indirection.rb +76 -0
  839. data/lib/puppet/reference/metaparameter.rb +35 -0
  840. data/lib/puppet/reference/providers.rb +119 -0
  841. data/lib/puppet/reference/report.rb +22 -0
  842. data/lib/puppet/reference/type.rb +111 -0
  843. data/lib/puppet/relationship.rb +85 -0
  844. data/lib/puppet/reports/http.rb +45 -0
  845. data/lib/puppet/reports/log.rb +15 -0
  846. data/lib/puppet/reports/store.rb +71 -0
  847. data/lib/puppet/reports.rb +95 -0
  848. data/lib/puppet/resource/catalog.rb +655 -0
  849. data/lib/puppet/resource/status.rb +231 -0
  850. data/lib/puppet/resource/type.rb +449 -0
  851. data/lib/puppet/resource/type_collection.rb +235 -0
  852. data/lib/puppet/resource.rb +673 -0
  853. data/lib/puppet/runtime.rb +67 -0
  854. data/lib/puppet/scheduler/job.rb +55 -0
  855. data/lib/puppet/scheduler/scheduler.rb +46 -0
  856. data/lib/puppet/scheduler/splay_job.rb +45 -0
  857. data/lib/puppet/scheduler/timer.rb +15 -0
  858. data/lib/puppet/scheduler.rb +18 -0
  859. data/lib/puppet/settings/alias_setting.rb +37 -0
  860. data/lib/puppet/settings/array_setting.rb +18 -0
  861. data/lib/puppet/settings/autosign_setting.rb +23 -0
  862. data/lib/puppet/settings/base_setting.rb +227 -0
  863. data/lib/puppet/settings/boolean_setting.rb +34 -0
  864. data/lib/puppet/settings/certificate_revocation_setting.rb +22 -0
  865. data/lib/puppet/settings/config_file.rb +148 -0
  866. data/lib/puppet/settings/directory_setting.rb +20 -0
  867. data/lib/puppet/settings/duration_setting.rb +33 -0
  868. data/lib/puppet/settings/enum_setting.rb +18 -0
  869. data/lib/puppet/settings/environment_conf.rb +220 -0
  870. data/lib/puppet/settings/errors.rb +14 -0
  871. data/lib/puppet/settings/file_or_directory_setting.rb +37 -0
  872. data/lib/puppet/settings/file_setting.rb +232 -0
  873. data/lib/puppet/settings/http_extra_headers_setting.rb +26 -0
  874. data/lib/puppet/settings/ini_file.rb +228 -0
  875. data/lib/puppet/settings/integer_setting.rb +19 -0
  876. data/lib/puppet/settings/path_setting.rb +10 -0
  877. data/lib/puppet/settings/port_setting.rb +17 -0
  878. data/lib/puppet/settings/priority_setting.rb +44 -0
  879. data/lib/puppet/settings/server_list_setting.rb +30 -0
  880. data/lib/puppet/settings/string_setting.rb +11 -0
  881. data/lib/puppet/settings/symbolic_enum_setting.rb +19 -0
  882. data/lib/puppet/settings/terminus_setting.rb +16 -0
  883. data/lib/puppet/settings/ttl_setting.rb +53 -0
  884. data/lib/puppet/settings/value_translator.rb +16 -0
  885. data/lib/puppet/settings.rb +1608 -0
  886. data/lib/puppet/ssl/base.rb +152 -0
  887. data/lib/puppet/ssl/certificate.rb +102 -0
  888. data/lib/puppet/ssl/certificate_request.rb +320 -0
  889. data/lib/puppet/ssl/certificate_request_attributes.rb +40 -0
  890. data/lib/puppet/ssl/certificate_signer.rb +39 -0
  891. data/lib/puppet/ssl/digest.rb +22 -0
  892. data/lib/puppet/ssl/error.rb +29 -0
  893. data/lib/puppet/ssl/oids.rb +199 -0
  894. data/lib/puppet/ssl/openssl_loader.rb +26 -0
  895. data/lib/puppet/ssl/ssl_context.rb +27 -0
  896. data/lib/puppet/ssl/ssl_provider.rb +356 -0
  897. data/lib/puppet/ssl/state_machine.rb +611 -0
  898. data/lib/puppet/ssl/verifier.rb +143 -0
  899. data/lib/puppet/ssl.rb +25 -0
  900. data/lib/puppet/syntax_checkers/base64.rb +42 -0
  901. data/lib/puppet/syntax_checkers/epp.rb +35 -0
  902. data/lib/puppet/syntax_checkers/json.rb +35 -0
  903. data/lib/puppet/syntax_checkers/pp.rb +35 -0
  904. data/lib/puppet/syntax_checkers.rb +5 -0
  905. data/lib/puppet/test/test_helper.rb +250 -0
  906. data/lib/puppet/thread_local.rb +6 -0
  907. data/lib/puppet/transaction/additional_resource_generator.rb +225 -0
  908. data/lib/puppet/transaction/event.rb +170 -0
  909. data/lib/puppet/transaction/event_manager.rb +180 -0
  910. data/lib/puppet/transaction/persistence.rb +117 -0
  911. data/lib/puppet/transaction/report.rb +511 -0
  912. data/lib/puppet/transaction/resource_harness.rb +331 -0
  913. data/lib/puppet/transaction.rb +492 -0
  914. data/lib/puppet/trusted_external.rb +46 -0
  915. data/lib/puppet/type/component.rb +95 -0
  916. data/lib/puppet/type/exec.rb +730 -0
  917. data/lib/puppet/type/file/checksum.rb +64 -0
  918. data/lib/puppet/type/file/checksum_value.rb +56 -0
  919. data/lib/puppet/type/file/content.rb +153 -0
  920. data/lib/puppet/type/file/ctime.rb +22 -0
  921. data/lib/puppet/type/file/data_sync.rb +101 -0
  922. data/lib/puppet/type/file/ensure.rb +203 -0
  923. data/lib/puppet/type/file/group.rb +50 -0
  924. data/lib/puppet/type/file/mode.rb +192 -0
  925. data/lib/puppet/type/file/mtime.rb +21 -0
  926. data/lib/puppet/type/file/owner.rb +52 -0
  927. data/lib/puppet/type/file/selcontext.rb +143 -0
  928. data/lib/puppet/type/file/source.rb +374 -0
  929. data/lib/puppet/type/file/target.rb +86 -0
  930. data/lib/puppet/type/file/type.rb +21 -0
  931. data/lib/puppet/type/file.rb +1144 -0
  932. data/lib/puppet/type/filebucket.rb +137 -0
  933. data/lib/puppet/type/group.rb +238 -0
  934. data/lib/puppet/type/notify.rb +48 -0
  935. data/lib/puppet/type/package.rb +739 -0
  936. data/lib/puppet/type/resources.rb +190 -0
  937. data/lib/puppet/type/schedule.rb +441 -0
  938. data/lib/puppet/type/service.rb +310 -0
  939. data/lib/puppet/type/stage.rb +29 -0
  940. data/lib/puppet/type/tidy.rb +382 -0
  941. data/lib/puppet/type/user.rb +861 -0
  942. data/lib/puppet/type/whit.rb +35 -0
  943. data/lib/puppet/type.rb +2616 -0
  944. data/lib/puppet/util/at_fork/noop.rb +17 -0
  945. data/lib/puppet/util/at_fork/solaris.rb +158 -0
  946. data/lib/puppet/util/at_fork.rb +37 -0
  947. data/lib/puppet/util/autoload.rb +221 -0
  948. data/lib/puppet/util/backups.rb +88 -0
  949. data/lib/puppet/util/character_encoding.rb +83 -0
  950. data/lib/puppet/util/checksums.rb +400 -0
  951. data/lib/puppet/util/classgen.rb +223 -0
  952. data/lib/puppet/util/colors.rb +102 -0
  953. data/lib/puppet/util/command_line/puppet_option_parser.rb +89 -0
  954. data/lib/puppet/util/command_line/trollop.rb +847 -0
  955. data/lib/puppet/util/command_line.rb +198 -0
  956. data/lib/puppet/util/constant_inflector.rb +25 -0
  957. data/lib/puppet/util/diff.rb +80 -0
  958. data/lib/puppet/util/docs.rb +132 -0
  959. data/lib/puppet/util/errors.rb +161 -0
  960. data/lib/puppet/util/execution.rb +446 -0
  961. data/lib/puppet/util/execution_stub.rb +28 -0
  962. data/lib/puppet/util/feature.rb +129 -0
  963. data/lib/puppet/util/file_watcher.rb +31 -0
  964. data/lib/puppet/util/fileparsing.rb +398 -0
  965. data/lib/puppet/util/filetype.rb +356 -0
  966. data/lib/puppet/util/http_proxy.rb +6 -0
  967. data/lib/puppet/util/inifile.rb +335 -0
  968. data/lib/puppet/util/instance_loader.rb +69 -0
  969. data/lib/puppet/util/json.rb +58 -0
  970. data/lib/puppet/util/json_lockfile.rb +47 -0
  971. data/lib/puppet/util/ldap/connection.rb +75 -0
  972. data/lib/puppet/util/ldap/generator.rb +42 -0
  973. data/lib/puppet/util/ldap/manager.rb +283 -0
  974. data/lib/puppet/util/ldap.rb +4 -0
  975. data/lib/puppet/util/libuser.conf +15 -0
  976. data/lib/puppet/util/libuser.rb +13 -0
  977. data/lib/puppet/util/limits.rb +14 -0
  978. data/lib/puppet/util/lockfile.rb +66 -0
  979. data/lib/puppet/util/log/destination.rb +50 -0
  980. data/lib/puppet/util/log/destinations.rb +253 -0
  981. data/lib/puppet/util/log.rb +436 -0
  982. data/lib/puppet/util/logging.rb +304 -0
  983. data/lib/puppet/util/metaid.rb +22 -0
  984. data/lib/puppet/util/metric.rb +68 -0
  985. data/lib/puppet/util/monkey_patches.rb +95 -0
  986. data/lib/puppet/util/multi_match.rb +55 -0
  987. data/lib/puppet/util/network_device/base.rb +24 -0
  988. data/lib/puppet/util/network_device/config.rb +105 -0
  989. data/lib/puppet/util/network_device/transport/base.rb +24 -0
  990. data/lib/puppet/util/network_device/transport.rb +7 -0
  991. data/lib/puppet/util/network_device.rb +19 -0
  992. data/lib/puppet/util/package/version/debian.rb +177 -0
  993. data/lib/puppet/util/package/version/gem.rb +18 -0
  994. data/lib/puppet/util/package/version/pip.rb +173 -0
  995. data/lib/puppet/util/package/version/range/eq.rb +17 -0
  996. data/lib/puppet/util/package/version/range/gt.rb +17 -0
  997. data/lib/puppet/util/package/version/range/gt_eq.rb +17 -0
  998. data/lib/puppet/util/package/version/range/lt.rb +17 -0
  999. data/lib/puppet/util/package/version/range/lt_eq.rb +17 -0
  1000. data/lib/puppet/util/package/version/range/min_max.rb +26 -0
  1001. data/lib/puppet/util/package/version/range/simple.rb +13 -0
  1002. data/lib/puppet/util/package/version/range.rb +57 -0
  1003. data/lib/puppet/util/package/version/rpm.rb +75 -0
  1004. data/lib/puppet/util/package.rb +43 -0
  1005. data/lib/puppet/util/pidlock.rb +103 -0
  1006. data/lib/puppet/util/platform.rb +72 -0
  1007. data/lib/puppet/util/plist.rb +161 -0
  1008. data/lib/puppet/util/posix.rb +206 -0
  1009. data/lib/puppet/util/profiler/aggregate.rb +82 -0
  1010. data/lib/puppet/util/profiler/around_profiler.rb +68 -0
  1011. data/lib/puppet/util/profiler/logging.rb +50 -0
  1012. data/lib/puppet/util/profiler/object_counts.rb +19 -0
  1013. data/lib/puppet/util/profiler/wall_clock.rb +36 -0
  1014. data/lib/puppet/util/profiler.rb +55 -0
  1015. data/lib/puppet/util/provider_features.rb +183 -0
  1016. data/lib/puppet/util/psych_support.rb +32 -0
  1017. data/lib/puppet/util/rdoc/code_objects.rb +293 -0
  1018. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +263 -0
  1019. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +16 -0
  1020. data/lib/puppet/util/rdoc/parser.rb +14 -0
  1021. data/lib/puppet/util/rdoc.rb +57 -0
  1022. data/lib/puppet/util/reference.rb +94 -0
  1023. data/lib/puppet/util/resource_template.rb +63 -0
  1024. data/lib/puppet/util/retry_action.rb +47 -0
  1025. data/lib/puppet/util/rpm_compare.rb +196 -0
  1026. data/lib/puppet/util/rubygems.rb +67 -0
  1027. data/lib/puppet/util/run_mode.rb +164 -0
  1028. data/lib/puppet/util/selinux.rb +346 -0
  1029. data/lib/puppet/util/skip_tags.rb +15 -0
  1030. data/lib/puppet/util/splayer.rb +20 -0
  1031. data/lib/puppet/util/storage.rb +100 -0
  1032. data/lib/puppet/util/suidmanager.rb +167 -0
  1033. data/lib/puppet/util/symbolic_file_mode.rb +156 -0
  1034. data/lib/puppet/util/tag_set.rb +29 -0
  1035. data/lib/puppet/util/tagging.rb +131 -0
  1036. data/lib/puppet/util/terminal.rb +18 -0
  1037. data/lib/puppet/util/user_attr.rb +23 -0
  1038. data/lib/puppet/util/warnings.rb +35 -0
  1039. data/lib/puppet/util/watched_file.rb +40 -0
  1040. data/lib/puppet/util/watcher/change_watcher.rb +35 -0
  1041. data/lib/puppet/util/watcher/periodic_watcher.rb +38 -0
  1042. data/lib/puppet/util/watcher/timer.rb +21 -0
  1043. data/lib/puppet/util/watcher.rb +17 -0
  1044. data/lib/puppet/util/windows/access_control_entry.rb +86 -0
  1045. data/lib/puppet/util/windows/access_control_list.rb +116 -0
  1046. data/lib/puppet/util/windows/adsi.rb +662 -0
  1047. data/lib/puppet/util/windows/com.rb +228 -0
  1048. data/lib/puppet/util/windows/daemon.rb +340 -0
  1049. data/lib/puppet/util/windows/error.rb +86 -0
  1050. data/lib/puppet/util/windows/eventlog.rb +191 -0
  1051. data/lib/puppet/util/windows/file.rb +358 -0
  1052. data/lib/puppet/util/windows/monkey_patches/process.rb +413 -0
  1053. data/lib/puppet/util/windows/principal.rb +204 -0
  1054. data/lib/puppet/util/windows/process.rb +360 -0
  1055. data/lib/puppet/util/windows/registry.rb +443 -0
  1056. data/lib/puppet/util/windows/root_certs.rb +110 -0
  1057. data/lib/puppet/util/windows/security.rb +909 -0
  1058. data/lib/puppet/util/windows/security_descriptor.rb +64 -0
  1059. data/lib/puppet/util/windows/service.rb +708 -0
  1060. data/lib/puppet/util/windows/sid.rb +291 -0
  1061. data/lib/puppet/util/windows/string.rb +17 -0
  1062. data/lib/puppet/util/windows/user.rb +551 -0
  1063. data/lib/puppet/util/windows.rb +58 -0
  1064. data/lib/puppet/util/yaml.rb +67 -0
  1065. data/lib/puppet/util.rb +769 -0
  1066. data/lib/puppet/vendor/require_vendored.rb +4 -0
  1067. data/lib/puppet/vendor.rb +59 -0
  1068. data/lib/puppet/version.rb +98 -0
  1069. data/lib/puppet/x509/cert_provider.rb +405 -0
  1070. data/lib/puppet/x509/pem_store.rb +57 -0
  1071. data/lib/puppet/x509.rb +13 -0
  1072. data/lib/puppet.rb +348 -0
  1073. data/lib/puppet_pal.rb +10 -0
  1074. data/lib/puppet_x.rb +16 -0
  1075. data/locales/config.yaml +29 -0
  1076. data/locales/en/puppet.po +19 -0
  1077. data/locales/puppet.pot +9736 -0
  1078. data/man/man5/puppet.conf.5 +1383 -0
  1079. data/man/man8/puppet-agent.8 +135 -0
  1080. data/man/man8/puppet-apply.8 +67 -0
  1081. data/man/man8/puppet-catalog.8 +194 -0
  1082. data/man/man8/puppet-config.8 +103 -0
  1083. data/man/man8/puppet-describe.8 +35 -0
  1084. data/man/man8/puppet-device.8 +83 -0
  1085. data/man/man8/puppet-doc.8 +30 -0
  1086. data/man/man8/puppet-epp.8 +232 -0
  1087. data/man/man8/puppet-facts.8 +156 -0
  1088. data/man/man8/puppet-filebucket.8 +134 -0
  1089. data/man/man8/puppet-generate.8 +54 -0
  1090. data/man/man8/puppet-help.8 +46 -0
  1091. data/man/man8/puppet-lookup.8 +71 -0
  1092. data/man/man8/puppet-module.8 +220 -0
  1093. data/man/man8/puppet-node.8 +108 -0
  1094. data/man/man8/puppet-parser.8 +87 -0
  1095. data/man/man8/puppet-plugin.8 +50 -0
  1096. data/man/man8/puppet-report.8 +84 -0
  1097. data/man/man8/puppet-resource.8 +63 -0
  1098. data/man/man8/puppet-script.8 +48 -0
  1099. data/man/man8/puppet-ssl.8 +43 -0
  1100. data/man/man8/puppet.8 +98 -0
  1101. data/tasks/build.rake +26 -0
  1102. data/tasks/cleanup.rake +19 -0
  1103. data/tasks/upload.rake +50 -0
  1104. data/tasks/vox.rake +17 -0
  1105. metadata +1391 -0
@@ -0,0 +1,270 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # = Synopsis
4
+ # This is an external node classifier script, after
5
+ # https://docs.openvoxproject.org/openvox/latest/lang_write_functions_in_puppet.html
6
+ #
7
+ # = Usage
8
+ # regexp_nodes.rb <host>
9
+ #
10
+ # = Description
11
+ # This classifier implements filesystem autoloading: It looks through classes,
12
+ # parameters, and environment subdirectories, looping through each file it
13
+ # finds. Each file's contents are a regexp-per-line which, if they match the
14
+ # hostname passed to the program as ARGV[0], sets a class, parameter value
15
+ # or environment named the same thing as the file itself. At the end, the
16
+ # resultant data structure is returned back to the OpenVox server process as
17
+ # yaml.
18
+ #
19
+ # = Caveats
20
+ # Since the files are read in directory order, multiple matches for a given
21
+ # hostname in the parameters/ and environment/ subdirectories will return the
22
+ # last-read value. (Multiple classes/ matches don't cause a problem; the
23
+ # class is either incuded or it isn't)
24
+ #
25
+ # Unmatched hostnames in any of the environment/ files will cause 'production'
26
+ # to be emitted; be aware of the complexity surrounding the interaction between
27
+ # ENC and environments as discussed in https://projects.puppetlabs.com/issues/3910
28
+ #
29
+ # = Examples
30
+ # Based on the example files in the classes/ and parameters/ subdirectories
31
+ # in the distribution, classes/database will set the 'database' class for
32
+ # hosts matching %r{db\d{2}} (that is, 'db' followed by two digits) or with
33
+ # 'mysql' anywhere in the hostname. Similarly, hosts beginning with 'www' or
34
+ # 'web' or the hostname 'leterel' (my workstation) will be assigned the
35
+ # 'webserver' class.
36
+ #
37
+ # Under parameters/ there is one subdirectory 'service' which
38
+ # sets the a parameter called 'service' to the value 'prod' for production
39
+ # hosts (whose hostnames always end with a three-digit code), 'qa' for
40
+ # anything that starts with 'qa-' 'qa2-' or 'qa3-', and 'sandbox' for any
41
+ # development machines whose hostnames start with 'dev-'.
42
+ #
43
+ # In the environment/ subdirectory, any hosts matching '^dev-' and a single
44
+ # production host which serves as 'canary in the coal mine' will be put into
45
+ # the development environment
46
+ #
47
+ # = Author
48
+ # Eric Sorenson <eric@explosive.net>
49
+
50
+ # we need yaml or there's not much point in going on
51
+ require 'yaml'
52
+
53
+ # Sets are like arrays but automatically de-duplicate elements
54
+ require 'set'
55
+
56
+ # set up some syslog logging
57
+ require 'syslog'
58
+ Syslog.open('extnodes', Syslog::LOG_PID | Syslog::LOG_NDELAY, Syslog::LOG_DAEMON)
59
+ # change this to LOG_UPTO(Sysslog::LOG_DEBUG) if you want to see everything
60
+ # but remember your syslog.conf needs to match this or messages will be filtered
61
+ Syslog.mask = Syslog::LOG_UPTO(Syslog::LOG_INFO)
62
+
63
+ # Helper method to log to syslog; we log at level debug if no level is specified
64
+ # since those are the most frequent calls to this method
65
+ def log(message,level=:debug)
66
+ Syslog.send(level,message)
67
+ end
68
+
69
+
70
+ # set our workingdir to be the directory we're executed from, regardless
71
+ # of parent's cwd, symlinks, etc. via handy Pathname.realpath method
72
+ require 'pathname'
73
+ p = Pathname.new(File.dirname(__FILE__))
74
+ WORKINGDIR = "#{p.realpath}"
75
+
76
+ # This class holds all the methods for creating and accessing the properties
77
+ # of an external node. There are really only two public methods: initialize
78
+ # and a special version of to_yaml
79
+
80
+ class ExternalNode
81
+ # Make these instance variables get/set-able with eponymous methods
82
+ attr_accessor :classes, :parameters, :environment, :hostname
83
+
84
+ # initialize takes three arguments:
85
+ # hostname:: usually passed in via ARGV[0] but it could be anything
86
+ # classdir:: directory under WORKINGDIR to look for files named after
87
+ # classes
88
+ # parameterdir:: directory under WORKINGDIR to look for directories to set
89
+ # parameters
90
+ def initialize(hostname, classdir = 'classes/', parameterdir = 'parameters/', environmentdir = 'environment/')
91
+ # instance variables that contain the lists of classes and parameters
92
+ @classes = Set.new
93
+ @parameters = Hash.new("unknown") # sets a default value of "unknown"
94
+ @environment = "production"
95
+
96
+ self.parse_argv(hostname)
97
+ self.match_classes("#{WORKINGDIR}/#{classdir}")
98
+ self.match_parameters("#{WORKINGDIR}/#{parameterdir}")
99
+ self.match_environment("#{WORKINGDIR}/#{environmentdir}")
100
+ end
101
+
102
+ # private method called by initialize which sanity-checks our hostname.
103
+ # good candidate for overriding in a subclass if you need different checks
104
+ def parse_argv(hostname)
105
+ if hostname =~ /^([-\w]+?)\.([-\w\.]+)/ # non-greedy up to the first . is hostname
106
+ @hostname = $1
107
+ elsif hostname =~ /^([-\w]+)$/ # sometimes puppet's @name is just a name
108
+ @hostname = hostname
109
+ log("got shortname for [#{hostname}]")
110
+ else
111
+ log("didn't receive parsable hostname, got: [#{hostname}]",:err)
112
+ exit(1)
113
+ end
114
+ end
115
+
116
+ # to_yaml massages a copy of the object and outputs clean yaml so we don't
117
+ # feed weird things back to puppet []<
118
+ def to_yaml
119
+ classes = self.classes.to_a
120
+ if self.parameters.empty? # otherwise to_yaml prints "parameters: {}"
121
+ parameters = nil
122
+ else
123
+ parameters = self.parameters
124
+ end
125
+ ({ 'classes' => classes, 'parameters' => parameters, 'environment' => environment}).to_yaml
126
+ end
127
+
128
+ # Private method that expects an absolute path to a file and a string to
129
+ # match - it returns true if the string was matched by any of the lines in
130
+ # the file
131
+ def matched_in_patternfile?(filepath, matchthis)
132
+
133
+ patternlist = []
134
+
135
+ begin
136
+ File.open(filepath).each do |l|
137
+ l.chomp!
138
+
139
+ next if l =~ /^$/
140
+ next if l =~ /^#/
141
+
142
+ if l =~ /^\s*(\S+)/
143
+ m = Regexp.last_match
144
+ log("found a non-comment line, transforming [#{l}] into [#{m[1]}]")
145
+ l.gsub!(l,m[1])
146
+ else
147
+ next l
148
+ end
149
+
150
+ pattern = %r{#{l}}
151
+ patternlist << pattern
152
+ log("appending [#{pattern}] to patternlist for [#{filepath}]")
153
+ end
154
+ rescue StandardError
155
+ log("Problem reading #{filepath}: #{$!}",:err)
156
+ exit(1)
157
+ end
158
+
159
+ log("list of patterns for #{filepath}: #{patternlist}")
160
+
161
+ if matchthis =~ Regexp.union(patternlist)
162
+ log("matched #{$~} in #{matchthis}, returning true")
163
+ return true
164
+
165
+ else # hostname didn't match anything in patternlist
166
+ log("#{matchthis} unmatched, returning false")
167
+ return nil
168
+ end
169
+
170
+ end # def
171
+
172
+ # private method - takes a path to look for files, iterates through all
173
+ # readable, regular files it finds, and matches this instance's @hostname
174
+ # against each line; if any match, the class will be set for this node.
175
+ def match_classes(fullpath)
176
+ Dir.foreach(fullpath) do |patternfile|
177
+ filepath = "#{fullpath}/#{patternfile}"
178
+ next unless File.file?(filepath) and
179
+ File.readable?(filepath)
180
+ next if patternfile =~ /^\./
181
+ log("Attempting to match [#{@hostname}] in [#{filepath}]")
182
+ if matched_in_patternfile?(filepath,@hostname)
183
+ @classes << patternfile.to_s
184
+ log("Appended #{patternfile} to classes instance variable")
185
+ end
186
+ end
187
+ end
188
+
189
+ # match_environment is similar to match_classes but it overwrites
190
+ # any previously set value (usually just the default, 'production')
191
+ # with a match
192
+ def match_environment(fullpath)
193
+ Dir.foreach(fullpath) do |patternfile|
194
+ filepath = "#{fullpath}/#{patternfile}"
195
+ next unless File.file?(filepath) and
196
+ File.readable?(filepath)
197
+ next if patternfile =~ /^\./
198
+ log("Attempting to match [#{@hostname}] in [#{filepath}]")
199
+ if matched_in_patternfile?(filepath,@hostname)
200
+ @environment = patternfile.to_s
201
+ log("Wrote #{patternfile} to environment instance variable")
202
+ end
203
+ end
204
+ end
205
+
206
+
207
+ # Parameters are handled slightly differently; we make another level of
208
+ # directories to get the parameter name, then use the names of the files
209
+ # contained in there for the values of those parameters.
210
+ #
211
+ # ex: cat ./parameters/service/production
212
+ # ^prodweb
213
+ # would set parameters["service"] = "production" for prodweb001
214
+ def match_parameters(fullpath)
215
+ Dir.foreach(fullpath) do |parametername|
216
+
217
+ filepath = "#{fullpath}/#{parametername}"
218
+ next if File.basename(filepath) =~ /^\./ # skip over dotfiles
219
+
220
+ next unless File.directory?(filepath) and
221
+ File.readable?(filepath) # skip over non-directories
222
+
223
+ log("Considering contents of #{filepath}")
224
+
225
+ Dir.foreach("#{filepath}") do |patternfile|
226
+ secondlevel = "#{filepath}/#{patternfile}"
227
+ log("Found parameters patternfile at #{secondlevel}")
228
+ next unless File.file?(secondlevel) and
229
+ File.readable?(secondlevel)
230
+ log("Attempting to match [#{@hostname}] in [#{secondlevel}]")
231
+ if matched_in_patternfile?(secondlevel, @hostname)
232
+ @parameters[ parametername.to_s ] = patternfile.to_s
233
+ log("Set @parameters[#{parametername}] = #{patternfile}")
234
+ end
235
+ end
236
+ end
237
+ end
238
+
239
+ end
240
+
241
+ # Logic for local hacks that don't fit neatly into the autoloading model can
242
+ # happen as we initialize a subclass
243
+ class MyExternalNode < ExternalNode
244
+
245
+ def initialize(hostname, classdir = 'classes/', parameterdir = 'parameters/')
246
+
247
+ super
248
+
249
+ # Set "hostclass" parameter based on hostname,
250
+ # stripped of leading environment prefix and numeric suffix
251
+ if @hostname =~ /^(\w*?)-?(\D+)(\d{2,3})$/
252
+ match = Regexp.last_match
253
+
254
+ hostclass = match[2]
255
+ log("matched hostclass #{hostclass}")
256
+ @parameters[ "hostclass" ] = hostclass
257
+ else
258
+ log("couldn't figure out class from #{@hostname}",:warning)
259
+
260
+ end
261
+ end
262
+
263
+ end
264
+
265
+
266
+ # Here we begin actual execution by calling methods defined above
267
+
268
+ mynode = MyExternalNode.new(ARGV[0])
269
+
270
+ puts mynode.to_yaml
@@ -0,0 +1,102 @@
1
+ A working demo of Hiera with YAML backend.
2
+ ======================================================
3
+
4
+ This demo consists of:
5
+
6
+ - A **NTP** module that has defaults for *pool.ntp.org* servers
7
+ - A **YAML** data source in the *data/* directory where users can override data in yaml files
8
+ - A **Users** module that has a few manifests that simply notify that they are being included
9
+ - In Hiera data files a key called **classes** that decides what to include on a node
10
+
11
+ Below various usage scenarios can be tested using this module.
12
+
13
+ The examples below assume you:
14
+ - Have the openvox-agent already installed
15
+ - You have this repository cloned from github
16
+ - Are running these commands from within the *examples/hiera* directory as cwd.
17
+
18
+ Module from forge with module defaults
19
+ --------------------------------------
20
+
21
+ - Comment out lines 6-8 of [data/common.yaml](data/common.yaml#L6-8) to avoid overrides used further in the example
22
+ - Run a `puppet apply` to create a */tmp/ntp.conf* file containing the two *pool.ntp.org* addresses
23
+ - The *users::common* class should also be present in your catalog
24
+
25
+ ```shell
26
+ $ sed -i '6,8 s/^/#/' data/common.yaml
27
+ $ puppet apply site.pp --hiera_config=hiera.yaml --modulepath=modules
28
+ Notice: Compiled catalog for node.corp.com in environment production in 0.04 seconds
29
+ Notice: Adding users::common
30
+ Notice: /Stage[main]/Users::Common/Notify[Adding users::common]/message: defined 'message' as 'Adding users::common'
31
+ Notice: /Stage[main]/Ntp::Config/File[/tmp/ntp.conf]/ensure: defined content as '{sha256}949c7247dbe0870258c921418cc8b270afcc57e1aa6f9d9933f306009ede60d0'
32
+ Notice: Applied catalog in 0.02 seconds
33
+ $ cat /tmp/ntp.conf
34
+ server 1.pool.ntp.org
35
+ server 2.pool.ntp.org
36
+ ```
37
+
38
+ Site wide override data in _data::common_
39
+ -----------------------------------------
40
+
41
+ - Remove the comments on lines 6-8 of [data/common.yaml](data/common.yaml#L6-8)
42
+ - Run a `puppet apply` to update */tmp/ntp.conf* to contain the two *ntp.example.com* addresses
43
+ - The *users::common* class should also be present in your catalog
44
+
45
+ ```shell
46
+ $ sed -i '6,8 s/^#//' data/common.yaml
47
+ $ puppet apply site.pp --hiera_config=hiera.yaml --modulepath=modules
48
+ Notice: Compiled catalog for node.corp.com in environment production in 0.04 seconds
49
+ Notice: Adding users::common
50
+ Notice: /Stage[main]/Users::Common/Notify[Adding users::common]/message: defined 'message' as 'Adding users::common'
51
+ Notice: /Stage[main]/Ntp::Config/File[/tmp/ntp.conf]/content: content changed '{sha256}949c7247dbe0870258c921418cc8b270afcc57e1aa6f9d9933f306009ede60d0' to '{sha256}28ced955a8ed9efd7514b2364fe378ba645ab947f26e8c0b4d84e8368f1257a0'
52
+ Notice: Applied catalog in 0.02 seconds
53
+ $ cat /tmp/ntp.conf
54
+ server ntp1.example.com
55
+ server ntp2.example.com
56
+ ```
57
+
58
+ Fact driven overrides for location=dc1
59
+ --------------------------------------
60
+
61
+ - Override the location fact to `dc1` to demonstrate *data/dc1.yaml* overrides the *ntp::config::ntpservers* values in *data/common.yaml*
62
+ - `dc1` nodes will
63
+ - have the *users::common* and *users::dc1* in their catalogs
64
+ - */tmp/ntp.conf* will contain the two *ntp.dc1.example.com* addresses
65
+ - Show that the nodes in `dc2` would use the site-wide defaults
66
+
67
+ ```shell
68
+ $ FACTER_location=dc1 puppet apply site.pp --hiera_config=hiera.yaml --modulepath=modules
69
+ Notice: Compiled catalog for node.corp.com in environment production in 0.04 seconds
70
+ Notice: Adding users::dc1
71
+ Notice: /Stage[main]/Users::Dc1/Notify[Adding users::dc1]/message: defined 'message' as 'Adding users::dc1'
72
+ Notice: Adding users::common
73
+ Notice: /Stage[main]/Users::Common/Notify[Adding users::common]/message: defined 'message' as 'Adding users::common'
74
+ Notice: /Stage[main]/Ntp::Config/File[/tmp/ntp.conf]/content: content changed '{sha256}28ced955a8ed9efd7514b2364fe378ba645ab947f26e8c0b4d84e8368f1257a0' to '{sha256}39227f1cf8d09623d2e66b6622af2e8db01ab26f77a5a2e6d6e058d0977f369b'
75
+ Notice: Applied catalog in 0.02 seconds
76
+ $ cat /tmp/ntp.conf
77
+ server ntp1.dc1.example.com
78
+ server ntp2.dc1.example.com
79
+ ```
80
+
81
+ Now simulate a machine in `dc2`, because there is no data for `dc2` it uses the site wide defaults and
82
+ does not include the *users::dc1* class anymore
83
+
84
+ ```shell
85
+ $ FACTER_location=dc2 puppet apply site.pp --hiera_config=hiera.yaml --modulepath=modules
86
+ Notice: Compiled catalog for node.corp.com in environment production in 0.04 seconds
87
+ Notice: Adding users::common
88
+ Notice: /Stage[main]/Users::Common/Notify[Adding users::common]/message: defined 'message' as 'Adding users::common'
89
+ Notice: /Stage[main]/Ntp::Config/File[/tmp/ntp.conf]/content: content changed '{sha256}39227f1cf8d09623d2e66b6622af2e8db01ab26f77a5a2e6d6e058d0977f369b' to '{sha256}28ced955a8ed9efd7514b2364fe378ba645ab947f26e8c0b4d84e8368f1257a0'
90
+ Notice: Applied catalog in 0.02 seconds
91
+ $ cat /tmp/ntp.conf
92
+ server ntp1.example.com
93
+ server ntp2.example.com
94
+ ```
95
+
96
+ You could create override data in the following places for a machine in *location=dc2*, they will be searched in this order and the first one with data will match.
97
+
98
+ - file data/dc2.yaml
99
+ - file data/&lt;environment&gt;.yaml
100
+ - file data/common.yaml
101
+
102
+ In this example due to the presence of *common.yaml* that declares *ntpservers* the classes will never be searched, it will have precedence.
@@ -0,0 +1,12 @@
1
+ ---
2
+ classes:
3
+ - users::common
4
+ - ntp::config
5
+
6
+ ntp::config::ntpservers:
7
+ - 'ntp1.example.com'
8
+ - 'ntp2.example.com'
9
+
10
+ lookup_options:
11
+ classes:
12
+ merge: unique
@@ -0,0 +1,6 @@
1
+ ---
2
+ ntp::config::ntpservers:
3
+ - 'ntp1.dc1.example.com'
4
+ - 'ntp2.dc1.example.com'
5
+ classes:
6
+ - users::dc1
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: 5
3
+ defaults:
4
+ datadir: data
5
+ data_hash: yaml_data
6
+
7
+ hierarchy:
8
+ - name: 'Per Location'
9
+ path: "%{facts.location}.yaml"
10
+
11
+ - name: 'Per Environment'
12
+ path: "%{facts.environment}.yaml"
13
+
14
+ - name: 'Common Data'
15
+ path: 'common.yaml'
@@ -0,0 +1,4 @@
1
+ ---
2
+ ntp::config::ntpservers:
3
+ - '1.pool.ntp.org'
4
+ - '2.pool.ntp.org'
@@ -0,0 +1,9 @@
1
+ ---
2
+ version: 5
3
+ defaults:
4
+ datadir: data
5
+ data_hash: yaml_data
6
+
7
+ hierarchy:
8
+ - name: 'Common Data'
9
+ path: 'common.yaml'
@@ -0,0 +1,18 @@
1
+ # @summary Manage /tmp/ntp.conf file
2
+ #
3
+ # Given an array of ntpservers, manage the /tmp/ntp.conf file
4
+ #
5
+ # @example
6
+ # include ntp::config
7
+ #
8
+ # @param ntpservers
9
+ # An array of ntpserver(s) that should be present in the conf file
10
+ class ntp::config(
11
+ Array[String[1], 1] $ntpservers = undef,
12
+ ) {
13
+
14
+ file { '/tmp/ntp.conf':
15
+ content => epp('ntp/ntp.conf.epp')
16
+ }
17
+
18
+ }
@@ -0,0 +1,3 @@
1
+ <% $ntp::config::ntpservers.each |$server| { -%>
2
+ server <%= $server %>
3
+ <% } -%>
@@ -0,0 +1,9 @@
1
+ # @summary Notify to demonstrate users::common in catalog
2
+ #
3
+ # A common Class that all examples should include
4
+ #
5
+ # @example
6
+ # include users::common
7
+ class users::common {
8
+ notify { 'Adding users::common': }
9
+ }
@@ -0,0 +1,9 @@
1
+ # @summary Notify to demonstrate users::dc1 in catalog
2
+ #
3
+ # A Class that should be present in dc1 node(s) catalog
4
+ #
5
+ # @example
6
+ # include users::dc1
7
+ class users::dc1 {
8
+ notify { 'Adding users::dc1': }
9
+ }
@@ -0,0 +1,3 @@
1
+ node default {
2
+ include lookup('classes')
3
+ }
@@ -0,0 +1,123 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'optparse'
4
+ require 'sys/proctable'
5
+ include Sys
6
+
7
+ class CheckPuppet
8
+
9
+ VERSION = '0.1'
10
+ script_name = File.basename($0)
11
+
12
+ # default options
13
+ OPTIONS = {
14
+ :statefile => "/opt/puppetlabs/puppet/cache/state/state.yaml",
15
+ :process => "puppet",
16
+ :interval => 30,
17
+ }
18
+
19
+ OptionParser.new do |o|
20
+ o.set_summary_indent(' ')
21
+ o.banner = "Usage: #{script_name} [OPTIONS]"
22
+ o.define_head "The check_puppet Nagios plug-in checks that specified OpenVox process is running and the state file is no older than specified interval."
23
+ o.separator ""
24
+ o.separator "Mandatory arguments to long options are mandatory for short options too."
25
+
26
+
27
+ o.on(
28
+ "-s", "--statefile=statefile", String, "The state file",
29
+
30
+ "Default: #{OPTIONS[:statefile]}") { |op| OPTIONS[:statefile] = op }
31
+
32
+ o.on(
33
+ "-p", "--process=processname", String, "The process to check",
34
+
35
+ "Default: #{OPTIONS[:process]}") { |op| OPTIONS[:process] = op }
36
+
37
+ o.on(
38
+ "-i", "--interval=value", Integer,
39
+
40
+ "Default: #{OPTIONS[:interval]} minutes") { |op| OPTIONS[:interval] = op }
41
+
42
+ o.separator ""
43
+ o.on_tail("-h", "--help", "Show this help message.") do
44
+ puts o
45
+ exit
46
+ end
47
+
48
+ o.parse!(ARGV)
49
+ end
50
+
51
+ def check_proc
52
+
53
+ unless ProcTable.ps.find { |p| p.name == OPTIONS[:process]}
54
+ @proc = 2
55
+ else
56
+ @proc = 0
57
+ end
58
+
59
+ end
60
+
61
+ def check_state
62
+
63
+ # Set variables
64
+ curt = Time.now
65
+ intv = OPTIONS[:interval] * 60
66
+
67
+ # Check file time
68
+ begin
69
+ @modt = File.mtime("#{OPTIONS[:statefile]}")
70
+ rescue
71
+ @file = 3
72
+ end
73
+
74
+ diff = (curt - @modt).to_i
75
+
76
+ if diff > intv
77
+ @file = 2
78
+ else
79
+ @file = 0
80
+ end
81
+
82
+ end
83
+
84
+ def output_status
85
+
86
+ case @file
87
+ when 0
88
+ state = "state file status okay updated on " + @modt.strftime("%m/%d/%Y at %H:%M:%S")
89
+ when 2
90
+ state = "state fille is not up to date and is older than #{OPTIONS[:interval]} minutes"
91
+ when 3
92
+ state = "state file status unknown"
93
+ end
94
+
95
+ case @proc
96
+ when 0
97
+ process = "process #{OPTIONS[:process]} is running"
98
+ when 2
99
+ process = "process #{OPTIONS[:process]} is not running"
100
+ end
101
+
102
+ case
103
+ when (@proc == 2 or @file == 2)
104
+ status = "CRITICAL"
105
+ exitcode = 2
106
+ when (@proc == 0 and @file == 0)
107
+ status = "OK"
108
+ exitcode = 0
109
+ else
110
+ status = "UNKNOWN"
111
+ exitcode = 3
112
+ end
113
+
114
+ puts "PUPPET #{status}: #{process}, #{state}"
115
+ exit(exitcode)
116
+ end
117
+ end
118
+
119
+ cp = CheckPuppet.new
120
+ cp.check_proc
121
+ cp.check_state
122
+ cp.output_status
123
+
data/ext/README.md ADDED
@@ -0,0 +1,13 @@
1
+ # `ext/` directory details
2
+ This directory contains files used internally when packaging [openvox](https://github.com/OpenVoxProject/openvox) and [openvox-agent](https://github.com/OpenVoxProject/openvox-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 legacy build automation
13
+ * `project_data.yaml` - information used when packaging the openvox gem
@@ -0,0 +1,18 @@
1
+ ---
2
+ packager: 'puppetlabs'
3
+
4
+ # These are the build targets used by the packaging repo. Uncomment to allow use.
5
+ #final_mocks: 'pl-el-5-i386 pl-el-6-i386 pl-el-7-x86_64'
6
+ #cows: 'base-lucid-i386.cow base-precise-i386.cow base-squeeze-i386.cow base-trusty-i386.cow base-wheezy-i386.cow'
7
+ pbuild_conf: '/etc/pbuilderrc'
8
+
9
+ build_gem: TRUE
10
+ build_dmg: FALSE
11
+ sign_tar: FALSE
12
+ yum_host: 'yum.puppetlabs.com'
13
+ yum_repo_path: '/opt/repository/yum/'
14
+ apt_signing_server: 'apt.puppetlabs.com'
15
+ apt_repo_url: 'http://apt.puppetlabs.com'
16
+ apt_repo_path: '/opt/repository/incoming'
17
+ tar_host: 'downloads.puppetlabs.com'
18
+ nonfinal_gem_path: '/opt/repository-nightlies/downloads/gems/puppet8-nightly'
@@ -0,0 +1,4 @@
1
+ # Defaults for puppet - sourced by /etc/init.d/puppet
2
+
3
+ # Startup options
4
+ DAEMON_OPTS=""