puppet 3.0.2 → 3.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (320) hide show
  1. data/Gemfile +13 -11
  2. data/README.md +9 -7
  3. data/README_DEVELOPER.md +21 -30
  4. data/bin/extlookup2hiera +0 -0
  5. data/conf/auth.conf +42 -26
  6. data/conf/fileserver.conf +41 -0
  7. data/conf/tagmail.conf +16 -0
  8. data/examples/hiera/modules/data/manifests/common.pp +2 -1
  9. data/examples/hiera/modules/ntp/manifests/config.pp +4 -3
  10. data/examples/hiera/modules/ntp/manifests/data.pp +2 -1
  11. data/examples/hiera/modules/users/manifests/common.pp +2 -1
  12. data/examples/hiera/modules/users/manifests/dc1.pp +2 -1
  13. data/examples/hiera/modules/users/manifests/development.pp +2 -1
  14. data/examples/hiera/site.pp +1 -1
  15. data/ext/debian/fileserver.conf +39 -15
  16. data/ext/envpuppet +2 -0
  17. data/ext/gentoo/puppet/fileserver.conf +41 -12
  18. data/ext/ips/puppet-agent +1 -6
  19. data/ext/ips/puppetagent.xml +0 -4
  20. data/ext/osx/postflight.erb +109 -0
  21. data/ext/project_data.yaml +2 -2
  22. data/ext/redhat/fileserver.conf +41 -12
  23. data/ext/redhat/puppet.spec.erb +8 -13
  24. data/install.rb +2 -5
  25. data/lib/puppet.rb +30 -13
  26. data/lib/puppet/application.rb +34 -16
  27. data/lib/puppet/application/agent.rb +4 -4
  28. data/lib/puppet/application/master.rb +25 -5
  29. data/lib/puppet/defaults.rb +11 -7
  30. data/lib/puppet/dsl.rb +7 -3
  31. data/lib/puppet/dsl/actions.rb +283 -0
  32. data/lib/puppet/dsl/blank_slate.rb +55 -0
  33. data/lib/puppet/dsl/context.rb +393 -0
  34. data/lib/puppet/dsl/parser.rb +57 -0
  35. data/lib/puppet/dsl/resource_decorator.rb +56 -0
  36. data/lib/puppet/dsl/resource_reference.rb +95 -0
  37. data/lib/puppet/dsl/type_reference.rb +102 -0
  38. data/lib/puppet/error.rb +1 -1
  39. data/lib/puppet/face/help.rb +2 -4
  40. data/lib/puppet/face/man.rb +8 -2
  41. data/lib/puppet/feature/pson.rb +1 -3
  42. data/lib/puppet/indirector/catalog/active_record.rb +3 -0
  43. data/lib/puppet/indirector/catalog/compiler.rb +1 -2
  44. data/lib/puppet/indirector/catalog/queue.rb +4 -0
  45. data/lib/puppet/indirector/catalog/static_compiler.rb +30 -0
  46. data/lib/puppet/indirector/catalog/store_configs.rb +3 -0
  47. data/lib/puppet/indirector/certificate_request/rest.rb +1 -0
  48. data/lib/puppet/indirector/certificate_revocation_list/rest.rb +1 -0
  49. data/lib/puppet/indirector/certificate_status/file.rb +4 -0
  50. data/lib/puppet/indirector/certificate_status/rest.rb +1 -0
  51. data/lib/puppet/indirector/facts/active_record.rb +3 -0
  52. data/lib/puppet/indirector/facts/couch.rb +3 -0
  53. data/lib/puppet/indirector/facts/inventory_active_record.rb +4 -0
  54. data/lib/puppet/indirector/facts/store_configs.rb +3 -0
  55. data/lib/puppet/indirector/file_metadata/rest.rb +2 -0
  56. data/lib/puppet/indirector/instrumentation_data/local.rb +3 -0
  57. data/lib/puppet/indirector/instrumentation_data/rest.rb +3 -0
  58. data/lib/puppet/indirector/instrumentation_listener/local.rb +3 -0
  59. data/lib/puppet/indirector/instrumentation_listener/rest.rb +3 -0
  60. data/lib/puppet/indirector/instrumentation_probe/local.rb +3 -0
  61. data/lib/puppet/indirector/instrumentation_probe/rest.rb +3 -0
  62. data/lib/puppet/indirector/node/active_record.rb +3 -0
  63. data/lib/puppet/indirector/node/rest.rb +2 -2
  64. data/lib/puppet/indirector/node/store_configs.rb +3 -0
  65. data/lib/puppet/indirector/node/write_only_yaml.rb +32 -0
  66. data/lib/puppet/indirector/queue.rb +0 -1
  67. data/lib/puppet/indirector/request.rb +1 -2
  68. data/lib/puppet/indirector/resource/active_record.rb +4 -0
  69. data/lib/puppet/indirector/resource/ral.rb +3 -0
  70. data/lib/puppet/indirector/resource/rest.rb +3 -0
  71. data/lib/puppet/indirector/resource/store_configs.rb +3 -0
  72. data/lib/puppet/indirector/run/local.rb +3 -0
  73. data/lib/puppet/indirector/ssl_file.rb +16 -14
  74. data/lib/puppet/indirector/status/local.rb +3 -0
  75. data/lib/puppet/indirector/status/rest.rb +4 -0
  76. data/lib/puppet/interface.rb +78 -3
  77. data/lib/puppet/interface/action.rb +39 -3
  78. data/lib/puppet/interface/action_builder.rb +74 -1
  79. data/lib/puppet/interface/action_manager.rb +33 -3
  80. data/lib/puppet/interface/documentation.rb +116 -5
  81. data/lib/puppet/interface/face_collection.rb +6 -7
  82. data/lib/puppet/interface/option.rb +10 -1
  83. data/lib/puppet/interface/option_builder.rb +29 -1
  84. data/lib/puppet/interface/option_manager.rb +21 -6
  85. data/lib/puppet/metatype/manager.rb +47 -9
  86. data/lib/puppet/module_tool.rb +0 -1
  87. data/lib/puppet/network/formats.rb +0 -2
  88. data/lib/puppet/node.rb +2 -3
  89. data/lib/puppet/node/environment.rb +14 -1
  90. data/lib/puppet/parameter.rb +309 -44
  91. data/lib/puppet/parameter/package_options.rb +5 -0
  92. data/lib/puppet/parameter/path.rb +26 -3
  93. data/lib/puppet/parameter/value.rb +30 -6
  94. data/lib/puppet/parameter/value_collection.rb +82 -20
  95. data/lib/puppet/parser.rb +3 -0
  96. data/lib/puppet/parser/ast/definition.rb +2 -5
  97. data/lib/puppet/parser/ast/hostclass.rb +2 -3
  98. data/lib/puppet/parser/ast/node.rb +2 -5
  99. data/lib/puppet/parser/ast/resourceparam.rb +1 -1
  100. data/lib/puppet/parser/compiler.rb +10 -0
  101. data/lib/puppet/parser/functions.rb +111 -7
  102. data/lib/puppet/parser/functions/create_resources.rb +23 -2
  103. data/lib/puppet/parser/functions/defined.rb +1 -1
  104. data/lib/puppet/parser/functions/extlookup.rb +2 -1
  105. data/lib/puppet/parser/functions/fail.rb +1 -1
  106. data/lib/puppet/parser/functions/file.rb +1 -1
  107. data/lib/puppet/parser/functions/fqdn_rand.rb +1 -1
  108. data/lib/puppet/parser/functions/generate.rb +1 -1
  109. data/lib/puppet/parser/functions/hiera.rb +1 -1
  110. data/lib/puppet/parser/functions/hiera_array.rb +1 -1
  111. data/lib/puppet/parser/functions/hiera_hash.rb +1 -1
  112. data/lib/puppet/parser/functions/hiera_include.rb +1 -1
  113. data/lib/puppet/parser/functions/include.rb +1 -1
  114. data/lib/puppet/parser/functions/inline_template.rb +1 -1
  115. data/lib/puppet/parser/functions/md5.rb +1 -1
  116. data/lib/puppet/parser/functions/realize.rb +1 -1
  117. data/lib/puppet/parser/functions/regsubst.rb +54 -57
  118. data/lib/puppet/parser/functions/require.rb +1 -0
  119. data/lib/puppet/parser/functions/search.rb +1 -1
  120. data/lib/puppet/parser/functions/sha1.rb +1 -1
  121. data/lib/puppet/parser/functions/shellquote.rb +1 -1
  122. data/lib/puppet/parser/functions/split.rb +1 -2
  123. data/lib/puppet/parser/functions/sprintf.rb +7 -10
  124. data/lib/puppet/parser/functions/tag.rb +1 -1
  125. data/lib/puppet/parser/functions/tagged.rb +1 -1
  126. data/lib/puppet/parser/functions/template.rb +1 -1
  127. data/lib/puppet/parser/functions/versioncmp.rb +1 -5
  128. data/lib/puppet/parser/parser_support.rb +11 -27
  129. data/lib/puppet/parser/scope.rb +48 -4
  130. data/lib/puppet/parser/type_loader.rb +31 -7
  131. data/lib/puppet/property.rb +304 -70
  132. data/lib/puppet/property/ensure.rb +14 -1
  133. data/lib/puppet/property/keyvalue.rb +17 -8
  134. data/lib/puppet/property/list.rb +3 -0
  135. data/lib/puppet/property/ordered_list.rb +7 -0
  136. data/lib/puppet/provider.rb +275 -53
  137. data/lib/puppet/provider/augeas/augeas.rb +17 -3
  138. data/lib/puppet/provider/confiner.rb +30 -1
  139. data/lib/puppet/provider/group/pw.rb +2 -2
  140. data/lib/puppet/provider/package/pip.rb +0 -1
  141. data/lib/puppet/provider/package/pkgin.rb +2 -0
  142. data/lib/puppet/provider/service/bsd.rb +1 -1
  143. data/lib/puppet/provider/service/freebsd.rb +10 -6
  144. data/lib/puppet/provider/service/init.rb +1 -1
  145. data/lib/puppet/provider/service/service.rb +1 -1
  146. data/lib/puppet/provider/user/pw.rb +2 -2
  147. data/lib/puppet/provider/user/useradd.rb +2 -3
  148. data/lib/puppet/reference/configuration.rb +6 -0
  149. data/lib/puppet/reports.rb +44 -4
  150. data/lib/puppet/reports/tagmail.rb +1 -1
  151. data/lib/puppet/resource.rb +38 -25
  152. data/lib/puppet/resource/type.rb +14 -6
  153. data/lib/puppet/settings.rb +66 -142
  154. data/lib/puppet/settings/config_file.rb +99 -0
  155. data/lib/puppet/settings/file_setting.rb +92 -24
  156. data/lib/puppet/settings/value_translator.rb +15 -0
  157. data/lib/puppet/ssl/certificate_authority/interface.rb +2 -2
  158. data/lib/puppet/test/test_helper.rb +8 -3
  159. data/lib/puppet/transaction.rb +1 -2
  160. data/lib/puppet/transaction/report.rb +122 -13
  161. data/lib/puppet/type.rb +763 -150
  162. data/lib/puppet/type/augeas.rb +4 -0
  163. data/lib/puppet/type/file/ensure.rb +1 -1
  164. data/lib/puppet/type/file/group.rb +1 -1
  165. data/lib/puppet/type/file/mode.rb +2 -0
  166. data/lib/puppet/type/file/selcontext.rb +1 -0
  167. data/lib/puppet/type/group.rb +12 -0
  168. data/lib/puppet/type/mount.rb +2 -2
  169. data/lib/puppet/type/notify.rb +1 -1
  170. data/lib/puppet/type/router.rb +1 -1
  171. data/lib/puppet/type/service.rb +1 -0
  172. data/lib/puppet/type/ssh_authorized_key.rb +3 -1
  173. data/lib/puppet/type/user.rb +8 -1
  174. data/lib/puppet/util.rb +8 -0
  175. data/lib/puppet/util/autoload.rb +7 -10
  176. data/lib/puppet/util/classgen.rb +58 -33
  177. data/lib/puppet/util/command_line.rb +120 -77
  178. data/lib/puppet/util/constant_inflector.rb +2 -0
  179. data/lib/puppet/util/execution.rb +63 -33
  180. data/lib/puppet/util/filetype.rb +1 -1
  181. data/lib/puppet/util/manifest_filetype_helper.rb +22 -0
  182. data/lib/puppet/util/methodhelper.rb +19 -0
  183. data/lib/puppet/util/monkey_patches.rb +46 -0
  184. data/lib/puppet/util/plugins.rb +2 -2
  185. data/lib/puppet/util/provider_features.rb +24 -8
  186. data/lib/puppet/util/rubygems.rb +8 -1
  187. data/lib/puppet/util/zaml.rb +1 -1
  188. data/lib/puppet/version.rb +74 -3
  189. data/spec/integration/application/apply_spec.rb +1 -1
  190. data/spec/integration/defaults_spec.rb +1 -0
  191. data/spec/integration/dsl/classes_spec.rb +191 -0
  192. data/spec/integration/dsl/defaults_spec.rb +38 -0
  193. data/spec/integration/dsl/definitions_spec.rb +73 -0
  194. data/spec/integration/dsl/functions_spec.rb +95 -0
  195. data/spec/integration/dsl/nodes_spec.rb +96 -0
  196. data/spec/integration/dsl/params_spec.rb +146 -0
  197. data/spec/integration/dsl/relationships_spec.rb +46 -0
  198. data/spec/integration/dsl/resources_spec.rb +202 -0
  199. data/spec/integration/dsl/type_loading_spec.rb +64 -0
  200. data/spec/integration/indirector/catalog/queue_spec.rb +1 -1
  201. data/spec/integration/network/formats_spec.rb +32 -45
  202. data/spec/integration/parser/collector_spec.rb +105 -25
  203. data/spec/integration/parser/scope_spec.rb +64 -1
  204. data/spec/integration/resource/catalog_spec.rb +2 -4
  205. data/spec/integration/type/package_spec.rb +1 -1
  206. data/spec/lib/matchers/catalog.rb +50 -0
  207. data/spec/lib/puppet_spec/compiler.rb +11 -0
  208. data/spec/lib/puppet_spec/dsl.rb +29 -0
  209. data/spec/spec_helper.rb +17 -3
  210. data/spec/unit/application/agent_spec.rb +0 -1
  211. data/spec/unit/application/apply_spec.rb +1 -1
  212. data/spec/unit/application/face_base_spec.rb +11 -4
  213. data/spec/unit/application/indirection_base_spec.rb +4 -8
  214. data/spec/unit/application/kick_spec.rb +5 -2
  215. data/spec/unit/application/master_spec.rb +0 -6
  216. data/spec/unit/application_spec.rb +38 -14
  217. data/spec/unit/dsl/actions_spec.rb +402 -0
  218. data/spec/unit/dsl/blank_slate_spec.rb +27 -0
  219. data/spec/unit/dsl/context_spec.rb +678 -0
  220. data/spec/unit/dsl/parser_spec.rb +56 -0
  221. data/spec/unit/dsl/resource_decorator_spec.rb +94 -0
  222. data/spec/unit/dsl/resource_reference_spec.rb +150 -0
  223. data/spec/unit/dsl/type_reference_spec.rb +164 -0
  224. data/spec/unit/face/help_spec.rb +5 -7
  225. data/spec/unit/indirector/certificate_request/rest_spec.rb +4 -0
  226. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +4 -0
  227. data/spec/unit/indirector/certificate_status/rest_spec.rb +4 -0
  228. data/spec/unit/indirector/file_metadata/rest_spec.rb +5 -0
  229. data/spec/unit/indirector/hiera_spec.rb +3 -1
  230. data/spec/unit/indirector/queue_spec.rb +1 -7
  231. data/spec/unit/indirector/ssl_file_spec.rb +66 -39
  232. data/spec/unit/module_spec.rb +1 -1
  233. data/spec/unit/network/authstore_spec.rb +22 -1
  234. data/spec/unit/network/formats_spec.rb +1 -1
  235. data/spec/unit/node/environment_spec.rb +13 -0
  236. data/spec/unit/parser/collector_spec.rb +1 -1
  237. data/spec/unit/parser/compiler_spec.rb +26 -0
  238. data/spec/unit/parser/functions/create_resources_spec.rb +12 -1
  239. data/spec/unit/parser/functions/extlookup_spec.rb +4 -4
  240. data/spec/unit/parser/functions/hiera_array_spec.rb +1 -1
  241. data/spec/unit/parser/functions/hiera_hash_spec.rb +1 -1
  242. data/spec/unit/parser/functions/hiera_include_spec.rb +1 -1
  243. data/spec/unit/parser/functions/hiera_spec.rb +1 -1
  244. data/spec/unit/parser/functions/regsubst_spec.rb +4 -4
  245. data/spec/unit/parser/functions/split_spec.rb +4 -4
  246. data/spec/unit/parser/functions/sprintf_spec.rb +2 -2
  247. data/spec/unit/parser/functions/versioncmp_spec.rb +4 -4
  248. data/spec/unit/parser/functions_spec.rb +51 -1
  249. data/spec/unit/parser/parser_spec.rb +0 -14
  250. data/spec/unit/parser/type_loader_spec.rb +15 -1
  251. data/spec/unit/provider/augeas/augeas_spec.rb +31 -0
  252. data/spec/unit/provider/package/apt_spec.rb +0 -2
  253. data/spec/unit/provider/package/pip_spec.rb +12 -2
  254. data/spec/unit/provider/service/freebsd_spec.rb +8 -0
  255. data/spec/unit/provider/service/gentoo_spec.rb +20 -20
  256. data/spec/unit/provider/service/openrc_spec.rb +20 -20
  257. data/spec/unit/provider/service/src_spec.rb +4 -4
  258. data/spec/unit/provider/service/systemd_spec.rb +0 -8
  259. data/spec/unit/provider/service/windows_spec.rb +1 -1
  260. data/spec/unit/provider/user/useradd_spec.rb +2 -9
  261. data/spec/unit/relationship_spec.rb +2 -2
  262. data/spec/unit/resource/catalog_spec.rb +2 -2
  263. data/spec/unit/resource/type_spec.rb +49 -25
  264. data/spec/unit/resource_spec.rb +34 -2
  265. data/spec/unit/settings/config_file_spec.rb +100 -0
  266. data/spec/unit/settings/file_setting_spec.rb +87 -84
  267. data/spec/unit/settings/value_translator_spec.rb +77 -0
  268. data/spec/unit/settings_spec.rb +96 -29
  269. data/spec/unit/type/file/ensure_spec.rb +75 -36
  270. data/spec/unit/type/file_spec.rb +0 -68
  271. data/spec/unit/type/group_spec.rb +10 -0
  272. data/spec/unit/util/autoload_spec.rb +6 -0
  273. data/spec/unit/util/command_line_spec.rb +54 -62
  274. data/spec/unit/util/manifest_filetype_helper_spec.rb +29 -0
  275. data/spec/unit/util/metric_spec.rb +0 -9
  276. data/spec/unit/util/posix_spec.rb +0 -4
  277. data/spec/unit/util/rdoc_spec.rb +0 -12
  278. data/spec/unit/util/zaml_spec.rb +188 -130
  279. data/spec/unit/version_spec.rb +42 -0
  280. metadata +123 -90
  281. data/README_HIERA.md +0 -148
  282. data/conf/epm.list +0 -8
  283. data/conf/namespaceauth.conf +0 -20
  284. data/conf/puppet-queue.conf +0 -10
  285. data/examples/allatonce +0 -13
  286. data/examples/assignments +0 -11
  287. data/examples/components +0 -73
  288. data/examples/etc/init.d/sleeper +0 -70
  289. data/examples/etc/otherfile +0 -0
  290. data/examples/etc/puppet/fileserver.conf +0 -13
  291. data/examples/etc/puppet/namespaceauth.conf +0 -20
  292. data/examples/etc/puppet/puppet.conf +0 -10
  293. data/examples/etc/puppet/tagmail.conf +0 -1
  294. data/examples/execs +0 -16
  295. data/examples/file.bl +0 -11
  296. data/examples/filedefaults +0 -10
  297. data/examples/fileparsing +0 -116
  298. data/examples/filerecursion +0 -15
  299. data/examples/functions +0 -3
  300. data/examples/groups +0 -7
  301. data/examples/head +0 -30
  302. data/examples/importing +0 -8
  303. data/examples/mac_dscl.pp +0 -28
  304. data/examples/mac_dscl_revert.pp +0 -26
  305. data/examples/mac_pkgdmg.pp +0 -7
  306. data/examples/modules/sample_module.pp +0 -10
  307. data/examples/modules/sample_module/lib/puppet/parser/functions/hostname_to_dn.rb +0 -36
  308. data/examples/modules/sample_module/manifests/init.pp +0 -12
  309. data/examples/modules/sample_module/templates/sample.erb +0 -5
  310. data/examples/nodes +0 -20
  311. data/examples/one +0 -8
  312. data/examples/relationships +0 -34
  313. data/examples/selectors +0 -28
  314. data/examples/simpletests +0 -11
  315. data/examples/svncommit +0 -13
  316. data/lib/puppet/dsl/resource_api.rb +0 -120
  317. data/lib/puppet/dsl/resource_type_api.rb +0 -34
  318. data/spec/integration/parser/ruby_manifest_spec.rb +0 -127
  319. data/spec/unit/dsl/resource_api_spec.rb +0 -180
  320. data/spec/unit/dsl/resource_type_api_spec.rb +0 -53
@@ -1,148 +0,0 @@
1
- What?
2
- =====
3
-
4
- A data backend for Hiera that can query the internal Puppet
5
- scope for data. The data structure and approach is heavily
6
- based on work by Nigel Kersten but made more configurable and
7
- with full hierarchy.
8
-
9
- It also includes a Puppet function that works like extlookup()
10
- but uses the Hiera backends.
11
-
12
- Usage?
13
- ======
14
-
15
- Hiera supports the concept of chaining backends together in order,
16
- using this we can create a very solid module author/module user
17
- experience.
18
-
19
- Module Author
20
- -------------
21
-
22
- A module author wants to create a configurable module that has sane
23
- defaults but want to retain the ability for users to configure it.
24
-
25
- We'll use a simple NTP config class as an example.
26
-
27
- <pre>
28
- class ntp::config($ntpservers = hiera("ntpservers")) {
29
- file{"/etc/ntp.conf":
30
- content => template("ntp.conf.erb")
31
- }
32
- }
33
- </pre>
34
-
35
- We create a class that takes as parameters a list of NTP servers.
36
-
37
- The module author wants to create a works-out-of-the-box experience
38
- so creates a data class for the NTP module:
39
-
40
- <pre>
41
- class ntp::data {
42
- $ntpservers = ["1.pool.ntp.org", "2.pool.ntp.org"]
43
- }
44
- </pre>
45
-
46
- Together this creates a default sane setup.
47
-
48
- Module User
49
- -----------
50
-
51
- The module user has a complex multi data center setup, he wants to use
52
- the NTP module from the forge and configure it for his needs.
53
-
54
- The user creates a set of default data for his organization, he can do
55
- this in data files or in Puppet. We'll show a Puppet example.
56
-
57
- <pre>
58
- class data::common {
59
- $ntpservers = ["ntp1.example.com", "ntp2.example.com"]
60
- }
61
- </pre>
62
-
63
- Being part of the actual code this data is subject to strict change
64
- control. This is needed as its data that can potentially affect all
65
- machines in all locations.
66
-
67
- The user has a fact called _location_ that contains, for example, a name
68
- of the data center.
69
-
70
- He decides to create JSON based data for the data centers, being just data
71
- that applies to one data center this data is not subject to as strict
72
- change controls and so does not live with the code:
73
-
74
- He creates _/var/lib/hiera/dc1.json_ with the following:
75
-
76
- <pre>
77
- {"ntpservers" : ["ntp1.dc1.example.com", "ntp2.dc1.example.com"]}
78
- </pre>
79
-
80
- Machines in dc1 will now use specific NTP servers while all the rest will
81
- use the data in _data::common_
82
-
83
- The module user can now just declare the class on his nodes:
84
-
85
- <pre>
86
- node "web1" {
87
- include ntp::config
88
- }
89
- </pre>
90
-
91
- For true one-off changes, the user can use the full paramterized class approach
92
- that will completely disable the Hiera handling of this data item. He could
93
- also use an ENC to supply this data.
94
-
95
- <pre>
96
- node "web2" {
97
- class{"ntp::config": ntpservers => ["another.example.com"]}
98
- }
99
- </pre>
100
-
101
- This behavior is thanks to Hiera's ability to search through multiple backends
102
- for data picking the first match. We can have the JSON searched before the internal
103
- Puppet data.
104
-
105
- To achieve this setup the module user needs to configure Hiera in _/etc/puppet/hiera.yaml_:
106
-
107
- <pre>
108
- ---
109
- :backends:
110
- - json
111
- - puppet
112
-
113
- :hierarchy:
114
- - "%{location}"
115
- - common
116
-
117
- :json:
118
- :datadir: /var/lib/hiera
119
-
120
- :puppet:
121
- :datasource: data
122
- </pre>
123
-
124
- Converting from extlookup?
125
- ==========================
126
-
127
- A simple converter is included called _extlookup2hiera_ and it can convert from CSV to JSON or YAML:
128
-
129
- <pre>
130
- $ extlookup2hiera --in common.csv --out common.json --json
131
- </pre>
132
-
133
- Installation?
134
- =============
135
-
136
- It's not 100% ready for prime time, shortly a simple _gem install hiera-puppet_ on your master will do it.
137
-
138
- For the moment the Gem install will place the Puppet Parser Function where Puppet cannot find it, you should
139
- copy it out and distribute it to your master using Pluginsync or something similar
140
-
141
- License
142
- =======
143
-
144
- See LICENSE file.
145
-
146
- Support
147
- =======
148
- Please log tickets and issues at our [Projects site](http://projects.puppetlabs.com)
@@ -1,8 +0,0 @@
1
- %product Puppet
2
- %copyright 2004-2005 by Reductive Labs, All Rights Reserved
3
- %vendor Reductive Labs
4
- %license COPYING
5
- %readme README
6
- %description System Automation and Configuration Management Software
7
- %version 0.15.0
8
- %requires facter 1.1
@@ -1,20 +0,0 @@
1
- # This is an example namespaceauth.conf file,
2
- # which you'll need if you want to start a client
3
- # in --listen mode.
4
- [fileserver]
5
- allow *.domain.com
6
-
7
- [puppetmaster]
8
- allow *.domain.com
9
-
10
- [puppetrunner]
11
- allow culain.domain.com
12
-
13
- [puppetbucket]
14
- allow *.domain.com
15
-
16
- [puppetreports]
17
- allow *.domain.com
18
-
19
- [resource]
20
- allow server.domain.com
@@ -1,10 +0,0 @@
1
- :daemon: true
2
- :working_dir: /tmp/stompserver
3
- :storage: .queue
4
- :queue: file
5
- :auth: false
6
- :debug: false
7
- :group:
8
- :user:
9
- :host: 127.0.0.1
10
- :port: 61613
@@ -1,13 +0,0 @@
1
- # $Id$
2
-
3
- define thingie {
4
- file { "/tmp/classtest": ensure => file, mode => 755 }
5
- #testing {}
6
- }
7
-
8
- class testing {
9
- thingie { "componentname": }
10
- }
11
-
12
- #component {}
13
- testing { "testingname": }
@@ -1,11 +0,0 @@
1
- # $Id$
2
-
3
- $goodness = sunos
4
-
5
- $subvariable = $goodness
6
-
7
- $yayness = "this is a string of text"
8
-
9
- #$sleeper = service { sleeper:
10
- # running => "1"
11
- #}
@@ -1,73 +0,0 @@
1
- # $Id$
2
-
3
- # i still have no 'require'-like functionality, and i should also
4
- # have 'recommend'-like functionality...
5
- define apache(php,docroot,user,group) {
6
- package { apache:
7
- version => "2.0.53"
8
- }
9
- service { apache:
10
- running => true
11
- }
12
-
13
-
14
- # this definitely won't parse
15
- #if $php == "true" {
16
- # # this needs to do two things:
17
- # # - mark a dependency
18
- # # - cause this apache component to receive refresh events generated by php
19
- # #require("php")
20
- # $var = value
21
- #}
22
-
23
- #file { "../examples/root/etc/configfile":
24
- # owner => $user
25
- #}
26
- }
27
-
28
- define sudo() {
29
- package { sudo:
30
- version => "1.6.8p7"
31
- }
32
- file { "/etc/sudoers":
33
- owner => root,
34
- group => root,
35
- mode => "440"
36
- }
37
- }
38
-
39
- define ssh {
40
- package { ssh:
41
- version => "3.4.4.4"
42
- }
43
- service { "sshd":
44
- running => true
45
- }
46
- }
47
-
48
- define sleeper(path,mode) {
49
- Service {
50
- path => "../examples/root/etc/init.d"
51
- }
52
-
53
- service { sleeper:
54
- running => true,
55
- path => "../examples/root/etc/init.d"
56
- }
57
- file { $path:
58
- mode => $mode
59
- }
60
- $files = ["/tmp/testness","/tmp/funtest"]
61
- file { $files:
62
- ensure => file
63
- }
64
- }
65
-
66
- #apache { "test":
67
- # php => false,
68
- # docroot => "/export/html",
69
- # user => "www-data",
70
- # group => "www-data"
71
- #}
72
-
73
- #ssh { "yucko":}
@@ -1,70 +0,0 @@
1
- #!/bin/bash
2
-
3
- script=$0
4
- path=`echo $script | sed 's/etc..*/bin/'`
5
-
6
- PATH=$PATH:$path
7
-
8
- ps=`facter ps`
9
-
10
- if [ -z "$ps" ]; then
11
- ps="ps -ef"
12
- fi
13
-
14
- function start
15
- {
16
- cd $path
17
- ./sleeper
18
- }
19
-
20
- function stop
21
- {
22
- #if [ -n `which pgrep` ]; then
23
- # pid=`pgrep sleeper`
24
- #else
25
- pid=`$ps | grep -v grep | grep sleeper | grep ruby | awk '{print $2}'`
26
- #fi
27
- if [ -n "$pid" ]; then
28
- kill $pid
29
- fi
30
- }
31
-
32
- function restart
33
- {
34
- stop
35
- start
36
- }
37
-
38
- function status
39
- {
40
- #if [ -n `which pgrep` ]; then
41
- # cmd="pgrep sleeper"
42
- #else
43
- #cmd="$ps | grep -v grep | grep sleeper | grep ruby | awk '{print $2}'"
44
- #fi
45
- #$cmd
46
- $ps | grep -v grep | grep sleeper | grep ruby
47
- }
48
-
49
- case "$1" in
50
- start)
51
- start
52
- ;;
53
- stop)
54
- stop
55
- ;;
56
- restart)
57
- stop; start
58
- ;;
59
- status)
60
- output=`status`
61
- #status
62
- exit $?
63
- ;;
64
- *)
65
- echo "Usage: $N {start|stop|restart|force-reload}" >&2
66
- exit 1
67
- ;;
68
- esac
69
-
70
- exit 0
File without changes
@@ -1,13 +0,0 @@
1
- # $Id$
2
-
3
- [dist]
4
- path /dist
5
- allow *.puppetlabs.com
6
-
7
- [plugins]
8
- path /var/lib/puppet/plugins
9
- allow *.puppetlabs.com
10
-
11
- [facts]
12
- path /var/lib/puppet/facts
13
- allow *.puppetlabs.com
@@ -1,20 +0,0 @@
1
- # This file is only necessary if your clients listen.
2
- # Note that it affects all puppet daemons, including puppetmasterd,
3
- # which is why puppetmaster is in there.
4
- [fileserver]
5
- allow *.madstop.com
6
-
7
- [puppetmaster]
8
- allow *.madstop.com
9
-
10
- [pelementserver]
11
- allow puppet.madstop.com
12
-
13
- [puppetrunner]
14
- allow culain.madstop.com
15
-
16
- [puppetbucket]
17
- allow *.madstop.com
18
-
19
- [puppetreports]
20
- allow *.madstop.com
@@ -1,10 +0,0 @@
1
- [puppetd]
2
- report = true
3
- factsync = true
4
- pluginsync = true
5
-
6
- [puppetmasterd]
7
- reports = store,rrdgraph,tagmail,log
8
- node_terminus = ldap
9
- ldapserver = culain.madstop.com
10
- ldapbase = dc=madstop,dc=com
@@ -1 +0,0 @@
1
- all: user@domain.com
@@ -1,16 +0,0 @@
1
- $path = "/usr/bin:/bin"
2
-
3
- exec { "mkdir -p /tmp/fakedir":
4
- path => $path
5
- }
6
-
7
- exec { "rm -rf /tmp/fakedir":
8
- path => $path
9
- }
10
-
11
- exec { "touch /this/directory/does/not/exist":
12
- path => $path,
13
- returns => 1
14
- }
15
-
16
-
@@ -1,11 +0,0 @@
1
- # $Id$
2
-
3
- file {
4
- "/tmp/atest": ensure => file, mode => 755;
5
- "/tmp/btest": ensure => file, mode => 755
6
- }
7
-
8
- file {
9
- "/tmp/ctest": ensure => file;
10
- "/tmp/dtest": ensure => file;
11
- }