tylerrick-chef 0.10.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (450) hide show
  1. data/LICENSE +201 -0
  2. data/README.rdoc +171 -0
  3. data/bin/chef-client +26 -0
  4. data/bin/chef-solo +25 -0
  5. data/bin/knife +26 -0
  6. data/bin/shef +34 -0
  7. data/distro/README +2 -0
  8. data/distro/arch/etc/conf.d/chef-client.conf +5 -0
  9. data/distro/arch/etc/conf.d/chef-expander.conf +8 -0
  10. data/distro/arch/etc/conf.d/chef-server-webui.conf +10 -0
  11. data/distro/arch/etc/conf.d/chef-server.conf +10 -0
  12. data/distro/arch/etc/conf.d/chef-solr.conf +8 -0
  13. data/distro/arch/etc/rc.d/chef-client +76 -0
  14. data/distro/arch/etc/rc.d/chef-expander +78 -0
  15. data/distro/arch/etc/rc.d/chef-server +78 -0
  16. data/distro/arch/etc/rc.d/chef-server-webui +78 -0
  17. data/distro/arch/etc/rc.d/chef-solr +78 -0
  18. data/distro/common/html/chef-client.8.html +146 -0
  19. data/distro/common/html/chef-expander.8.html +164 -0
  20. data/distro/common/html/chef-expanderctl.8.html +146 -0
  21. data/distro/common/html/chef-server-webui.8.html +185 -0
  22. data/distro/common/html/chef-server.8.html +182 -0
  23. data/distro/common/html/chef-solo.8.html +191 -0
  24. data/distro/common/html/chef-solr.8.html +165 -0
  25. data/distro/common/html/knife-bootstrap.1.html +243 -0
  26. data/distro/common/html/knife-client.1.html +219 -0
  27. data/distro/common/html/knife-configure.1.html +170 -0
  28. data/distro/common/html/knife-cookbook-site.1.html +241 -0
  29. data/distro/common/html/knife-cookbook.1.html +384 -0
  30. data/distro/common/html/knife-data-bag.1.html +234 -0
  31. data/distro/common/html/knife-environment.1.html +267 -0
  32. data/distro/common/html/knife-exec.1.html +134 -0
  33. data/distro/common/html/knife-index.1.html +125 -0
  34. data/distro/common/html/knife-node.1.html +250 -0
  35. data/distro/common/html/knife-recipe.1.html +92 -0
  36. data/distro/common/html/knife-role.1.html +200 -0
  37. data/distro/common/html/knife-search.1.html +288 -0
  38. data/distro/common/html/knife-ssh.1.html +157 -0
  39. data/distro/common/html/knife-status.1.html +128 -0
  40. data/distro/common/html/knife-tag.1.html +137 -0
  41. data/distro/common/html/knife.1.html +321 -0
  42. data/distro/common/html/shef.1.html +283 -0
  43. data/distro/common/man/man1/knife-bootstrap.1 +197 -0
  44. data/distro/common/man/man1/knife-client.1 +99 -0
  45. data/distro/common/man/man1/knife-configure.1 +88 -0
  46. data/distro/common/man/man1/knife-cookbook-site.1 +145 -0
  47. data/distro/common/man/man1/knife-cookbook.1 +345 -0
  48. data/distro/common/man/man1/knife-data-bag.1 +130 -0
  49. data/distro/common/man/man1/knife-environment.1 +178 -0
  50. data/distro/common/man/man1/knife-exec.1 +46 -0
  51. data/distro/common/man/man1/knife-index.1 +29 -0
  52. data/distro/common/man/man1/knife-node.1 +134 -0
  53. data/distro/common/man/man1/knife-role.1 +88 -0
  54. data/distro/common/man/man1/knife-search.1 +280 -0
  55. data/distro/common/man/man1/knife-ssh.1 +83 -0
  56. data/distro/common/man/man1/knife-status.1 +29 -0
  57. data/distro/common/man/man1/knife-tag.1 +43 -0
  58. data/distro/common/man/man1/knife.1 +292 -0
  59. data/distro/common/man/man1/shef.1 +256 -0
  60. data/distro/common/man/man8/chef-client.8 +104 -0
  61. data/distro/common/man/man8/chef-expander.8 +97 -0
  62. data/distro/common/man/man8/chef-expanderctl.8 +62 -0
  63. data/distro/common/man/man8/chef-server-webui.8 +155 -0
  64. data/distro/common/man/man8/chef-server.8 +147 -0
  65. data/distro/common/man/man8/chef-solo.8 +158 -0
  66. data/distro/common/man/man8/chef-solr.8 +122 -0
  67. data/distro/common/markdown/README +3 -0
  68. data/distro/common/markdown/man1/knife-bootstrap.mkd +142 -0
  69. data/distro/common/markdown/man1/knife-client.mkd +103 -0
  70. data/distro/common/markdown/man1/knife-configure.mkd +70 -0
  71. data/distro/common/markdown/man1/knife-cookbook-site.mkd +123 -0
  72. data/distro/common/markdown/man1/knife-cookbook.mkd +263 -0
  73. data/distro/common/markdown/man1/knife-data-bag.mkd +117 -0
  74. data/distro/common/markdown/man1/knife-environment.mkd +151 -0
  75. data/distro/common/markdown/man1/knife-exec.mkd +37 -0
  76. data/distro/common/markdown/man1/knife-index.mkd +30 -0
  77. data/distro/common/markdown/man1/knife-node.mkd +130 -0
  78. data/distro/common/markdown/man1/knife-role.mkd +85 -0
  79. data/distro/common/markdown/man1/knife-search.mkd +180 -0
  80. data/distro/common/markdown/man1/knife-ssh.mkd +72 -0
  81. data/distro/common/markdown/man1/knife-status.mkd +36 -0
  82. data/distro/common/markdown/man1/knife-tag.mkd +39 -0
  83. data/distro/common/markdown/man1/knife.mkd +220 -0
  84. data/distro/common/markdown/man1/shef.mkd +189 -0
  85. data/distro/common/markdown/man8/chef-client.mkd +75 -0
  86. data/distro/common/markdown/man8/chef-expander.mkd +82 -0
  87. data/distro/common/markdown/man8/chef-expanderctl.mkd +58 -0
  88. data/distro/common/markdown/man8/chef-server-webui.mkd +121 -0
  89. data/distro/common/markdown/man8/chef-server.mkd +121 -0
  90. data/distro/common/markdown/man8/chef-solo.mkd +107 -0
  91. data/distro/common/markdown/man8/chef-solr.mkd +89 -0
  92. data/distro/debian/etc/default/chef-client +4 -0
  93. data/distro/debian/etc/default/chef-expander +8 -0
  94. data/distro/debian/etc/default/chef-server +9 -0
  95. data/distro/debian/etc/default/chef-server-webui +9 -0
  96. data/distro/debian/etc/default/chef-solr +8 -0
  97. data/distro/debian/etc/init.d/chef-client +185 -0
  98. data/distro/debian/etc/init.d/chef-expander +176 -0
  99. data/distro/debian/etc/init.d/chef-server +122 -0
  100. data/distro/debian/etc/init.d/chef-server-webui +123 -0
  101. data/distro/debian/etc/init.d/chef-solr +176 -0
  102. data/distro/debian/etc/init/chef-client.conf +17 -0
  103. data/distro/debian/etc/init/chef-expander.conf +17 -0
  104. data/distro/debian/etc/init/chef-server-webui.conf +17 -0
  105. data/distro/debian/etc/init/chef-server.conf +17 -0
  106. data/distro/debian/etc/init/chef-solr.conf +17 -0
  107. data/distro/redhat/etc/init.d/chef-client +110 -0
  108. data/distro/redhat/etc/init.d/chef-expander +104 -0
  109. data/distro/redhat/etc/init.d/chef-server +112 -0
  110. data/distro/redhat/etc/init.d/chef-server-webui +112 -0
  111. data/distro/redhat/etc/init.d/chef-solr +104 -0
  112. data/distro/redhat/etc/logrotate.d/chef-client +8 -0
  113. data/distro/redhat/etc/logrotate.d/chef-expander +8 -0
  114. data/distro/redhat/etc/logrotate.d/chef-server +8 -0
  115. data/distro/redhat/etc/logrotate.d/chef-server-webui +8 -0
  116. data/distro/redhat/etc/logrotate.d/chef-solr +8 -0
  117. data/distro/redhat/etc/sysconfig/chef-client +15 -0
  118. data/distro/redhat/etc/sysconfig/chef-expander +7 -0
  119. data/distro/redhat/etc/sysconfig/chef-server +14 -0
  120. data/distro/redhat/etc/sysconfig/chef-server-webui +14 -0
  121. data/distro/redhat/etc/sysconfig/chef-solr +8 -0
  122. data/lib/chef.rb +41 -0
  123. data/lib/chef/api_client.rb +271 -0
  124. data/lib/chef/application.rb +152 -0
  125. data/lib/chef/application/agent.rb +18 -0
  126. data/lib/chef/application/client.rb +285 -0
  127. data/lib/chef/application/knife.rb +188 -0
  128. data/lib/chef/application/solo.rb +218 -0
  129. data/lib/chef/applications.rb +4 -0
  130. data/lib/chef/certificate.rb +194 -0
  131. data/lib/chef/checksum.rb +167 -0
  132. data/lib/chef/checksum/storage.rb +18 -0
  133. data/lib/chef/checksum/storage/filesystem.rb +56 -0
  134. data/lib/chef/checksum_cache.rb +189 -0
  135. data/lib/chef/client.rb +366 -0
  136. data/lib/chef/config.rb +248 -0
  137. data/lib/chef/cookbook/chefignore.rb +66 -0
  138. data/lib/chef/cookbook/cookbook_collection.rb +45 -0
  139. data/lib/chef/cookbook/cookbook_version_loader.rb +173 -0
  140. data/lib/chef/cookbook/file_system_file_vendor.rb +56 -0
  141. data/lib/chef/cookbook/file_vendor.rb +48 -0
  142. data/lib/chef/cookbook/metadata.rb +629 -0
  143. data/lib/chef/cookbook/remote_file_vendor.rb +88 -0
  144. data/lib/chef/cookbook/syntax_check.rb +136 -0
  145. data/lib/chef/cookbook_loader.rb +121 -0
  146. data/lib/chef/cookbook_site_streaming_uploader.rb +244 -0
  147. data/lib/chef/cookbook_uploader.rb +154 -0
  148. data/lib/chef/cookbook_version.rb +1096 -0
  149. data/lib/chef/cookbook_version_selector.rb +168 -0
  150. data/lib/chef/couchdb.rb +246 -0
  151. data/lib/chef/daemon.rb +172 -0
  152. data/lib/chef/data_bag.rb +235 -0
  153. data/lib/chef/data_bag_item.rb +273 -0
  154. data/lib/chef/encrypted_data_bag_item.rb +139 -0
  155. data/lib/chef/environment.rb +455 -0
  156. data/lib/chef/exceptions.rb +154 -0
  157. data/lib/chef/file_access_control.rb +144 -0
  158. data/lib/chef/file_cache.rb +218 -0
  159. data/lib/chef/handler.rb +227 -0
  160. data/lib/chef/handler/error_report.rb +33 -0
  161. data/lib/chef/handler/json_file.rb +58 -0
  162. data/lib/chef/index_queue.rb +29 -0
  163. data/lib/chef/index_queue/amqp_client.rb +116 -0
  164. data/lib/chef/index_queue/consumer.rb +76 -0
  165. data/lib/chef/index_queue/indexable.rb +109 -0
  166. data/lib/chef/json_compat.rb +52 -0
  167. data/lib/chef/knife.rb +520 -0
  168. data/lib/chef/knife/bootstrap.rb +207 -0
  169. data/lib/chef/knife/bootstrap/archlinux-gems.erb +60 -0
  170. data/lib/chef/knife/bootstrap/centos5-gems.erb +56 -0
  171. data/lib/chef/knife/bootstrap/fedora13-gems.erb +43 -0
  172. data/lib/chef/knife/bootstrap/ubuntu10.04-apt.erb +49 -0
  173. data/lib/chef/knife/bootstrap/ubuntu10.04-gems.erb +50 -0
  174. data/lib/chef/knife/client_bulk_delete.rb +65 -0
  175. data/lib/chef/knife/client_create.rb +79 -0
  176. data/lib/chef/knife/client_delete.rb +46 -0
  177. data/lib/chef/knife/client_edit.rb +45 -0
  178. data/lib/chef/knife/client_list.rb +42 -0
  179. data/lib/chef/knife/client_reregister.rb +58 -0
  180. data/lib/chef/knife/client_show.rb +52 -0
  181. data/lib/chef/knife/configure.rb +149 -0
  182. data/lib/chef/knife/configure_client.rb +50 -0
  183. data/lib/chef/knife/cookbook_bulk_delete.rb +72 -0
  184. data/lib/chef/knife/cookbook_create.rb +274 -0
  185. data/lib/chef/knife/cookbook_delete.rb +151 -0
  186. data/lib/chef/knife/cookbook_download.rb +137 -0
  187. data/lib/chef/knife/cookbook_list.rb +47 -0
  188. data/lib/chef/knife/cookbook_metadata.rb +107 -0
  189. data/lib/chef/knife/cookbook_metadata_from_file.rb +44 -0
  190. data/lib/chef/knife/cookbook_show.rb +102 -0
  191. data/lib/chef/knife/cookbook_site_download.rb +70 -0
  192. data/lib/chef/knife/cookbook_site_install.rb +148 -0
  193. data/lib/chef/knife/cookbook_site_list.rb +62 -0
  194. data/lib/chef/knife/cookbook_site_search.rb +51 -0
  195. data/lib/chef/knife/cookbook_site_share.rb +114 -0
  196. data/lib/chef/knife/cookbook_site_show.rb +57 -0
  197. data/lib/chef/knife/cookbook_site_unshare.rb +56 -0
  198. data/lib/chef/knife/cookbook_site_vendor.rb +46 -0
  199. data/lib/chef/knife/cookbook_test.rb +93 -0
  200. data/lib/chef/knife/cookbook_upload.rb +240 -0
  201. data/lib/chef/knife/core/bootstrap_context.rb +100 -0
  202. data/lib/chef/knife/core/cookbook_scm_repo.rb +148 -0
  203. data/lib/chef/knife/core/generic_presenter.rb +191 -0
  204. data/lib/chef/knife/core/node_editor.rb +127 -0
  205. data/lib/chef/knife/core/node_presenter.rb +136 -0
  206. data/lib/chef/knife/core/object_loader.rb +75 -0
  207. data/lib/chef/knife/core/subcommand_loader.rb +112 -0
  208. data/lib/chef/knife/core/text_formatter.rb +100 -0
  209. data/lib/chef/knife/core/ui.rb +216 -0
  210. data/lib/chef/knife/data_bag_create.rb +93 -0
  211. data/lib/chef/knife/data_bag_delete.rb +51 -0
  212. data/lib/chef/knife/data_bag_edit.rb +94 -0
  213. data/lib/chef/knife/data_bag_from_file.rb +87 -0
  214. data/lib/chef/knife/data_bag_list.rb +46 -0
  215. data/lib/chef/knife/data_bag_show.rb +81 -0
  216. data/lib/chef/knife/environment_create.rb +53 -0
  217. data/lib/chef/knife/environment_delete.rb +45 -0
  218. data/lib/chef/knife/environment_edit.rb +45 -0
  219. data/lib/chef/knife/environment_from_file.rb +50 -0
  220. data/lib/chef/knife/environment_list.rb +42 -0
  221. data/lib/chef/knife/environment_show.rb +46 -0
  222. data/lib/chef/knife/exec.rb +51 -0
  223. data/lib/chef/knife/help.rb +103 -0
  224. data/lib/chef/knife/help_topics.rb +4 -0
  225. data/lib/chef/knife/index_rebuild.rb +50 -0
  226. data/lib/chef/knife/node_bulk_delete.rb +80 -0
  227. data/lib/chef/knife/node_create.rb +50 -0
  228. data/lib/chef/knife/node_delete.rb +47 -0
  229. data/lib/chef/knife/node_edit.rb +72 -0
  230. data/lib/chef/knife/node_from_file.rb +50 -0
  231. data/lib/chef/knife/node_list.rb +46 -0
  232. data/lib/chef/knife/node_run_list_add.rb +67 -0
  233. data/lib/chef/knife/node_run_list_remove.rb +48 -0
  234. data/lib/chef/knife/node_show.rb +73 -0
  235. data/lib/chef/knife/recipe_list.rb +32 -0
  236. data/lib/chef/knife/role_bulk_delete.rb +70 -0
  237. data/lib/chef/knife/role_create.rb +55 -0
  238. data/lib/chef/knife/role_delete.rb +47 -0
  239. data/lib/chef/knife/role_edit.rb +48 -0
  240. data/lib/chef/knife/role_from_file.rb +56 -0
  241. data/lib/chef/knife/role_list.rb +43 -0
  242. data/lib/chef/knife/role_show.rb +54 -0
  243. data/lib/chef/knife/search.rb +141 -0
  244. data/lib/chef/knife/ssh.rb +367 -0
  245. data/lib/chef/knife/status.rb +104 -0
  246. data/lib/chef/knife/tag_create.rb +52 -0
  247. data/lib/chef/knife/tag_delete.rb +60 -0
  248. data/lib/chef/knife/tag_list.rb +47 -0
  249. data/lib/chef/log.rb +39 -0
  250. data/lib/chef/mash.rb +211 -0
  251. data/lib/chef/mixin/check_helper.rb +31 -0
  252. data/lib/chef/mixin/checksum.rb +32 -0
  253. data/lib/chef/mixin/command.rb +163 -0
  254. data/lib/chef/mixin/command/unix.rb +215 -0
  255. data/lib/chef/mixin/command/windows.rb +76 -0
  256. data/lib/chef/mixin/convert_to_class_name.rb +63 -0
  257. data/lib/chef/mixin/create_path.rb +57 -0
  258. data/lib/chef/mixin/deep_merge.rb +225 -0
  259. data/lib/chef/mixin/deprecation.rb +65 -0
  260. data/lib/chef/mixin/from_file.rb +50 -0
  261. data/lib/chef/mixin/get_source_from_package.rb +42 -0
  262. data/lib/chef/mixin/language.rb +163 -0
  263. data/lib/chef/mixin/language_include_attribute.rb +61 -0
  264. data/lib/chef/mixin/language_include_recipe.rb +52 -0
  265. data/lib/chef/mixin/params_validate.rb +225 -0
  266. data/lib/chef/mixin/recipe_definition_dsl_core.rb +78 -0
  267. data/lib/chef/mixin/shell_out.rb +41 -0
  268. data/lib/chef/mixin/template.rb +95 -0
  269. data/lib/chef/mixin/xml_escape.rb +140 -0
  270. data/lib/chef/mixins.rb +15 -0
  271. data/lib/chef/monkey_patches/dir.rb +36 -0
  272. data/lib/chef/monkey_patches/numeric.rb +15 -0
  273. data/lib/chef/monkey_patches/object.rb +9 -0
  274. data/lib/chef/monkey_patches/regexp.rb +34 -0
  275. data/lib/chef/monkey_patches/string.rb +49 -0
  276. data/lib/chef/monkey_patches/tempfile.rb +64 -0
  277. data/lib/chef/nil_argument.rb +3 -0
  278. data/lib/chef/node.rb +677 -0
  279. data/lib/chef/node/attribute.rb +487 -0
  280. data/lib/chef/openid_registration.rb +187 -0
  281. data/lib/chef/platform.rb +434 -0
  282. data/lib/chef/provider.rb +124 -0
  283. data/lib/chef/provider/breakpoint.rb +36 -0
  284. data/lib/chef/provider/cookbook_file.rb +100 -0
  285. data/lib/chef/provider/cron.rb +186 -0
  286. data/lib/chef/provider/cron/solaris.rb +195 -0
  287. data/lib/chef/provider/deploy.rb +418 -0
  288. data/lib/chef/provider/deploy/revision.rb +80 -0
  289. data/lib/chef/provider/deploy/timestamped.rb +33 -0
  290. data/lib/chef/provider/directory.rb +72 -0
  291. data/lib/chef/provider/env.rb +152 -0
  292. data/lib/chef/provider/env/windows.rb +75 -0
  293. data/lib/chef/provider/erl_call.rb +101 -0
  294. data/lib/chef/provider/execute.rb +65 -0
  295. data/lib/chef/provider/file.rb +226 -0
  296. data/lib/chef/provider/git.rb +243 -0
  297. data/lib/chef/provider/group.rb +133 -0
  298. data/lib/chef/provider/group/aix.rb +70 -0
  299. data/lib/chef/provider/group/dscl.rb +121 -0
  300. data/lib/chef/provider/group/gpasswd.rb +53 -0
  301. data/lib/chef/provider/group/groupadd.rb +91 -0
  302. data/lib/chef/provider/group/pw.rb +84 -0
  303. data/lib/chef/provider/group/suse.rb +53 -0
  304. data/lib/chef/provider/group/usermod.rb +57 -0
  305. data/lib/chef/provider/group/windows.rb +79 -0
  306. data/lib/chef/provider/http_request.rb +122 -0
  307. data/lib/chef/provider/ifconfig.rb +195 -0
  308. data/lib/chef/provider/link.rb +164 -0
  309. data/lib/chef/provider/log.rb +54 -0
  310. data/lib/chef/provider/mdadm.rb +91 -0
  311. data/lib/chef/provider/mount.rb +114 -0
  312. data/lib/chef/provider/mount/mount.rb +240 -0
  313. data/lib/chef/provider/mount/windows.rb +81 -0
  314. data/lib/chef/provider/ohai.rb +42 -0
  315. data/lib/chef/provider/package.rb +200 -0
  316. data/lib/chef/provider/package/apt.rb +145 -0
  317. data/lib/chef/provider/package/dpkg.rb +115 -0
  318. data/lib/chef/provider/package/easy_install.rb +136 -0
  319. data/lib/chef/provider/package/freebsd.rb +125 -0
  320. data/lib/chef/provider/package/macports.rb +105 -0
  321. data/lib/chef/provider/package/pacman.rb +101 -0
  322. data/lib/chef/provider/package/portage.rb +135 -0
  323. data/lib/chef/provider/package/rpm.rb +104 -0
  324. data/lib/chef/provider/package/rubygems.rb +465 -0
  325. data/lib/chef/provider/package/solaris.rb +130 -0
  326. data/lib/chef/provider/package/yum-dump.py +286 -0
  327. data/lib/chef/provider/package/yum.rb +1173 -0
  328. data/lib/chef/provider/package/zypper.rb +144 -0
  329. data/lib/chef/provider/remote_directory.rb +137 -0
  330. data/lib/chef/provider/remote_file.rb +118 -0
  331. data/lib/chef/provider/route.rb +193 -0
  332. data/lib/chef/provider/ruby_block.rb +34 -0
  333. data/lib/chef/provider/script.rb +55 -0
  334. data/lib/chef/provider/service.rb +122 -0
  335. data/lib/chef/provider/service/arch.rb +116 -0
  336. data/lib/chef/provider/service/debian.rb +130 -0
  337. data/lib/chef/provider/service/freebsd.rb +154 -0
  338. data/lib/chef/provider/service/gentoo.rb +53 -0
  339. data/lib/chef/provider/service/init.rb +71 -0
  340. data/lib/chef/provider/service/insserv.rb +52 -0
  341. data/lib/chef/provider/service/invokercd.rb +35 -0
  342. data/lib/chef/provider/service/redhat.rb +60 -0
  343. data/lib/chef/provider/service/simple.rb +120 -0
  344. data/lib/chef/provider/service/solaris.rb +85 -0
  345. data/lib/chef/provider/service/systemd.rb +102 -0
  346. data/lib/chef/provider/service/upstart.rb +198 -0
  347. data/lib/chef/provider/service/windows.rb +155 -0
  348. data/lib/chef/provider/subversion.rb +197 -0
  349. data/lib/chef/provider/template.rb +104 -0
  350. data/lib/chef/provider/user.rb +186 -0
  351. data/lib/chef/provider/user/dscl.rb +280 -0
  352. data/lib/chef/provider/user/pw.rb +113 -0
  353. data/lib/chef/provider/user/useradd.rb +137 -0
  354. data/lib/chef/provider/user/windows.rb +124 -0
  355. data/lib/chef/providers.rb +95 -0
  356. data/lib/chef/recipe.rb +129 -0
  357. data/lib/chef/resource.rb +609 -0
  358. data/lib/chef/resource/apt_package.rb +34 -0
  359. data/lib/chef/resource/bash.rb +33 -0
  360. data/lib/chef/resource/breakpoint.rb +35 -0
  361. data/lib/chef/resource/conditional.rb +90 -0
  362. data/lib/chef/resource/cookbook_file.rb +45 -0
  363. data/lib/chef/resource/cron.rb +188 -0
  364. data/lib/chef/resource/csh.rb +33 -0
  365. data/lib/chef/resource/deploy.rb +389 -0
  366. data/lib/chef/resource/deploy_revision.rb +40 -0
  367. data/lib/chef/resource/directory.rb +76 -0
  368. data/lib/chef/resource/dpkg_package.rb +34 -0
  369. data/lib/chef/resource/easy_install_package.rb +57 -0
  370. data/lib/chef/resource/env.rb +58 -0
  371. data/lib/chef/resource/erl_call.rb +83 -0
  372. data/lib/chef/resource/execute.rb +127 -0
  373. data/lib/chef/resource/file.rb +99 -0
  374. data/lib/chef/resource/freebsd_package.rb +35 -0
  375. data/lib/chef/resource/gem_package.rb +53 -0
  376. data/lib/chef/resource/git.rb +46 -0
  377. data/lib/chef/resource/group.rb +78 -0
  378. data/lib/chef/resource/http_request.rb +61 -0
  379. data/lib/chef/resource/ifconfig.rb +144 -0
  380. data/lib/chef/resource/link.rb +78 -0
  381. data/lib/chef/resource/log.rb +62 -0
  382. data/lib/chef/resource/macports_package.rb +29 -0
  383. data/lib/chef/resource/mdadm.rb +82 -0
  384. data/lib/chef/resource/mount.rb +134 -0
  385. data/lib/chef/resource/ohai.rb +40 -0
  386. data/lib/chef/resource/package.rb +80 -0
  387. data/lib/chef/resource/pacman_package.rb +33 -0
  388. data/lib/chef/resource/perl.rb +33 -0
  389. data/lib/chef/resource/portage_package.rb +33 -0
  390. data/lib/chef/resource/python.rb +33 -0
  391. data/lib/chef/resource/remote_directory.rb +109 -0
  392. data/lib/chef/resource/remote_file.rb +83 -0
  393. data/lib/chef/resource/route.rb +135 -0
  394. data/lib/chef/resource/rpm_package.rb +34 -0
  395. data/lib/chef/resource/ruby.rb +33 -0
  396. data/lib/chef/resource/ruby_block.rb +40 -0
  397. data/lib/chef/resource/scm.rb +147 -0
  398. data/lib/chef/resource/script.rb +60 -0
  399. data/lib/chef/resource/service.rb +151 -0
  400. data/lib/chef/resource/solaris_package.rb +36 -0
  401. data/lib/chef/resource/subversion.rb +36 -0
  402. data/lib/chef/resource/template.rb +69 -0
  403. data/lib/chef/resource/timestamped_deploy.rb +31 -0
  404. data/lib/chef/resource/user.rb +130 -0
  405. data/lib/chef/resource/yum_package.rb +63 -0
  406. data/lib/chef/resource_collection.rb +217 -0
  407. data/lib/chef/resource_collection/stepable_iterator.rb +124 -0
  408. data/lib/chef/resource_definition.rb +67 -0
  409. data/lib/chef/resource_definition_list.rb +38 -0
  410. data/lib/chef/resources.rb +64 -0
  411. data/lib/chef/rest.rb +400 -0
  412. data/lib/chef/rest/auth_credentials.rb +71 -0
  413. data/lib/chef/rest/cookie_jar.rb +31 -0
  414. data/lib/chef/rest/rest_request.rb +213 -0
  415. data/lib/chef/role.rb +343 -0
  416. data/lib/chef/run_context.rb +126 -0
  417. data/lib/chef/run_list.rb +165 -0
  418. data/lib/chef/run_list/run_list_expansion.rb +193 -0
  419. data/lib/chef/run_list/run_list_item.rb +92 -0
  420. data/lib/chef/run_list/versioned_recipe_list.rb +68 -0
  421. data/lib/chef/run_status.rb +121 -0
  422. data/lib/chef/runner.rb +105 -0
  423. data/lib/chef/sandbox.rb +153 -0
  424. data/lib/chef/search/query.rb +65 -0
  425. data/lib/chef/shef.rb +327 -0
  426. data/lib/chef/shef/ext.rb +569 -0
  427. data/lib/chef/shef/model_wrapper.rb +120 -0
  428. data/lib/chef/shef/shef_rest.rb +28 -0
  429. data/lib/chef/shef/shef_session.rb +285 -0
  430. data/lib/chef/shell_out.rb +249 -0
  431. data/lib/chef/shell_out/unix.rb +223 -0
  432. data/lib/chef/shell_out/windows.rb +588 -0
  433. data/lib/chef/solr_query.rb +187 -0
  434. data/lib/chef/solr_query/lucene.treetop +150 -0
  435. data/lib/chef/solr_query/lucene_nodes.rb +285 -0
  436. data/lib/chef/solr_query/query_transform.rb +65 -0
  437. data/lib/chef/solr_query/solr_http_request.rb +132 -0
  438. data/lib/chef/streaming_cookbook_uploader.rb +201 -0
  439. data/lib/chef/tasks/chef_repo.rake +334 -0
  440. data/lib/chef/util/file_edit.rb +122 -0
  441. data/lib/chef/util/windows.rb +56 -0
  442. data/lib/chef/util/windows/net_group.rb +101 -0
  443. data/lib/chef/util/windows/net_use.rb +121 -0
  444. data/lib/chef/util/windows/net_user.rb +198 -0
  445. data/lib/chef/util/windows/volume.rb +59 -0
  446. data/lib/chef/version.rb +23 -0
  447. data/lib/chef/version_class.rb +70 -0
  448. data/lib/chef/version_constraint.rb +116 -0
  449. data/lib/chef/webui_user.rb +231 -0
  450. metadata +764 -0
@@ -0,0 +1,99 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "KNIFE\-CLIENT" "1" "December 2011" "Chef 0.10.8" "Chef Manual"
5
+ .
6
+ .SH "NAME"
7
+ \fBknife\-client\fR \- Manage Chef API Clients
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBknife\fR \fBclient\fR \fIsub\-command\fR \fI(options)\fR
11
+ .
12
+ .SH "SUB\-COMMANDS"
13
+ Client subcommands follow a basic create, read, update, delete (CRUD) pattern\. The Following subcommands are available:
14
+ .
15
+ .SH "BULK DELETE"
16
+ \fBknife client bulk delete\fR \fIregex\fR \fI(options)\fR
17
+ .
18
+ .P
19
+ Delete clients where the client name matches the regular expression \fIregex\fR on the Chef Server\. The regular expression should be given as a quoted string, and not surrounded by forward slashes\.
20
+ .
21
+ .SH "CREATE"
22
+ \fBknife client create\fR \fIclient name\fR \fI(options)\fR
23
+ .
24
+ .TP
25
+ \fB\-a\fR, \fB\-\-admin\fR
26
+ Create the client as an admin
27
+ .
28
+ .TP
29
+ \fB\-f\fR, \fB\-\-file FILE\fR
30
+ Write the key to a file
31
+ .
32
+ .P
33
+ Create a new client\. This generates an RSA keypair\. The private key will be displayed on \fISTDOUT\fR or written to the named file\. The public half will be stored on the Server\. For \fIchef\-client\fR systems, the private key should be copied to the system as \fB/etc/chef/client\.pem\fR\.
34
+ .
35
+ .P
36
+ Admin clients should be created for users that will use \fIknife\fR to access the API as an administrator\. The private key will generally be copied to \fB~/\.chef/client\e_name\.pem\fR and referenced in the \fBknife\.rb\fR configuration file\.
37
+ .
38
+ .SH "DELETE"
39
+ \fBknife client delete\fR \fIclient name\fR \fI(options)\fR
40
+ .
41
+ .P
42
+ Deletes a registered client\.
43
+ .
44
+ .SH "EDIT"
45
+ \fBclient edit\fR \fIclient name\fR \fI(options)\fR
46
+ .
47
+ .P
48
+ Edit a registered client\.
49
+ .
50
+ .SH "LIST"
51
+ \fBclient list\fR \fI(options)\fR
52
+ .
53
+ .TP
54
+ \fB\-w\fR, \fB\-\-with\-uri\fR
55
+ Show corresponding URIs
56
+ .
57
+ .P
58
+ List all registered clients\.
59
+ .
60
+ .SH "REREGISTER"
61
+ \fBclient reregister\fR \fIclient name\fR \fI(options)\fR
62
+ .
63
+ .TP
64
+ \fB\-f\fR, \fB\-\-file FILE\fR
65
+ Write the key to a file
66
+ .
67
+ .P
68
+ Regenerate the RSA keypair for a client\. The public half will be stored on the server and the private key displayed on \fISTDOUT\fR or written to the named file\. This operation will invalidate the previous keypair used by the client, preventing it from authenticating with the Chef Server\. Use care when reregistering the validator client\.
69
+ .
70
+ .SH "SHOW"
71
+ \fBclient show\fR \fIclient name\fR \fI(options)\fR
72
+ .
73
+ .TP
74
+ \fB\-a\fR, \fB\-\-attribute ATTR\fR
75
+ Show only one attribute
76
+ .
77
+ .P
78
+ Show a client\. Output format is determined by the \-\-format option\.
79
+ .
80
+ .SH "DESCRIPTION"
81
+ Clients are identities used for communication with the Chef Server API, roughly equivalent to user accounts on the Chef Server, except that clients only communicate with the Chef Server API and are authenticated via request signatures\.
82
+ .
83
+ .P
84
+ In the typical case, there will be one client object on the server for each node, and the corresponding client and node will have identical names\.
85
+ .
86
+ .P
87
+ In the Chef authorization model, there is one special client, the "validator", which is authorized to create new non\-administrative clients but has minimal privileges otherwise\. This identity is used as a sort of "guest account" to create a client identity when initially setting up a host for management with Chef\.
88
+ .
89
+ .SH "SEE ALSO"
90
+ \fBknife\-node\fR(1)
91
+ .
92
+ .SH "AUTHOR"
93
+ Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
94
+ .
95
+ .SH "DOCUMENTATION"
96
+ This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
97
+ .
98
+ .SH "CHEF"
99
+ Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
@@ -0,0 +1,88 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "KNIFE\-CONFIGURE" "1" "December 2011" "Chef 0.10.8" "Chef Manual"
5
+ .
6
+ .SH "NAME"
7
+ \fBknife\-configure\fR \- Generate configuration files for knife or Chef Client
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBknife\fR \fBconfigure\fR [client] \fI(options)\fR
11
+ .
12
+ .SH "DESCRIPTION"
13
+ Generates a knife\.rb configuration file interactively\. When given the \-\-initial option, also creates a new administrative user\.
14
+ .
15
+ .SH "CONFIGURE SUBCOMMANDS"
16
+ \fBknife configure\fR \fI(options)\fR
17
+ .
18
+ .TP
19
+ \fB\-i\fR, \fB\-\-initial\fR
20
+ Create an initial API Client
21
+ .
22
+ .TP
23
+ \fB\-r\fR, \fB\-\-repository REPO\fR
24
+ The path to your chef\-repo
25
+ .
26
+ .P
27
+ Create a configuration file for knife\. This will prompt for values to enter into the file\. Default values are listed in square brackets if no other entry is typed\. See \fBknife\fR(1) for a description of configuration options\.
28
+ .
29
+ .P
30
+ \fBknife configure client\fR \fIdirectory\fR
31
+ .
32
+ .P
33
+ Read the \fIknife\.rb\fR config file and generate a config file suitable for use in \fI/etc/chef/client\.rb\fR and copy the validation certificate into the specified \fIdirectory\fR\.
34
+ .
35
+ .SH "EXAMPLES"
36
+ .
37
+ .IP "\(bu" 4
38
+ On a freshly installed Chef Server, use \fIknife configure \-i\fR to create an administrator and knife configuration file\. Leave the field blank to accept the default value\. On most systems, the default values are acceptable\.
39
+ .
40
+ .IP
41
+ user@host$ knife configure \-i
42
+ .
43
+ .br
44
+ Please enter the chef server URL: [http://localhost:4000]
45
+ .
46
+ .br
47
+ Please enter a clientname for the new client: [username]
48
+ .
49
+ .br
50
+ Please enter the existing admin clientname: [chef\-webui]
51
+ .
52
+ .br
53
+ Please enter the location of the existing admin client\'s private key: [/etc/chef/webui\.pem]
54
+ .
55
+ .br
56
+ Please enter the validation clientname: [chef\-validator]
57
+ .
58
+ .br
59
+ Please enter the location of the validation key: [/etc/chef/validation\.pem]
60
+ .
61
+ .br
62
+ Please enter the path to a chef repository (or leave blank):
63
+ .
64
+ .br
65
+ Creating initial API user\.\.\.
66
+ .
67
+ .br
68
+ Created (or updated) client[username]
69
+ .
70
+ .br
71
+ Configuration file written to /home/username/\.chef/knife\.rb
72
+ .
73
+ .IP
74
+ This creates a new administrator client named \fIusername\fR, writes a configuration file to \fI/home/username/\.chef/knife\.rb\fR, and the private key to \fI/home/username/\.chef/username\.pem\fR\. The configuration file and private key may be copied to another system to facilitate administration of the Chef Server from a remote system\. Depending on the value given for the Chef Server URL, you may need to modify that setting after copying to a remote host\.
75
+ .
76
+ .IP "" 0
77
+ .
78
+ .SH "SEE ALSO"
79
+ \fBknife\fR(1) \fBknife\-client\fR(1)
80
+ .
81
+ .SH "AUTHOR"
82
+ Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
83
+ .
84
+ .SH "DOCUMENTATION"
85
+ This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
86
+ .
87
+ .SH "CHEF"
88
+ Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
@@ -0,0 +1,145 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "KNIFE\-COOKBOOK\-SITE" "1" "December 2011" "Chef 0.10.8" "Chef Manual"
5
+ .
6
+ .SH "NAME"
7
+ \fBknife\-cookbook\-site\fR \- Install and update open source cookbooks
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBknife\fR \fBcookbook site\fR \fIsub\-command\fR \fI(options)\fR
11
+ .
12
+ .SH "COOKBOOK SITE SUB\-COMMANDS"
13
+ \fBknife cookbook site\fR provides the following subcommands:
14
+ .
15
+ .SH "INSTALL"
16
+ \fBcookbook site install COOKBOOK [VERSION]\fR \fI(options)\fR
17
+ .
18
+ .TP
19
+ \fB\-D\fR, \fB\-\-no\-dependencies\fR
20
+ Do not install dependencies automatically
21
+ .
22
+ .TP
23
+ \fB\-o\fR, \fB\-\-cookbook\-path PATH\fR
24
+ Install cookbooks to PATH
25
+ .
26
+ .TP
27
+ \fB\-B\fR, \fB\-\-branch BRANCH\fR
28
+ Default branch to work with [defaults to master]
29
+ .
30
+ .P
31
+ Uses git(1) version control in conjunction with the cookbook site to install community contributed cookbooks to your local cookbook repository\. Running \fBknife cookbook site install\fR does the following:
32
+ .
33
+ .IP "1." 4
34
+ A new "pristine copy" branch is created in git for tracking the upstream;
35
+ .
36
+ .IP "2." 4
37
+ All existing cookbooks are removed from the branch;
38
+ .
39
+ .IP "3." 4
40
+ The cookbook is downloaded from the cookbook site in tarball form;
41
+ .
42
+ .IP "4." 4
43
+ The downloaded cookbook is untarred, and its contents commited via git;
44
+ .
45
+ .IP "5." 4
46
+ The pristine copy branch is merged into the master branch\.
47
+ .
48
+ .IP "" 0
49
+ .
50
+ .P
51
+ By installing cookbook with this process, you can locally modify the upstream cookbook in your master branch and let git maintain your changes as a separate patch\. When an updated upstream version becomes available, you will be able to merge the upstream changes while maintaining your local modifications\.
52
+ .
53
+ .P
54
+ Unless \fI\-D\fR is specified, the process is applied recursively to all the cookbooks \fICOOKBOOK\fR depends on (via metadata \fIdependencies\fR)\.
55
+ .
56
+ .SH "DOWNLOAD"
57
+ \fBknife cookbook site download COOKBOOK [VERSION]\fR \fI(options)\fR
58
+ .
59
+ .TP
60
+ \fB\-f\fR, \fB\-\-file FILE\fR
61
+ The filename to write to
62
+ .
63
+ .TP
64
+ \fB\-\-force\fR
65
+ Force download deprecated cookbook
66
+ .
67
+ .P
68
+ Downloads a specific cookbook from the Community site, optionally specifying a certain version\.
69
+ .
70
+ .SH "LIST"
71
+ \fBknife cookbook site list\fR \fI(options)\fR
72
+ .
73
+ .TP
74
+ \fB\-w\fR, \fB\-\-with\-uri\fR
75
+ Show corresponding URIs
76
+ .
77
+ .P
78
+ Lists available cookbooks from the Community site\.
79
+ .
80
+ .SH "SEARCH"
81
+ \fBknife cookbook site search QUERY\fR \fI(options)\fR
82
+ .
83
+ .P
84
+ Searches for available cookbooks matching the specified query\.
85
+ .
86
+ .SH "SHARE"
87
+ \fBknife cookbook site share COOKBOOK CATEGORY\fR \fI(options)\fR
88
+ .
89
+ .TP
90
+ \fB\-k\fR, \fB\-\-key KEY\fR
91
+ API Client Key
92
+ .
93
+ .TP
94
+ \fB\-u\fR, \fB\-\-user USER\fR
95
+ API Client Username
96
+ .
97
+ .TP
98
+ \fB\-o\fR, \fB\-\-cookbook\-path PATH:PATH\fR
99
+ A colon\-separated path to look for cookbooks in
100
+ .
101
+ .P
102
+ Uploads the specified cookbook using the given category to the Opscode cookbooks site\. Requires a login user and certificate for the Opscode Cookbooks site\. By default, knife will use the username and API key you\'ve configured in your configuration file; otherwise you must explicitly set these values on the command line or use an alternate configuration file\.
103
+ .
104
+ .SH "UNSHARE"
105
+ \fBknife cookbook site unshare COOKBOOK\fR
106
+ .
107
+ .P
108
+ Stops sharing the specified cookbook on the Opscode cookbooks site\.
109
+ .
110
+ .SH "SHOW"
111
+ \fBknife cookbook site show COOKBOOK [VERSION]\fR \fI(options)\fR
112
+ .
113
+ .P
114
+ Shows information from the site about a particular cookbook\.
115
+ .
116
+ .SH "DESCRIPTION"
117
+ The cookbook site, \fIhttp://community\.opscode\.com/\fR, is a cookbook distribution service operated by Opscode\. This service provides users with a central location to publish cookbooks for sharing with other community members\.
118
+ .
119
+ .P
120
+ \fBknife cookbook site\fR commands provide an interface to the cookbook site\'s HTTP API\. For commands that read data from the API, no account is required\. In order to upload cookbooks using the \fBknife cookbook site share\fR command, you must create an account on the cookbook site and configure your credentials via command line option or in your knife configuration file\.
121
+ .
122
+ .SH "EXAMPLES"
123
+ Uploading cookbooks to the Opscode cookbooks site:
124
+ .
125
+ .IP "" 4
126
+ .
127
+ .nf
128
+
129
+ knife cookbook site share example Other \-k ~/\.chef/USERNAME\.pem \-u USERNAME
130
+ .
131
+ .fi
132
+ .
133
+ .IP "" 0
134
+ .
135
+ .SH "SEE ALSO"
136
+ \fBknife\-cookbook(1)\fR \fIhttp://community\.opscode\.com/cookbooks\fR
137
+ .
138
+ .SH "AUTHOR"
139
+ Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
140
+ .
141
+ .SH "DOCUMENTATION"
142
+ This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
143
+ .
144
+ .SH "CHEF"
145
+ Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
@@ -0,0 +1,345 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "KNIFE\-COOKBOOK" "1" "December 2011" "Chef 0.10.8" "Chef Manual"
5
+ .
6
+ .SH "NAME"
7
+ \fBknife\-cookbook\fR \- upload and manage chef cookbooks
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBknife\fR \fBcookbook\fR \fIsub\-command\fR \fI(options)\fR
11
+ .
12
+ .SH "SUB\-COMMANDS"
13
+ \fBknife cookbook\fR supports the following sub commands:
14
+ .
15
+ .SH "LIST"
16
+ \fBknife cookbook list\fR \fI(options)\fR
17
+ .
18
+ .TP
19
+ \fB\-a\fR, \fB\-\-all\fR
20
+ show all versions of a cookbook instead of just the most recent
21
+ .
22
+ .TP
23
+ \fB\-w\fR, \fB\-\-with\-uri\fR
24
+ show corresponding uris
25
+ .
26
+ .P
27
+ Lists the cookbooks available on the Chef server\.
28
+ .
29
+ .SH "SHOW"
30
+ \fBknife cookbook show cookbook [version] [part] [filename]\fR \fI(options)\fR
31
+ .
32
+ .TP
33
+ \fB\-f\fR, \fB\-\-fqdn fqdn\fR
34
+ the fqdn of the host to see the file for
35
+ .
36
+ .TP
37
+ \fB\-p\fR, \fB\-\-platform platform\fR
38
+ the platform to see the file for
39
+ .
40
+ .TP
41
+ \fB\-v\fR, \fB\-\-platform\-version version\fR
42
+ the platform version to see the file for
43
+ .
44
+ .TP
45
+ \fB\-w\fR, \fB\-\-with\-uri\fR
46
+ Show corresponding URIs
47
+ .
48
+ .P
49
+ show a particular part of a \fIcookbook\fR for the specified \fIversion\fR\. \fIpart\fR can be one of:
50
+ .
51
+ .IP "\(bu" 4
52
+ \fIattributes\fR
53
+ .
54
+ .IP "\(bu" 4
55
+ \fIdefinitions\fR
56
+ .
57
+ .IP "\(bu" 4
58
+ \fIfiles\fR
59
+ .
60
+ .IP "\(bu" 4
61
+ \fIlibraries\fR
62
+ .
63
+ .IP "\(bu" 4
64
+ \fIproviders\fR
65
+ .
66
+ .IP "\(bu" 4
67
+ \fIrecipes\fR
68
+ .
69
+ .IP "\(bu" 4
70
+ \fIresources\fR
71
+ .
72
+ .IP "\(bu" 4
73
+ \fItemplates\fR
74
+ .
75
+ .IP "" 0
76
+ .
77
+ .SH "UPLOAD"
78
+ \fBknife cookbook upload [cookbooks\.\.\.]\fR \fI(options)\fR
79
+ .
80
+ .TP
81
+ \fB\-a\fR, \fB\-\-all\fR
82
+ upload all cookbooks, rather than just a single cookbook
83
+ .
84
+ .TP
85
+ \fB\-o\fR, \fB\-\-cookbook\-path path:path\fR
86
+ a colon\-separated path to look for cookbooks in
87
+ .
88
+ .TP
89
+ \fB\-d\fR, \fB\-\-upload\-dependencies\fR
90
+ Uploads additional cookbooks that this cookbook lists in as dependencies in its metadata\.
91
+ .
92
+ .TP
93
+ \fB\-E\fR, \fB\-\-environment ENVIRONMENT\fR
94
+ An \fIENVIRONMENT\fR to apply the uploaded cookbooks to\. Specifying this option will cause knife to edit the \fIENVIRONMENT\fR to place a strict version constraint on the cookbook version(s) uploaded\.
95
+ .
96
+ .TP
97
+ \fB\-\-freeze\fR
98
+ Sets the frozen flag on the uploaded cookbook(s) Any future attempt to modify the cookbook without changing the version number will return an error unless \-\-force is specified\.
99
+ .
100
+ .TP
101
+ \fB\-\-force\fR
102
+ Overrides the frozen flag on a cookbook, allowing you to overwrite a cookbook version that has previously been uploaded with the \-\-freeze option\.
103
+ .
104
+ .P
105
+ Uploads one or more cookbooks from your local cookbook repository(ies) to the Chef Server\. Only files that don\'t yet exist on the server will be uploaded\.
106
+ .
107
+ .P
108
+ As the command parses the name args as 1\.\.n cookbook names:
109
+ .
110
+ .IP "" 4
111
+ .
112
+ .nf
113
+
114
+ `knife cookbook upload COOKBOOK COOKBOOK \.\.\.`
115
+ .
116
+ .fi
117
+ .
118
+ .IP "" 0
119
+ .
120
+ .P
121
+ works for one to many cookbooks\.
122
+ .
123
+ .SH "DOWNLOAD"
124
+ \fBknife cookbook download cookbook [version]\fR \fI(options)\fR
125
+ .
126
+ .TP
127
+ \fB\-d\fR, \fB\-\-dir download_directory\fR
128
+ the directory to download the cookbook into
129
+ .
130
+ .TP
131
+ \fB\-f\fR, \fB\-\-force\fR
132
+ overwrite an existing directory with the download
133
+ .
134
+ .TP
135
+ \fB\-n\fR, \fB\-\-latest\fR
136
+ download the latest version of the cookbook
137
+ .
138
+ .P
139
+ download a cookbook from the chef server\. if no version is specified and only one version exists on the server, that version will be downloaded\. if no version is specified and multiple versions are available on the server, you will be prompted for a version to download\.
140
+ .
141
+ .SH "DELETE"
142
+ \fBknife cookbook delete cookbook [version]\fR \fI(options)\fR
143
+ .
144
+ .TP
145
+ \fB\-a\fR, \fB\-\-all\fR
146
+ delete all versions
147
+ .
148
+ .TP
149
+ \fB\-p\fR, \fB\-\-purge\fR
150
+ purge files from backing store\. this will disable any cookbook that contains any of the same files as the cookbook being purged\.
151
+ .
152
+ .P
153
+ delete the specified \fIversion\fR of the named \fIcookbook\fR\. if no version is specified, and only one version exists on the server, that version will be deleted\. if multiple versions are available on the server, you will be prompted for a version to delete\.
154
+ .
155
+ .SH "BULK DELETE"
156
+ \fBknife cookbook bulk delete regex\fR \fI(options)\fR
157
+ .
158
+ .TP
159
+ \fB\-p\fR, \fB\-\-purge\fR
160
+ purge files from backing store\. this will disable any cookbook that contains any of the same files as the cookbook being purged\.
161
+ .
162
+ .P
163
+ delete cookbooks on the chef server based on a regular expression\. the regular expression (\fIregex\fR) should be in quotes, not in //\'s\.
164
+ .
165
+ .SH "COOKBOOK CREATE"
166
+ \fBknife cookbook create cookbook\fR \fI(options)\fR
167
+ .
168
+ .TP
169
+ \fB\-o\fR, \fB\-\-cookbook\-path path\fR
170
+ the directory where the cookbook will be created
171
+ .
172
+ .TP
173
+ \fB\-r\fR, \fB\-\-readme\-format format\fR
174
+ format of the readme file md, mkd, txt, rdoc
175
+ .
176
+ .TP
177
+ \fB\-c\fR, \fB\-\-copyright copyright\fR
178
+ name of copyright holder
179
+ .
180
+ .TP
181
+ \fB\-i\fR, \fB\-\-license license\fR
182
+ license for cookbook, apachev2 or none
183
+ .
184
+ .TP
185
+ \fB\-e\fR, \fB\-\-email email\fR
186
+ email address of cookbook maintainer
187
+ .
188
+ .P
189
+ this is a helper command that creates a new cookbook directory in the \fBcookbook_path\fR\. the following directories and files are created for the named cookbook\.
190
+ .
191
+ .IP "\(bu" 4
192
+ cookbook/attributes
193
+ .
194
+ .IP "\(bu" 4
195
+ cookbook/definitions
196
+ .
197
+ .IP "\(bu" 4
198
+ cookbook/files/default
199
+ .
200
+ .IP "\(bu" 4
201
+ cookbook/libraries
202
+ .
203
+ .IP "\(bu" 4
204
+ cookbook/metadata\.rb
205
+ .
206
+ .IP "\(bu" 4
207
+ cookbook/providers
208
+ .
209
+ .IP "\(bu" 4
210
+ cookbook/readme\.md
211
+ .
212
+ .IP "\(bu" 4
213
+ cookbook/recipes/default\.rb
214
+ .
215
+ .IP "\(bu" 4
216
+ cookbook/resources
217
+ .
218
+ .IP "\(bu" 4
219
+ cookbook/templates/default
220
+ .
221
+ .IP "" 0
222
+ .
223
+ .P
224
+ supported readme formats are \'md\' (default), \'mkd\', \'txt\', \'rdoc\'\. the readme file will be written with the specified extension and a set of helpful starting headers\.
225
+ .
226
+ .P
227
+ specify \fB\-c\fR or \fB\-\-copyright\fR with the name of the copyright holder as your name or your company/organization name in a quoted string\. if this value is not specified an all\-caps string \fByour_company_name\fR is used which can be easily changed with find/replace\.
228
+ .
229
+ .P
230
+ specify \fB\-i\fR or \fB\-\-license\fR with the license that the cookbook is distributed under for sharing with other people or posting to the opscode cookbooks site\. be aware of the licenses of files you put inside the cookbook and follow any restrictions they describe\. when using \fBnone\fR (default) or \fBapachev2\fR, comment header text and metadata file are pre\-filled\. the \fBnone\fR license will be treated as non\-redistributable\.
231
+ .
232
+ .P
233
+ specify \fB\-e\fR or \fB\-\-email\fR with the email address of the cookbook\'s maintainer\. if this value is not specified, an all\-caps string \fByour_email\fR is used which can easily be changed with find/replace\.
234
+ .
235
+ .P
236
+ the cookbook copyright, license, email and readme_format settings can be filled in the \fBknife\.rb\fR, for example with default values:
237
+ .
238
+ .IP "" 4
239
+ .
240
+ .nf
241
+
242
+ cookbook_copyright "your_company_name"
243
+ cookbook_license "none"
244
+ cookbook_email "your_email"
245
+ readme_format "md"
246
+ .
247
+ .fi
248
+ .
249
+ .IP "" 0
250
+ .
251
+ .SH "METADATA"
252
+ \fBknife cookbook metadata cookbook\fR \fI(options)\fR
253
+ .
254
+ .TP
255
+ \fB\-a\fR, \fB\-\-all\fR
256
+ generate metadata for all cookbooks, rather than just a single cookbook
257
+ .
258
+ .TP
259
+ \fB\-o\fR, \fB\-\-cookbook\-path path:path\fR
260
+ a colon\-separated path to look for cookbooks in
261
+ .
262
+ .P
263
+ generate cookbook metadata for the named \fIcookbook\fR\. the \fIpath\fR used here specifies where the cookbooks directory is located and corresponds to the \fBcookbook_path\fR configuration option\.
264
+ .
265
+ .SH "METADATA FROM FILE"
266
+ \fBknife cookbook metadata from file\fR \fI(options)\fR
267
+ .
268
+ .P
269
+ load the cookbook metadata from a specified file\.
270
+ .
271
+ .SH "TEST"
272
+ \fBknife cookbook test [cookbooks\.\.\.]\fR \fI(options)\fR
273
+ .
274
+ .TP
275
+ \fB\-a\fR, \fB\-\-all\fR
276
+ test all cookbooks, rather than just a single cookbook
277
+ .
278
+ .TP
279
+ \fB\-o\fR, \fB\-\-cookbook\-path path:path\fR
280
+ a colon\-separated path to look for cookbooks in
281
+ .
282
+ .P
283
+ test the specified cookbooks for syntax errors\. this uses the built\-in ruby syntax checking option for files in the cookbook ending in \fB\.rb\fR, and the erb syntax check for files ending in \fB\.erb\fR (templates)\.
284
+ .
285
+ .SH "RECIPE LIST"
286
+ \fBknife recipe list [PATTERN]\fR
287
+ .
288
+ .P
289
+ List available recipes from the server\. Specify \fIPATTERN\fR as a regular expression to limit the results\.
290
+ .
291
+ .SH "DESCRIPTION"
292
+ Cookbooks are the fundamental unit of distribution in Chef\. They encapsulate all recipes of resources and assets used to configure a particular aspect of the infrastructure\. The following sub\-commands can be used to manipulate the cookbooks stored on the Chef Server\.
293
+ .
294
+ .P
295
+ On disk, cookbooks are directories with a defined structure\. The following directories may appear within a cookbook:
296
+ .
297
+ .TP
298
+ COOKBOOK/attributes/
299
+ Ruby files that define default parameters to be used in recipes
300
+ .
301
+ .TP
302
+ COOKBOOK/definitions/
303
+ Ruby files that contain \fIresource definitions\fR
304
+ .
305
+ .TP
306
+ COOKBOOK/files/SPECIFICITY
307
+ Files of arbitrary type\. These files may be downloaded by chef\-client(8) when configuring a host\.
308
+ .
309
+ .TP
310
+ COOKBOOK/libraries/
311
+ Ruby files that contain library code needed for recipes
312
+ .
313
+ .TP
314
+ COOKBOOK/providers/
315
+ Ruby files that contain Lightweight Provider definitions
316
+ .
317
+ .TP
318
+ COOKBOOK/recipes/
319
+ Ruby files that use Chef\'s recipe DSL to describe the desired configuration of a system
320
+ .
321
+ .TP
322
+ COOKBOOK/resources/
323
+ Ruby files that contain Lightweight Resource definitions
324
+ .
325
+ .TP
326
+ COOKBOOK/templates/SPECIFICITY
327
+ ERuby (ERb) template files\. These are referenced by \fIrecipes\fR and evaluated to dynamically generate configuration files\.
328
+ .
329
+ .P
330
+ \fBSPECIFICITY\fR is a feature of \fIfiles\fR and \fItemplates\fR that allow you to specify alternate files to be used on a specific OS platform or host\. The default specificity setting is \fIdefault\fR, that is files in \fBCOOKBOOK/files/default\fR will be used when a more specific copy is not available\. Further documentation for this feature is available on the Chef wiki: \fIhttp://wiki\.opscode\.com/display/chef/File+Distribution#FileDistribution\-FileSpecificity\fR
331
+ .
332
+ .P
333
+ Cookbooks also contain a metadata file that defines various properties of the cookbook\. The most important of these are the \fIversion\fR and the \fIdependencies\fR\. The \fIversion\fR is used in combination with environments to select which copy of a given cookbook is distributed to a node\. The \fIdependencies\fR are used by the server to determine which additional cookbooks must be distributed to a given host when it requires a cookbook\.
334
+ .
335
+ .SH "SEE ALSO"
336
+ \fBknife\-environment(1)\fR \fBknife\-cookbook\-site(1)\fR \fIhttp://wiki\.opscode\.com/display/chef/Cookbooks\fR \fIhttp://wiki\.opscode\.com/display/chef/Metadata\fR
337
+ .
338
+ .SH "AUTHOR"
339
+ Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
340
+ .
341
+ .SH "DOCUMENTATION"
342
+ This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
343
+ .
344
+ .SH "CHEF"
345
+ Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR