chef 12.10.24 → 12.11.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (523) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +3 -38
  3. data/Gemfile +6 -11
  4. data/LICENSE +201 -201
  5. data/README.md +11 -1
  6. data/VERSION +1 -1
  7. data/acceptance/.bundle/config +2 -0
  8. data/acceptance/Gemfile.lock +27 -26
  9. data/acceptance/basics/.kitchen/logs/chef-current-install-ubuntu-1404.log +2 -0
  10. data/acceptance/basics/.kitchen/logs/kitchen.log +3 -0
  11. data/acceptance/data-collector/.acceptance/acceptance-cookbook/.gitignore +2 -0
  12. data/acceptance/data-collector/.acceptance/acceptance-cookbook/metadata.rb +3 -0
  13. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/destroy.rb +2 -0
  14. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/provision.rb +2 -0
  15. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/verify.rb +2 -0
  16. data/acceptance/data-collector/.acceptance/data-collector-test/.gitignore +16 -0
  17. data/acceptance/data-collector/.acceptance/data-collector-test/Berksfile +3 -0
  18. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb +85 -0
  19. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/apigemfile +3 -0
  20. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-both-mode.rb +4 -0
  21. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-client-mode.rb +4 -0
  22. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-no-endpoint.rb +2 -0
  23. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-solo-mode.rb +4 -0
  24. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/config.ru +2 -0
  25. data/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb +7 -0
  26. data/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb +38 -0
  27. data/acceptance/data-collector/.kitchen.yml +9 -0
  28. data/acceptance/data-collector/Berksfile +3 -0
  29. data/acceptance/data-collector/Berksfile.lock +6 -0
  30. data/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb +251 -0
  31. data/acceptance/fips/.kitchen/logs/fips-integration-centos-6.log +3 -0
  32. data/acceptance/fips/.kitchen/logs/fips-integration-windows-2012r2.log +3 -0
  33. data/acceptance/fips/.kitchen/logs/fips-unit-functional-centos-6.log +3 -0
  34. data/acceptance/fips/.kitchen/logs/fips-unit-functional-windows-2012r2.log +3 -0
  35. data/acceptance/fips/.kitchen/logs/kitchen.log +6 -0
  36. data/acceptance/fips/test/integration/fips-integration/serverspec/fips-integration_spec.rb +2 -1
  37. data/acceptance/top-cookbooks/.kitchen.docker.yml +1 -4
  38. data/acceptance/trivial/.kitchen/logs/chef-current-install-windows-2012r2.log +2 -0
  39. data/acceptance/trivial/.kitchen/logs/kitchen.log +3 -0
  40. data/acceptance/windows-service/.kitchen/logs/chef-windows-service-windows-2012r2.log +2 -0
  41. data/acceptance/windows-service/.kitchen/logs/kitchen.log +3 -0
  42. data/bin/chef-apply +0 -0
  43. data/bin/chef-client +0 -0
  44. data/bin/chef-shell +0 -0
  45. data/bin/chef-solo +0 -0
  46. data/bin/knife +0 -0
  47. data/chef.gemspec +1 -0
  48. data/distro/common/html/_sources/ctl_chef_client.txt +35 -35
  49. data/distro/common/html/_sources/ctl_chef_server.txt +341 -341
  50. data/distro/common/html/_sources/ctl_chef_shell.txt +15 -15
  51. data/distro/common/html/_sources/ctl_chef_solo.txt +25 -25
  52. data/distro/common/html/_sources/index.txt +135 -135
  53. data/distro/common/html/_sources/knife.txt +74 -74
  54. data/distro/common/html/_sources/knife_bootstrap.txt +56 -56
  55. data/distro/common/html/_sources/knife_client.txt +150 -150
  56. data/distro/common/html/_sources/knife_common_options.txt +6 -6
  57. data/distro/common/html/_sources/knife_configure.txt +29 -29
  58. data/distro/common/html/_sources/knife_cookbook.txt +236 -236
  59. data/distro/common/html/_sources/knife_cookbook_site.txt +157 -157
  60. data/distro/common/html/_sources/knife_data_bag.txt +159 -159
  61. data/distro/common/html/_sources/knife_delete.txt +26 -26
  62. data/distro/common/html/_sources/knife_deps.txt +61 -61
  63. data/distro/common/html/_sources/knife_diff.txt +34 -34
  64. data/distro/common/html/_sources/knife_download.txt +44 -44
  65. data/distro/common/html/_sources/knife_edit.txt +26 -26
  66. data/distro/common/html/_sources/knife_environment.txt +158 -158
  67. data/distro/common/html/_sources/knife_exec.txt +47 -47
  68. data/distro/common/html/_sources/knife_index_rebuild.txt +20 -20
  69. data/distro/common/html/_sources/knife_list.txt +33 -33
  70. data/distro/common/html/_sources/knife_node.txt +250 -250
  71. data/distro/common/html/_sources/knife_raw.txt +35 -35
  72. data/distro/common/html/_sources/knife_recipe_list.txt +23 -23
  73. data/distro/common/html/_sources/knife_role.txt +157 -157
  74. data/distro/common/html/_sources/knife_search.txt +53 -53
  75. data/distro/common/html/_sources/knife_serve.txt +18 -18
  76. data/distro/common/html/_sources/knife_show.txt +26 -26
  77. data/distro/common/html/_sources/knife_ssh.txt +43 -43
  78. data/distro/common/html/_sources/knife_ssl_check.txt +41 -41
  79. data/distro/common/html/_sources/knife_ssl_fetch.txt +41 -41
  80. data/distro/common/html/_sources/knife_status.txt +37 -37
  81. data/distro/common/html/_sources/knife_tag.txt +69 -69
  82. data/distro/common/html/_sources/knife_upload.txt +49 -49
  83. data/distro/common/html/_sources/knife_user.txt +127 -127
  84. data/distro/common/html/_sources/knife_using.txt +43 -43
  85. data/distro/common/html/_sources/knife_xargs.txt +30 -30
  86. data/distro/common/html/_static/guide.css +504 -504
  87. data/distro/common/html/_static/pygments.css +61 -61
  88. data/distro/common/html/_static/underscore.js +31 -31
  89. data/distro/common/html/ctl_chef_client.html +269 -269
  90. data/distro/common/html/ctl_chef_server.html +727 -727
  91. data/distro/common/html/ctl_chef_shell.html +162 -162
  92. data/distro/common/html/ctl_chef_solo.html +193 -193
  93. data/distro/common/html/index.html +201 -201
  94. data/distro/common/html/knife.html +169 -169
  95. data/distro/common/html/knife_bootstrap.html +284 -284
  96. data/distro/common/html/knife_client.html +284 -284
  97. data/distro/common/html/knife_common_options.html +95 -95
  98. data/distro/common/html/knife_configure.html +104 -104
  99. data/distro/common/html/knife_cookbook.html +486 -486
  100. data/distro/common/html/knife_data_bag.html +373 -373
  101. data/distro/common/html/knife_delete.html +92 -92
  102. data/distro/common/html/knife_deps.html +142 -142
  103. data/distro/common/html/knife_diff.html +122 -122
  104. data/distro/common/html/knife_download.html +144 -144
  105. data/distro/common/html/knife_edit.html +88 -88
  106. data/distro/common/html/knife_environment.html +325 -325
  107. data/distro/common/html/knife_exec.html +219 -219
  108. data/distro/common/html/knife_index_rebuild.html +82 -82
  109. data/distro/common/html/knife_list.html +113 -113
  110. data/distro/common/html/knife_node.html +457 -457
  111. data/distro/common/html/knife_raw.html +109 -109
  112. data/distro/common/html/knife_recipe_list.html +90 -90
  113. data/distro/common/html/knife_role.html +294 -294
  114. data/distro/common/html/knife_search.html +202 -202
  115. data/distro/common/html/knife_serve.html +78 -78
  116. data/distro/common/html/knife_show.html +103 -103
  117. data/distro/common/html/knife_ssh.html +176 -176
  118. data/distro/common/html/knife_ssl_check.html +150 -150
  119. data/distro/common/html/knife_ssl_fetch.html +150 -150
  120. data/distro/common/html/knife_status.html +143 -143
  121. data/distro/common/html/knife_tag.html +137 -137
  122. data/distro/common/html/knife_upload.html +152 -152
  123. data/distro/common/html/knife_user.html +241 -241
  124. data/distro/common/html/knife_using.html +209 -209
  125. data/distro/common/html/knife_xargs.html +121 -121
  126. data/distro/common/html/search.html +81 -81
  127. data/distro/common/man/man1/README.md +58 -58
  128. data/distro/common/man/man1/chef-shell.1 +194 -194
  129. data/distro/common/man/man1/knife-bootstrap.1 +215 -215
  130. data/distro/common/man/man1/knife-client.1 +443 -443
  131. data/distro/common/man/man1/knife-configure.1 +161 -161
  132. data/distro/common/man/man1/knife-cookbook.1 +770 -770
  133. data/distro/common/man/man1/knife-data-bag.1 +617 -617
  134. data/distro/common/man/man1/knife-delete.1 +127 -127
  135. data/distro/common/man/man1/knife-deps.1 +246 -246
  136. data/distro/common/man/man1/knife-diff.1 +226 -226
  137. data/distro/common/man/man1/knife-download.1 +258 -258
  138. data/distro/common/man/man1/knife-edit.1 +121 -121
  139. data/distro/common/man/man1/knife-environment.1 +508 -508
  140. data/distro/common/man/man1/knife-exec.1 +362 -362
  141. data/distro/common/man/man1/knife-index-rebuild.1 +63 -63
  142. data/distro/common/man/man1/knife-list.1 +174 -174
  143. data/distro/common/man/man1/knife-node.1 +716 -716
  144. data/distro/common/man/man1/knife-raw.1 +172 -172
  145. data/distro/common/man/man1/knife-recipe-list.1 +85 -85
  146. data/distro/common/man/man1/knife-role.1 +426 -426
  147. data/distro/common/man/man1/knife-search.1 +359 -359
  148. data/distro/common/man/man1/knife-serve.1 +109 -109
  149. data/distro/common/man/man1/knife-show.1 +160 -160
  150. data/distro/common/man/man1/knife-ssh.1 +284 -284
  151. data/distro/common/man/man1/knife-ssl-check.1 +207 -207
  152. data/distro/common/man/man1/knife-ssl-fetch.1 +207 -207
  153. data/distro/common/man/man1/knife-status.1 +234 -234
  154. data/distro/common/man/man1/knife-tag.1 +189 -189
  155. data/distro/common/man/man1/knife-upload.1 +280 -280
  156. data/distro/common/man/man1/knife-user.1 +356 -356
  157. data/distro/common/man/man1/knife-xargs.1 +189 -189
  158. data/distro/common/man/man1/knife.1 +332 -332
  159. data/distro/common/man/man8/chef-apply.8 +86 -86
  160. data/distro/common/man/man8/chef-client.8 +398 -398
  161. data/distro/common/man/man8/chef-solo.8 +260 -260
  162. data/distro/common/markdown/README +3 -3
  163. data/lib/chef/application.rb +14 -9
  164. data/lib/chef/application/apply.rb +5 -5
  165. data/lib/chef/application/client.rb +3 -3
  166. data/lib/chef/application/exit_code.rb +226 -0
  167. data/lib/chef/application/solo.rb +37 -7
  168. data/lib/chef/application/windows_service.rb +3 -3
  169. data/lib/chef/chef_fs/command_line.rb +7 -0
  170. data/lib/chef/chef_fs/config.rb +1 -1
  171. data/lib/chef/chef_fs/data_handler/data_handler_base.rb +11 -10
  172. data/lib/chef/chef_fs/data_handler/environment_data_handler.rb +1 -1
  173. data/lib/chef/chef_fs/data_handler/role_data_handler.rb +1 -1
  174. data/lib/chef/chef_fs/file_system.rb +15 -13
  175. data/lib/chef/chef_fs/file_system/base_fs_object.rb +4 -0
  176. data/lib/chef/chef_fs/file_system/chef_server/acl_dir.rb +1 -1
  177. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +9 -0
  178. data/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb +6 -0
  179. data/lib/chef/chef_fs/file_system/chef_server/data_bag_entry.rb +19 -0
  180. data/lib/chef/chef_fs/file_system/chef_server/environments_dir.rb +1 -1
  181. data/lib/chef/chef_fs/file_system/chef_server/nodes_dir.rb +1 -1
  182. data/lib/chef/chef_fs/file_system/chef_server/org_entry.rb +4 -0
  183. data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +4 -0
  184. data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +4 -0
  185. data/lib/chef/chef_fs/file_system/chef_server/policy_revision_entry.rb +4 -0
  186. data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +3 -3
  187. data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +15 -4
  188. data/lib/chef/chef_fs/file_system/exceptions.rb +7 -0
  189. data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +2 -2
  190. data/lib/chef/chef_fs/file_system/nonexistent_fs_object.rb +0 -4
  191. data/lib/chef/chef_fs/file_system/repository/acl.rb +7 -0
  192. data/lib/chef/chef_fs/file_system/repository/acls_sub_dir.rb +0 -4
  193. data/lib/chef/chef_fs/file_system/repository/base_file.rb +36 -4
  194. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +4 -0
  195. data/lib/chef/chef_fs/file_system/repository/client_keys_sub_dir.rb +0 -4
  196. data/lib/chef/chef_fs/file_system/repository/clients_dir.rb +0 -3
  197. data/lib/chef/chef_fs/file_system/repository/containers_dir.rb +0 -4
  198. data/lib/chef/chef_fs/file_system/repository/directory.rb +4 -0
  199. data/lib/chef/chef_fs/file_system/repository/environments_dir.rb +0 -4
  200. data/lib/chef/chef_fs/file_system/repository/groups_dir.rb +0 -4
  201. data/lib/chef/chef_fs/file_system/repository/nodes_dir.rb +0 -4
  202. data/lib/chef/chef_fs/file_system/repository/policy_groups_dir.rb +0 -4
  203. data/lib/chef/chef_fs/file_system/repository/roles_dir.rb +0 -4
  204. data/lib/chef/chef_fs/file_system/repository/users_dir.rb +0 -4
  205. data/lib/chef/client.rb +11 -3
  206. data/lib/chef/config_fetcher.rb +4 -4
  207. data/lib/chef/cookbook/gem_installer.rb +1 -0
  208. data/lib/chef/cookbook/synchronizer.rb +1 -1
  209. data/lib/chef/data_bag.rb +2 -2
  210. data/lib/chef/data_bag_item.rb +1 -1
  211. data/lib/chef/data_collector.rb +345 -0
  212. data/lib/chef/data_collector/messages.rb +125 -0
  213. data/lib/chef/data_collector/messages/helpers.rb +161 -0
  214. data/lib/chef/data_collector/resource_report.rb +84 -0
  215. data/lib/chef/decorator.rb +81 -0
  216. data/lib/chef/decorator/lazy.rb +60 -0
  217. data/lib/chef/decorator/lazy_array.rb +59 -0
  218. data/lib/chef/deprecation/provider/remote_file.rb +1 -1
  219. data/lib/chef/dsl/core.rb +19 -11
  220. data/lib/chef/dsl/platform_introspection.rb +16 -0
  221. data/lib/chef/dsl/recipe.rb +15 -9
  222. data/lib/chef/dsl/universal.rb +50 -0
  223. data/lib/chef/environment.rb +2 -2
  224. data/lib/chef/exceptions.rb +19 -4
  225. data/lib/chef/handler.rb +33 -0
  226. data/lib/chef/knife/cookbook_show.rb +6 -10
  227. data/lib/chef/knife/cookbook_site_install.rb +7 -2
  228. data/lib/chef/knife/help_topics.rb +4 -4
  229. data/lib/chef/knife/list.rb +1 -2
  230. data/lib/chef/knife/ssl_check.rb +2 -1
  231. data/lib/chef/monkey_patches/win32/registry.rb +11 -0
  232. data/lib/chef/nil_argument.rb +3 -3
  233. data/lib/chef/node.rb +2 -2
  234. data/lib/chef/platform/rebooter.rb +13 -2
  235. data/lib/chef/policy_builder/dynamic.rb +1 -1
  236. data/lib/chef/policy_builder/expand_node_object.rb +3 -3
  237. data/lib/chef/policy_builder/policyfile.rb +1 -1
  238. data/lib/chef/provider/git.rb +43 -41
  239. data/lib/chef/provider/lwrp_base.rb +0 -1
  240. data/lib/chef/provider/osx_profile.rb +2 -3
  241. data/lib/chef/provider/package.rb +51 -13
  242. data/lib/chef/provider/package/apt.rb +97 -103
  243. data/lib/chef/provider/package/chocolatey.rb +9 -10
  244. data/lib/chef/provider/package/dpkg.rb +2 -2
  245. data/lib/chef/provider/package/portage.rb +1 -1
  246. data/lib/chef/provider/package/rubygems.rb +8 -12
  247. data/lib/chef/provider/package/yum.rb +4 -959
  248. data/lib/chef/provider/package/yum/rpm_utils.rb +642 -0
  249. data/lib/chef/provider/package/{yum-dump.py → yum/yum-dump.py} +0 -0
  250. data/lib/chef/provider/package/yum/yum_cache.rb +376 -0
  251. data/lib/chef/provider/resource_update.rb +52 -52
  252. data/lib/chef/provider/systemd_unit.rb +238 -0
  253. data/lib/chef/providers.rb +1 -0
  254. data/lib/chef/reserved_names.rb +9 -9
  255. data/lib/chef/resource.rb +2 -7
  256. data/lib/chef/resource/file.rb +6 -1
  257. data/lib/chef/resource/systemd_unit.rb +63 -0
  258. data/lib/chef/resources.rb +1 -0
  259. data/lib/chef/sandbox.rb +20 -20
  260. data/lib/chef/shell/shell_session.rb +3 -3
  261. data/lib/chef/version.rb +1 -1
  262. data/lib/chef/win32/system.rb +0 -0
  263. data/spec/data/apt/chef-integration-test-1.0/debian/changelog +5 -5
  264. data/spec/data/apt/chef-integration-test-1.0/debian/compat +1 -1
  265. data/spec/data/apt/chef-integration-test-1.0/debian/control +13 -13
  266. data/spec/data/apt/chef-integration-test-1.0/debian/files +1 -1
  267. data/spec/data/apt/chef-integration-test-1.0/debian/rules +13 -13
  268. data/spec/data/apt/chef-integration-test-1.0/debian/source/format +1 -1
  269. data/spec/data/apt/chef-integration-test-1.1/debian/changelog +11 -11
  270. data/spec/data/apt/chef-integration-test-1.1/debian/compat +1 -1
  271. data/spec/data/apt/chef-integration-test-1.1/debian/control +13 -13
  272. data/spec/data/apt/chef-integration-test-1.1/debian/files +1 -1
  273. data/spec/data/apt/chef-integration-test-1.1/debian/rules +13 -13
  274. data/spec/data/apt/chef-integration-test-1.1/debian/source/format +1 -1
  275. data/spec/data/apt/chef-integration-test2-1.0/debian/rules +0 -0
  276. data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +22 -22
  277. data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +22 -22
  278. data/spec/data/apt/var/www/apt/conf/distributions +7 -7
  279. data/spec/data/apt/var/www/apt/conf/incoming +4 -4
  280. data/spec/data/apt/var/www/apt/conf/pulls +3 -3
  281. data/spec/data/apt/var/www/apt/db/version +4 -4
  282. data/spec/data/apt/var/www/apt/dists/sid/Release +19 -19
  283. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +16 -16
  284. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +5 -5
  285. data/spec/data/bootstrap/encrypted_data_bag_secret +1 -1
  286. data/spec/data/bootstrap/no_proxy.erb +2 -2
  287. data/spec/data/bootstrap/secret.erb +9 -9
  288. data/spec/data/bootstrap/test-hints.erb +12 -12
  289. data/spec/data/bootstrap/test.erb +1 -1
  290. data/spec/data/cb_version_cookbooks/tatft/README.rdoc +2 -2
  291. data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +1 -1
  292. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +1 -1
  293. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +1 -1
  294. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +1 -1
  295. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +1 -1
  296. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +1 -1
  297. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +1 -1
  298. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +1 -1
  299. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +1 -1
  300. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +1 -1
  301. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +1 -1
  302. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +1 -1
  303. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +1 -1
  304. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +1 -1
  305. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +1 -1
  306. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +1 -1
  307. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +1 -1
  308. data/spec/data/config.rb +6 -6
  309. data/spec/data/cookbooks/angrybash/metadata.rb +2 -2
  310. data/spec/data/cookbooks/angrybash/recipes/default.rb +8 -8
  311. data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +2 -2
  312. data/spec/data/cookbooks/apache2/metadata.rb +2 -2
  313. data/spec/data/cookbooks/apache2/recipes/default.rb +2 -2
  314. data/spec/data/cookbooks/borken/metadata.rb +2 -2
  315. data/spec/data/cookbooks/borken/recipes/default.rb +1 -1
  316. data/spec/data/cookbooks/borken/templates/default/borken.erb +1 -1
  317. data/spec/data/cookbooks/chefignore +8 -8
  318. data/spec/data/cookbooks/ignorken/files/default/not_me.rb +2 -2
  319. data/spec/data/cookbooks/ignorken/metadata.rb +2 -2
  320. data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +1 -1
  321. data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +2 -2
  322. data/spec/data/cookbooks/java/files/default/java.response +1 -1
  323. data/spec/data/cookbooks/java/metadata.rb +2 -2
  324. data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +4 -4
  325. data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +8 -8
  326. data/spec/data/cookbooks/openldap/attributes/default.rb +16 -16
  327. data/spec/data/cookbooks/openldap/attributes/smokey.rb +1 -1
  328. data/spec/data/cookbooks/openldap/definitions/client.rb +5 -5
  329. data/spec/data/cookbooks/openldap/definitions/server.rb +5 -5
  330. data/spec/data/cookbooks/openldap/files/default/.dotfile +1 -1
  331. data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +1 -1
  332. data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +2 -2
  333. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +2 -2
  334. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +2 -2
  335. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +1 -1
  336. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +2 -2
  337. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +2 -2
  338. data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +3 -3
  339. data/spec/data/cookbooks/openldap/libraries/openldap.rb +4 -4
  340. data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +3 -3
  341. data/spec/data/cookbooks/openldap/metadata.rb +8 -8
  342. data/spec/data/cookbooks/openldap/recipes/default.rb +4 -4
  343. data/spec/data/cookbooks/openldap/recipes/gigantor.rb +3 -3
  344. data/spec/data/cookbooks/openldap/recipes/one.rb +15 -15
  345. data/spec/data/cookbooks/openldap/recipes/return.rb +2 -2
  346. data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +1 -1
  347. data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +1 -1
  348. data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +4 -4
  349. data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +1 -1
  350. data/spec/data/cookbooks/openldap/templates/default/test.erb +1 -1
  351. data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +1 -1
  352. data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +4 -4
  353. data/spec/data/cookbooks/preseed/metadata.rb +2 -2
  354. data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +1 -1
  355. data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +1 -1
  356. data/spec/data/definitions/test.rb +4 -4
  357. data/spec/data/environment-config.rb +4 -4
  358. data/spec/data/file-providers-method-snapshot-chef-11-4.json +127 -127
  359. data/spec/data/fileedit/hosts +4 -4
  360. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +4 -4
  361. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +13 -13
  362. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +4 -4
  363. data/spec/data/kitchen/chefignore +6 -6
  364. data/spec/data/kitchen/openldap/attributes/default.rb +3 -3
  365. data/spec/data/kitchen/openldap/attributes/robinson.rb +2 -2
  366. data/spec/data/kitchen/openldap/definitions/client.rb +3 -3
  367. data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +2 -2
  368. data/spec/data/kitchen/openldap/recipes/gigantor.rb +2 -2
  369. data/spec/data/kitchen/openldap/recipes/ignoreme.rb +2 -2
  370. data/spec/data/kitchen/openldap/recipes/woot.rb +3 -3
  371. data/spec/data/knife_subcommand/test_explicit_category.rb +6 -6
  372. data/spec/data/knife_subcommand/test_name_mapping.rb +4 -4
  373. data/spec/data/knife_subcommand/test_yourself.rb +21 -21
  374. data/spec/data/lwrp/providers/inline_compiler.rb +26 -26
  375. data/spec/data/lwrp/providers/monkey_name_printer.rb +5 -5
  376. data/spec/data/lwrp/providers/paint_drying_watcher.rb +7 -7
  377. data/spec/data/lwrp/providers/thumb_twiddler.rb +7 -7
  378. data/spec/data/lwrp/resources/foo.rb +4 -4
  379. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +1 -1
  380. data/spec/data/lwrp_override/providers/buck_passer.rb +5 -5
  381. data/spec/data/mac_users/10.7-8.plist.xml +559 -559
  382. data/spec/data/mac_users/10.7-8.shadow.xml +11 -11
  383. data/spec/data/mac_users/10.7.plist.xml +559 -559
  384. data/spec/data/mac_users/10.7.shadow.xml +11 -11
  385. data/spec/data/mac_users/10.8.plist.xml +559 -559
  386. data/spec/data/mac_users/10.8.shadow.xml +21 -21
  387. data/spec/data/mac_users/10.9.plist.xml +560 -560
  388. data/spec/data/mac_users/10.9.shadow.xml +21 -21
  389. data/spec/data/metadata/quick_start/metadata.rb +19 -19
  390. data/spec/data/nodes/default.rb +15 -15
  391. data/spec/data/nodes/test.example.com.rb +17 -17
  392. data/spec/data/nodes/test.rb +15 -15
  393. data/spec/data/null_config.rb +1 -1
  394. data/spec/data/object_loader/environments/test.json +7 -7
  395. data/spec/data/object_loader/environments/test.rb +2 -2
  396. data/spec/data/object_loader/environments/test_json_class.json +8 -8
  397. data/spec/data/object_loader/nodes/test.json +7 -7
  398. data/spec/data/object_loader/nodes/test.rb +2 -2
  399. data/spec/data/object_loader/nodes/test_json_class.json +8 -8
  400. data/spec/data/object_loader/roles/test.json +7 -7
  401. data/spec/data/object_loader/roles/test.rb +2 -2
  402. data/spec/data/object_loader/roles/test_json_class.json +8 -8
  403. data/spec/data/partial_one.erb +1 -1
  404. data/spec/data/recipes/test.rb +7 -7
  405. data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +4 -4
  406. data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +1 -1
  407. data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +2 -2
  408. data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +2 -2
  409. data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +1 -1
  410. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -1
  411. data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +3 -3
  412. data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +1 -1
  413. data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +2 -2
  414. data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +2 -2
  415. data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +1 -1
  416. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -1
  417. data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +2 -2
  418. data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +2 -2
  419. data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +3 -3
  420. data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +1 -1
  421. data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +2 -2
  422. data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +1 -1
  423. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -1
  424. data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +3 -3
  425. data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +1 -1
  426. data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +2 -2
  427. data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +1 -1
  428. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -1
  429. data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +3 -3
  430. data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +1 -1
  431. data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +1 -1
  432. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -1
  433. data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +3 -3
  434. data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +1 -1
  435. data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +2 -2
  436. data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +2 -2
  437. data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +1 -1
  438. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +1 -1
  439. data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +3 -3
  440. data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +1 -1
  441. data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +1 -1
  442. data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +3 -3
  443. data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +1 -1
  444. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -1
  445. data/spec/data/run_context/cookbooks/test/attributes/george.rb +1 -1
  446. data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +9 -9
  447. data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +5 -5
  448. data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +1 -1
  449. data/spec/data/run_context/cookbooks/test/providers/provider.rb +1 -1
  450. data/spec/data/run_context/cookbooks/test/recipes/default.rb +5 -5
  451. data/spec/data/run_context/cookbooks/test/recipes/one.rb +7 -7
  452. data/spec/data/run_context/cookbooks/test/recipes/two.rb +7 -7
  453. data/spec/data/run_context/cookbooks/test/resources/resource.rb +1 -1
  454. data/spec/data/run_context/nodes/run_context.rb +5 -5
  455. data/spec/data/search_queries_to_transform.txt +98 -98
  456. data/spec/data/shef-config.rb +10 -10
  457. data/spec/data/ssl/5e707473.0 +18 -18
  458. data/spec/data/ssl/chef-rspec.cert +27 -27
  459. data/spec/data/ssl/chef-rspec.key +27 -27
  460. data/spec/data/ssl/key.pem +15 -15
  461. data/spec/data/ssl/private_key.pem +27 -27
  462. data/spec/data/ssl/private_key_with_whitespace.pem +32 -32
  463. data/spec/data/standalone_cookbook/chefignore +9 -9
  464. data/spec/data/standalone_cookbook/recipes/default.rb +2 -2
  465. data/spec/data/trusted_certs/example.crt +22 -22
  466. data/spec/data/trusted_certs/intermediate.pem +27 -27
  467. data/spec/data/trusted_certs/root.pem +22 -22
  468. data/spec/functional/assets/chefinittest +34 -34
  469. data/spec/functional/assets/testchefsubsys +10 -10
  470. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +0 -0
  471. data/spec/functional/resource/aix_service_spec.rb +0 -0
  472. data/spec/functional/resource/aixinit_service_spec.rb +0 -0
  473. data/spec/functional/resource/chocolatey_package_spec.rb +0 -5
  474. data/spec/functional/resource/env_spec.rb +0 -0
  475. data/spec/functional/win32/registry_spec.rb +1 -0
  476. data/spec/integration/client/exit_code_spec.rb +245 -0
  477. data/spec/integration/knife/deps_spec.rb +7 -7
  478. data/spec/integration/knife/download_spec.rb +19 -0
  479. data/spec/integration/knife/list_spec.rb +0 -8
  480. data/spec/integration/knife/upload_spec.rb +21 -2
  481. data/spec/integration/solo/solo_spec.rb +1 -1
  482. data/spec/rcov.opts +2 -2
  483. data/spec/unit/application/apply_spec.rb +6 -4
  484. data/spec/unit/application/exit_code_spec.rb +231 -0
  485. data/spec/unit/application/solo_spec.rb +143 -88
  486. data/spec/unit/chef_fs/config_spec.rb +129 -0
  487. data/spec/unit/chef_fs/file_system/repository/base_file_spec.rb +8 -10
  488. data/spec/unit/client_spec.rb +1 -1
  489. data/spec/unit/config_fetcher_spec.rb +2 -2
  490. data/spec/unit/cookbook/synchronizer_spec.rb +1 -1
  491. data/spec/unit/data_bag_item_spec.rb +2 -2
  492. data/spec/unit/data_bag_spec.rb +2 -2
  493. data/spec/unit/data_collector/messages/helpers_spec.rb +190 -0
  494. data/spec/unit/data_collector/messages_spec.rb +207 -0
  495. data/spec/unit/data_collector_spec.rb +525 -0
  496. data/spec/unit/decorator/lazy_array_spec.rb +58 -0
  497. data/spec/unit/decorator/lazy_spec.rb +39 -0
  498. data/spec/unit/decorator_spec.rb +142 -0
  499. data/spec/unit/environment_spec.rb +4 -4
  500. data/spec/unit/handler_spec.rb +87 -0
  501. data/spec/unit/knife/cookbook_show_spec.rb +89 -90
  502. data/spec/unit/knife/ssl_check_spec.rb +16 -0
  503. data/spec/unit/policy_builder/dynamic_spec.rb +1 -1
  504. data/spec/unit/policy_builder/policyfile_spec.rb +1 -1
  505. data/spec/unit/provider/git_spec.rb +77 -18
  506. data/spec/unit/provider/package/apt_spec.rb +97 -34
  507. data/spec/unit/provider/package/chocolatey_spec.rb +3 -15
  508. data/spec/unit/provider/package/portage_spec.rb +6 -0
  509. data/spec/unit/provider/package/rubygems_spec.rb +38 -4
  510. data/spec/unit/provider/package/yum/yum_cache_spec.rb +27 -0
  511. data/spec/unit/provider/package_spec.rb +20 -7
  512. data/spec/unit/provider/systemd_unit_spec.rb +885 -0
  513. data/spec/unit/resource/systemd_unit_spec.rb +133 -0
  514. data/spec/unit/resource_builder_spec.rb +1 -1
  515. data/tasks/bin/bundle-platform +6 -2
  516. data/tasks/bin/bundle-platform.bat +0 -0
  517. data/tasks/bin/create-override-gemfile +0 -0
  518. data/tasks/bin/run_external_test +0 -0
  519. data/tasks/bundle_util.rb +18 -2
  520. data/tasks/changelog.rb +1 -0
  521. data/tasks/dependencies.rb +47 -57
  522. metadata +847 -7
  523. data/tasks/bin/run_chef_tests +0 -17
@@ -1,202 +1,202 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
-
4
-
5
- <html xmlns="http://www.w3.org/1999/xhtml">
6
- <head>
7
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
-
9
- <title>chef-client Man Pages &mdash; chef-client Man Pages</title>
10
-
11
- <link rel="stylesheet" href="_static/guide.css" type="text/css" />
12
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
13
-
14
- <script type="text/javascript">
15
- var DOCUMENTATION_OPTIONS = {
16
- URL_ROOT: './',
17
- VERSION: '',
18
- COLLAPSE_INDEX: false,
19
- FILE_SUFFIX: '.html',
20
- HAS_SOURCE: true
21
- };
22
- </script>
23
- <script type="text/javascript" src="_static/jquery.js"></script>
24
- <script type="text/javascript" src="_static/underscore.js"></script>
25
- <script type="text/javascript" src="_static/doctools.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div style="background-color: #212c35; text-align: left; padding: 0px 0px 0px 0px">
31
- <a href="http://docs.getchef.com/"><img src="_static/chef_html_logo.png" border="0" alt="Chef"/></a>
32
- </div>
33
-
34
-
35
-
36
-
37
- <div class="document">
38
- <div class="documentwrapper">
39
-
40
- <div class="body">
41
-
42
- <div class="section" id="chef-client-man-pages">
43
- <h1>chef-client Man Pages<a class="headerlink" href="#chef-client-man-pages" title="Permalink to this headline">¶</a></h1>
44
- <p>The following command line interfaces are available in the chef-client:</p>
45
- <ul class="simple">
46
- <li><a class="reference internal" href="ctl_chef_client.html"><em>chef-client</em></a></li>
47
- <li><a class="reference internal" href="ctl_chef_server.html"><em>chef-server-ctl (executable)</em></a></li>
48
- <li><a class="reference internal" href="ctl_chef_shell.html"><em>chef-shell</em></a></li>
49
- <li><a class="reference internal" href="ctl_chef_solo.html"><em>chef-solo</em></a></li>
50
- <li><a class="reference internal" href="knife.html"><em>knife</em></a></li>
51
- </ul>
52
- <div class="section" id="knife">
53
- <h2>knife<a class="headerlink" href="#knife" title="Permalink to this headline">¶</a></h2>
54
- <p>knife is a command-line tool that provides an interface between a local chef-repo and the Chef server. knife helps users to manage:</p>
55
- <ul class="simple">
56
- <li>Nodes</li>
57
- <li>Cookbooks and recipes</li>
58
- <li>Roles</li>
59
- <li>Stores of JSON data (data bags), including encrypted data</li>
60
- <li>Environments</li>
61
- <li>Cloud resources, including provisioning</li>
62
- <li>The installation of the chef-client on management workstations</li>
63
- <li>Searching of indexed data on the Chef server</li>
64
- </ul>
65
- <p>The following sections describe functionality common to all knife subcommands:</p>
66
- <ul class="simple">
67
- <li><a class="reference internal" href="knife_using.html"><em>Working with Knife</em></a></li>
68
- <li><a class="reference internal" href="knife_common_options.html"><em>Common Options</em></a></li>
69
- </ul>
70
- <p>knife includes the following sub-commands:</p>
71
- <table border="1" class="docutils">
72
- <colgroup>
73
- <col width="25%" />
74
- <col width="75%" />
75
- </colgroup>
76
- <thead valign="bottom">
77
- <tr class="row-odd"><th class="head">Sub-command</th>
78
- <th class="head">Description</th>
79
- </tr>
80
- </thead>
81
- <tbody valign="top">
82
- <tr class="row-even"><td><a class="reference internal" href="knife_bootstrap.html"><em>knife bootstrap</em></a></td>
83
- <td>The <strong>knife bootstrap</strong> subcommand is used to run a bootstrap operation that installs the chef-client on the target system. The bootstrap operation must specify the IP address or FQDN of the target system.</td>
84
- </tr>
85
- <tr class="row-odd"><td><a class="reference internal" href="knife_client.html"><em>knife client</em></a></td>
86
- <td>The <strong>knife client</strong> subcommand is used to manage an API client list and their associated RSA public key-pairs. This allows authentication requests to be made to the Chef server by any entity that uses the Chef server API, such as the chef-client and knife.</td>
87
- </tr>
88
- <tr class="row-even"><td><a class="reference internal" href="knife_configure.html"><em>knife configure</em></a></td>
89
- <td>The <strong>knife configure</strong> subcommand is used to create the knife.rb and client.rb files so that they can be distributed to workstations and nodes.</td>
90
- </tr>
91
- <tr class="row-odd"><td><a class="reference internal" href="knife_cookbook.html"><em>knife cookbook</em></a></td>
92
- <td>The <strong>knife cookbook</strong> subcommand is used to interact with cookbooks that are located on the Chef server or the local chef-repo.</td>
93
- </tr>
94
- <tr class="row-even"><td><a class="reference internal" href="knife_cookbook_site.html"><em>knife cookbook site</em></a></td>
95
- <td>The <strong>knife cookbook site</strong> subcommand is used to interact with cookbooks that are located at <a class="reference external" href="https://supermarket.getchef.com/cookbooks">https://supermarket.getchef.com/cookbooks</a>. A user account is required for any community actions that write data to this site. The following arguments do not require a user account: <tt class="docutils literal"><span class="pre">download</span></tt>, <tt class="docutils literal"><span class="pre">search</span></tt>, <tt class="docutils literal"><span class="pre">install</span></tt>, and <tt class="docutils literal"><span class="pre">list</span></tt>.</td>
96
- </tr>
97
- <tr class="row-odd"><td><a class="reference internal" href="knife_data_bag.html"><em>knife data bag</em></a></td>
98
- <td>The <strong>knife data bag</strong> subcommand is used to manage arbitrary stores of globally available JSON data.</td>
99
- </tr>
100
- <tr class="row-even"><td><a class="reference internal" href="knife_delete.html"><em>knife delete</em></a></td>
101
- <td>The <strong>knife delete</strong> subcommand is used to delete an object from a Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">delete</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">delete</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">delete</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">delete</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">delete</span></tt>, but with a single verb (and a single action).</td>
102
- </tr>
103
- <tr class="row-odd"><td><a class="reference internal" href="knife_deps.html"><em>knife deps</em></a></td>
104
- <td>The <strong>knife deps</strong> subcommand is used to identify dependencies for a node, role, or cookbook.</td>
105
- </tr>
106
- <tr class="row-even"><td><a class="reference internal" href="knife_diff.html"><em>knife diff</em></a></td>
107
- <td>The <strong>knife diff</strong> subcommand is used to compare the differences between files and directories on the Chef server and in the chef-repo. For example, to compare files on the Chef server prior to an uploading or downloading files using the <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">download</span></tt> and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">upload</span></tt> subcommands, or to ensure that certain files in multiple production environments are the same. This subcommand is similar to the <tt class="docutils literal"><span class="pre">git</span> <span class="pre">diff</span></tt> command that can be used to diff what is in the chef-repo with what is synced to a git repository.</td>
108
- </tr>
109
- <tr class="row-odd"><td><a class="reference internal" href="knife_download.html"><em>knife download</em></a></td>
110
- <td>The <strong>knife download</strong> subcommand is used to download roles, cookbooks, environments, nodes, and data bags from the Chef server to the current working directory. It can be used to back up data on the Chef server, inspect the state of one or more files, or to extract out-of-process changes users may have made to files on the Chef server, such as if a user made a change that bypassed version source control. This subcommand is often used in conjunction with <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">diff</span></tt>, which can be used to see exactly what changes will be downloaded, and then <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">upload</span></tt>, which does the opposite of <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">download</span></tt>.</td>
111
- </tr>
112
- <tr class="row-even"><td><a class="reference internal" href="knife_edit.html"><em>knife edit</em></a></td>
113
- <td>The <strong>knife edit</strong> subcommand is used to edit objects on the Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">edit</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">edit</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">edit</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">edit</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">edit</span></tt>, but with a single verb (and a single action).</td>
114
- </tr>
115
- <tr class="row-odd"><td><a class="reference internal" href="knife_environment.html"><em>knife environment</em></a></td>
116
- <td>The <strong>knife environment</strong> subcommand is used to manage environments within a single organization on the Chef server.</td>
117
- </tr>
118
- <tr class="row-even"><td><a class="reference internal" href="knife_exec.html"><em>knife exec</em></a></td>
119
- <td>The <strong>knife exec</strong> subcommand uses the knife configuration file to execute Ruby scripts in the context of a fully configured chef-client. This subcommand is most often used to run scripts that will only access Chef server one time (or otherwise very infrequently). Use this subcommand any time that an operation does not warrant full usage of the knife subcommand library.</td>
120
- </tr>
121
- <tr class="row-odd"><td><a class="reference internal" href="knife_index_rebuild.html"><em>knife index rebuild</em></a></td>
122
- <td>The <strong>knife index rebuild</strong> subcommand is used to rebuild the search indexes for the open source Chef server. This operation is destructive and may take some time.</td>
123
- </tr>
124
- <tr class="row-even"><td><a class="reference internal" href="knife_list.html"><em>knife list</em></a></td>
125
- <td>The <strong>knife list</strong> subcommand is used to view a list of objects on the Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">list</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">list</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">list</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">list</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">list</span></tt>, but with a single verb (and a single action).</td>
126
- </tr>
127
- <tr class="row-odd"><td><a class="reference internal" href="knife_node.html"><em>knife node</em></a></td>
128
- <td>The <strong>knife node</strong> subcommand is used to manage the nodes that exist on a Chef server.</td>
129
- </tr>
130
- <tr class="row-even"><td><a class="reference internal" href="knife_raw.html"><em>knife raw</em></a></td>
131
- <td>The <strong>knife raw</strong> subcommand is used to send a REST request to an endpoint in the Chef server API.</td>
132
- </tr>
133
- <tr class="row-odd"><td><a class="reference internal" href="knife_recipe_list.html"><em>knife recipe list</em></a></td>
134
- <td>The <strong>knife recipe list</strong> subcommand is used to view all of the recipes that are on a Chef server. A regular expression can be used to limit the results to recipes that match a specific pattern. The regular expression must be within quotes and not be surrounded by forward slashes (/).</td>
135
- </tr>
136
- <tr class="row-even"><td><a class="reference internal" href="knife_role.html"><em>knife role</em></a></td>
137
- <td>The <strong>knife role</strong> subcommand is used to manage the roles that are associated with one or more nodes on a Chef server.</td>
138
- </tr>
139
- <tr class="row-odd"><td><a class="reference internal" href="knife_search.html"><em>knife search</em></a></td>
140
- <td>The <strong>knife search</strong> subcommand is used run a search query for information that is indexed on a Chef server.</td>
141
- </tr>
142
- <tr class="row-even"><td><a class="reference internal" href="knife_serve.html"><em>knife serve</em></a></td>
143
- <td>The <strong>knife serve</strong> subcommand is used to run a persistent chef-zero against the local chef-repo. (chef-zero is a lightweight Chef server that runs in-memory on the local machine.) This is the same as running the chef-client executable with the <tt class="docutils literal"><span class="pre">--local-mode</span></tt> option. The <tt class="docutils literal"><span class="pre">chef_repo_path</span></tt> is located automatically and the Chef server will bind to the first available port between <tt class="docutils literal"><span class="pre">8889</span></tt> and <tt class="docutils literal"><span class="pre">9999</span></tt>. <strong>knife serve</strong> will print the URL for the local Chef server, so that it may be added to the knife.rb file.</td>
144
- </tr>
145
- <tr class="row-odd"><td><a class="reference internal" href="knife_show.html"><em>knife show</em></a></td>
146
- <td>The <strong>knife show</strong> subcommand is used to view the details of one (or more) objects on the Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">show</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">show</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">show</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">show</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">show</span></tt>, but with a single verb (and a single action).</td>
147
- </tr>
148
- <tr class="row-even"><td><a class="reference internal" href="knife_ssh.html"><em>knife ssh</em></a></td>
149
- <td>The <strong>knife ssh</strong> subcommand is used to invoke SSH commands (in parallel) on a subset of nodes within an organization, based on the results of a <a class="reference external" href="http://docs.opscode.com/essentials_search.html">search query</a> made to the Chef server.</td>
150
- </tr>
151
- <tr class="row-odd"><td><a class="reference internal" href="knife_ssl_check.html"><em>knife ssl check</em></a></td>
152
- <td><p class="first">The <strong>knife ssl check</strong> subcommand is used to verify the SSL configuration for the Enterprise Chef and/or Open Source Chef servers, or at another location specified by a URL or URI.</p>
153
- <div class="last admonition warning">
154
- <p class="first admonition-title">Warning</p>
155
- <p class="last">When verification of a remote server&#8217;s SSL certificate is disabled, the chef-client will issue a warning similar to &#8220;SSL validation of HTTPS requests is disabled. HTTPS connections are still encrypted, but the chef-client is not able to detect forged replies or man-in-the-middle attacks.&#8221; To configure SSL for the chef-client, set <tt class="docutils literal"><span class="pre">ssl_verify_mode</span></tt> to <tt class="docutils literal"><span class="pre">:verify_peer</span></tt> (recommended) <strong>or</strong> <tt class="docutils literal"><span class="pre">verify_api_cert</span></tt> to <tt class="docutils literal"><span class="pre">true</span></tt> in the client.rb file.</p>
156
- </div>
157
- </td>
158
- </tr>
159
- <tr class="row-even"><td><a class="reference internal" href="knife_ssl_fetch.html"><em>knife ssl fetch</em></a></td>
160
- <td><p class="first">The <strong>knife ssl fetch</strong> subcommand is used to copy SSL certificates from an HTTPS server to the <tt class="docutils literal"><span class="pre">trusted_certs_dir</span></tt> directory that is used by knife and the chef-client to store trusted SSL certificates. When these certificates match the hostname of the remote server, running <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">ssl</span> <span class="pre">fetch</span></tt> is the only step required to verify a remote server that is accessed by either knife or the chef-client.</p>
161
- <div class="last admonition warning">
162
- <p class="first admonition-title">Warning</p>
163
- <p class="last">It is the user&#8217;s responsibility to verify the authenticity of every SSL certificate before downloading it to the <tt class="docutils literal"><span class="pre">trusted_certs_dir</span></tt> directory. knife will use any certificate in that directory as if it is a 100% trusted and authentic SSL certificate. knife will not be able to determine if any certificate in this directory has been tampered with, is forged, malicious, or otherwise harmful. Therefore it is essential that users take the proper steps before downloading certificates into this directory.</p>
164
- </div>
165
- </td>
166
- </tr>
167
- <tr class="row-odd"><td><a class="reference internal" href="knife_status.html"><em>knife status</em></a></td>
168
- <td>The <strong>knife status</strong> subcommand is used to display a brief summary of the nodes on a Chef server, including the time of the most recent successful chef-client run.</td>
169
- </tr>
170
- <tr class="row-even"><td><a class="reference internal" href="knife_tag.html"><em>knife tag</em></a></td>
171
- <td>The <strong>knife tag</strong> subcommand is used to apply tags to nodes on a Chef server.</td>
172
- </tr>
173
- <tr class="row-odd"><td><a class="reference internal" href="knife_upload.html"><em>knife upload</em></a></td>
174
- <td>The <strong>knife upload</strong> subcommand is used to upload roles, cookbooks, environments, and data bags to the Chef server from the current working directory in the chef-repo. This subcommand is often used in conjunction with <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">diff</span></tt>, which can be used to see exactly what changes will be uploaded, and then <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">download</span></tt>, which does the opposite of <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">upload</span></tt>.</td>
175
- </tr>
176
- <tr class="row-even"><td><a class="reference internal" href="knife_user.html"><em>knife user</em></a></td>
177
- <td>The <strong>knife user</strong> subcommand is used to manage the list of users and their associated RSA public key-pairs.</td>
178
- </tr>
179
- <tr class="row-odd"><td><a class="reference internal" href="knife_xargs.html"><em>knife xargs</em></a></td>
180
- <td>The <strong>knife xargs</strong> subcommand is used to take patterns from standard input, download as JSON, run a command against the downloaded JSON, and then upload any changes.</td>
181
- </tr>
182
- </tbody>
183
- </table>
184
- <div class="toctree-wrapper compound">
185
- </div>
186
- </div>
187
- </div>
188
-
189
-
190
- </div>
191
-
192
- </div>
193
-
194
-
195
- <div class="clearer"></div>
196
- </div>
197
-
198
-
199
-
200
-
201
- </body>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
+
9
+ <title>chef-client Man Pages &mdash; chef-client Man Pages</title>
10
+
11
+ <link rel="stylesheet" href="_static/guide.css" type="text/css" />
12
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
13
+
14
+ <script type="text/javascript">
15
+ var DOCUMENTATION_OPTIONS = {
16
+ URL_ROOT: './',
17
+ VERSION: '',
18
+ COLLAPSE_INDEX: false,
19
+ FILE_SUFFIX: '.html',
20
+ HAS_SOURCE: true
21
+ };
22
+ </script>
23
+ <script type="text/javascript" src="_static/jquery.js"></script>
24
+ <script type="text/javascript" src="_static/underscore.js"></script>
25
+ <script type="text/javascript" src="_static/doctools.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div style="background-color: #212c35; text-align: left; padding: 0px 0px 0px 0px">
31
+ <a href="http://docs.getchef.com/"><img src="_static/chef_html_logo.png" border="0" alt="Chef"/></a>
32
+ </div>
33
+
34
+
35
+
36
+
37
+ <div class="document">
38
+ <div class="documentwrapper">
39
+
40
+ <div class="body">
41
+
42
+ <div class="section" id="chef-client-man-pages">
43
+ <h1>chef-client Man Pages<a class="headerlink" href="#chef-client-man-pages" title="Permalink to this headline">¶</a></h1>
44
+ <p>The following command line interfaces are available in the chef-client:</p>
45
+ <ul class="simple">
46
+ <li><a class="reference internal" href="ctl_chef_client.html"><em>chef-client</em></a></li>
47
+ <li><a class="reference internal" href="ctl_chef_server.html"><em>chef-server-ctl (executable)</em></a></li>
48
+ <li><a class="reference internal" href="ctl_chef_shell.html"><em>chef-shell</em></a></li>
49
+ <li><a class="reference internal" href="ctl_chef_solo.html"><em>chef-solo</em></a></li>
50
+ <li><a class="reference internal" href="knife.html"><em>knife</em></a></li>
51
+ </ul>
52
+ <div class="section" id="knife">
53
+ <h2>knife<a class="headerlink" href="#knife" title="Permalink to this headline">¶</a></h2>
54
+ <p>knife is a command-line tool that provides an interface between a local chef-repo and the Chef server. knife helps users to manage:</p>
55
+ <ul class="simple">
56
+ <li>Nodes</li>
57
+ <li>Cookbooks and recipes</li>
58
+ <li>Roles</li>
59
+ <li>Stores of JSON data (data bags), including encrypted data</li>
60
+ <li>Environments</li>
61
+ <li>Cloud resources, including provisioning</li>
62
+ <li>The installation of the chef-client on management workstations</li>
63
+ <li>Searching of indexed data on the Chef server</li>
64
+ </ul>
65
+ <p>The following sections describe functionality common to all knife subcommands:</p>
66
+ <ul class="simple">
67
+ <li><a class="reference internal" href="knife_using.html"><em>Working with Knife</em></a></li>
68
+ <li><a class="reference internal" href="knife_common_options.html"><em>Common Options</em></a></li>
69
+ </ul>
70
+ <p>knife includes the following sub-commands:</p>
71
+ <table border="1" class="docutils">
72
+ <colgroup>
73
+ <col width="25%" />
74
+ <col width="75%" />
75
+ </colgroup>
76
+ <thead valign="bottom">
77
+ <tr class="row-odd"><th class="head">Sub-command</th>
78
+ <th class="head">Description</th>
79
+ </tr>
80
+ </thead>
81
+ <tbody valign="top">
82
+ <tr class="row-even"><td><a class="reference internal" href="knife_bootstrap.html"><em>knife bootstrap</em></a></td>
83
+ <td>The <strong>knife bootstrap</strong> subcommand is used to run a bootstrap operation that installs the chef-client on the target system. The bootstrap operation must specify the IP address or FQDN of the target system.</td>
84
+ </tr>
85
+ <tr class="row-odd"><td><a class="reference internal" href="knife_client.html"><em>knife client</em></a></td>
86
+ <td>The <strong>knife client</strong> subcommand is used to manage an API client list and their associated RSA public key-pairs. This allows authentication requests to be made to the Chef server by any entity that uses the Chef server API, such as the chef-client and knife.</td>
87
+ </tr>
88
+ <tr class="row-even"><td><a class="reference internal" href="knife_configure.html"><em>knife configure</em></a></td>
89
+ <td>The <strong>knife configure</strong> subcommand is used to create the knife.rb and client.rb files so that they can be distributed to workstations and nodes.</td>
90
+ </tr>
91
+ <tr class="row-odd"><td><a class="reference internal" href="knife_cookbook.html"><em>knife cookbook</em></a></td>
92
+ <td>The <strong>knife cookbook</strong> subcommand is used to interact with cookbooks that are located on the Chef server or the local chef-repo.</td>
93
+ </tr>
94
+ <tr class="row-even"><td><a class="reference internal" href="knife_cookbook_site.html"><em>knife cookbook site</em></a></td>
95
+ <td>The <strong>knife cookbook site</strong> subcommand is used to interact with cookbooks that are located at <a class="reference external" href="https://supermarket.getchef.com/cookbooks">https://supermarket.getchef.com/cookbooks</a>. A user account is required for any community actions that write data to this site. The following arguments do not require a user account: <tt class="docutils literal"><span class="pre">download</span></tt>, <tt class="docutils literal"><span class="pre">search</span></tt>, <tt class="docutils literal"><span class="pre">install</span></tt>, and <tt class="docutils literal"><span class="pre">list</span></tt>.</td>
96
+ </tr>
97
+ <tr class="row-odd"><td><a class="reference internal" href="knife_data_bag.html"><em>knife data bag</em></a></td>
98
+ <td>The <strong>knife data bag</strong> subcommand is used to manage arbitrary stores of globally available JSON data.</td>
99
+ </tr>
100
+ <tr class="row-even"><td><a class="reference internal" href="knife_delete.html"><em>knife delete</em></a></td>
101
+ <td>The <strong>knife delete</strong> subcommand is used to delete an object from a Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">delete</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">delete</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">delete</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">delete</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">delete</span></tt>, but with a single verb (and a single action).</td>
102
+ </tr>
103
+ <tr class="row-odd"><td><a class="reference internal" href="knife_deps.html"><em>knife deps</em></a></td>
104
+ <td>The <strong>knife deps</strong> subcommand is used to identify dependencies for a node, role, or cookbook.</td>
105
+ </tr>
106
+ <tr class="row-even"><td><a class="reference internal" href="knife_diff.html"><em>knife diff</em></a></td>
107
+ <td>The <strong>knife diff</strong> subcommand is used to compare the differences between files and directories on the Chef server and in the chef-repo. For example, to compare files on the Chef server prior to an uploading or downloading files using the <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">download</span></tt> and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">upload</span></tt> subcommands, or to ensure that certain files in multiple production environments are the same. This subcommand is similar to the <tt class="docutils literal"><span class="pre">git</span> <span class="pre">diff</span></tt> command that can be used to diff what is in the chef-repo with what is synced to a git repository.</td>
108
+ </tr>
109
+ <tr class="row-odd"><td><a class="reference internal" href="knife_download.html"><em>knife download</em></a></td>
110
+ <td>The <strong>knife download</strong> subcommand is used to download roles, cookbooks, environments, nodes, and data bags from the Chef server to the current working directory. It can be used to back up data on the Chef server, inspect the state of one or more files, or to extract out-of-process changes users may have made to files on the Chef server, such as if a user made a change that bypassed version source control. This subcommand is often used in conjunction with <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">diff</span></tt>, which can be used to see exactly what changes will be downloaded, and then <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">upload</span></tt>, which does the opposite of <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">download</span></tt>.</td>
111
+ </tr>
112
+ <tr class="row-even"><td><a class="reference internal" href="knife_edit.html"><em>knife edit</em></a></td>
113
+ <td>The <strong>knife edit</strong> subcommand is used to edit objects on the Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">edit</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">edit</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">edit</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">edit</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">edit</span></tt>, but with a single verb (and a single action).</td>
114
+ </tr>
115
+ <tr class="row-odd"><td><a class="reference internal" href="knife_environment.html"><em>knife environment</em></a></td>
116
+ <td>The <strong>knife environment</strong> subcommand is used to manage environments within a single organization on the Chef server.</td>
117
+ </tr>
118
+ <tr class="row-even"><td><a class="reference internal" href="knife_exec.html"><em>knife exec</em></a></td>
119
+ <td>The <strong>knife exec</strong> subcommand uses the knife configuration file to execute Ruby scripts in the context of a fully configured chef-client. This subcommand is most often used to run scripts that will only access Chef server one time (or otherwise very infrequently). Use this subcommand any time that an operation does not warrant full usage of the knife subcommand library.</td>
120
+ </tr>
121
+ <tr class="row-odd"><td><a class="reference internal" href="knife_index_rebuild.html"><em>knife index rebuild</em></a></td>
122
+ <td>The <strong>knife index rebuild</strong> subcommand is used to rebuild the search indexes for the open source Chef server. This operation is destructive and may take some time.</td>
123
+ </tr>
124
+ <tr class="row-even"><td><a class="reference internal" href="knife_list.html"><em>knife list</em></a></td>
125
+ <td>The <strong>knife list</strong> subcommand is used to view a list of objects on the Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">list</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">list</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">list</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">list</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">list</span></tt>, but with a single verb (and a single action).</td>
126
+ </tr>
127
+ <tr class="row-odd"><td><a class="reference internal" href="knife_node.html"><em>knife node</em></a></td>
128
+ <td>The <strong>knife node</strong> subcommand is used to manage the nodes that exist on a Chef server.</td>
129
+ </tr>
130
+ <tr class="row-even"><td><a class="reference internal" href="knife_raw.html"><em>knife raw</em></a></td>
131
+ <td>The <strong>knife raw</strong> subcommand is used to send a REST request to an endpoint in the Chef server API.</td>
132
+ </tr>
133
+ <tr class="row-odd"><td><a class="reference internal" href="knife_recipe_list.html"><em>knife recipe list</em></a></td>
134
+ <td>The <strong>knife recipe list</strong> subcommand is used to view all of the recipes that are on a Chef server. A regular expression can be used to limit the results to recipes that match a specific pattern. The regular expression must be within quotes and not be surrounded by forward slashes (/).</td>
135
+ </tr>
136
+ <tr class="row-even"><td><a class="reference internal" href="knife_role.html"><em>knife role</em></a></td>
137
+ <td>The <strong>knife role</strong> subcommand is used to manage the roles that are associated with one or more nodes on a Chef server.</td>
138
+ </tr>
139
+ <tr class="row-odd"><td><a class="reference internal" href="knife_search.html"><em>knife search</em></a></td>
140
+ <td>The <strong>knife search</strong> subcommand is used run a search query for information that is indexed on a Chef server.</td>
141
+ </tr>
142
+ <tr class="row-even"><td><a class="reference internal" href="knife_serve.html"><em>knife serve</em></a></td>
143
+ <td>The <strong>knife serve</strong> subcommand is used to run a persistent chef-zero against the local chef-repo. (chef-zero is a lightweight Chef server that runs in-memory on the local machine.) This is the same as running the chef-client executable with the <tt class="docutils literal"><span class="pre">--local-mode</span></tt> option. The <tt class="docutils literal"><span class="pre">chef_repo_path</span></tt> is located automatically and the Chef server will bind to the first available port between <tt class="docutils literal"><span class="pre">8889</span></tt> and <tt class="docutils literal"><span class="pre">9999</span></tt>. <strong>knife serve</strong> will print the URL for the local Chef server, so that it may be added to the knife.rb file.</td>
144
+ </tr>
145
+ <tr class="row-odd"><td><a class="reference internal" href="knife_show.html"><em>knife show</em></a></td>
146
+ <td>The <strong>knife show</strong> subcommand is used to view the details of one (or more) objects on the Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">show</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">show</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">show</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">show</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">show</span></tt>, but with a single verb (and a single action).</td>
147
+ </tr>
148
+ <tr class="row-even"><td><a class="reference internal" href="knife_ssh.html"><em>knife ssh</em></a></td>
149
+ <td>The <strong>knife ssh</strong> subcommand is used to invoke SSH commands (in parallel) on a subset of nodes within an organization, based on the results of a <a class="reference external" href="http://docs.opscode.com/essentials_search.html">search query</a> made to the Chef server.</td>
150
+ </tr>
151
+ <tr class="row-odd"><td><a class="reference internal" href="knife_ssl_check.html"><em>knife ssl check</em></a></td>
152
+ <td><p class="first">The <strong>knife ssl check</strong> subcommand is used to verify the SSL configuration for the Enterprise Chef and/or Open Source Chef servers, or at another location specified by a URL or URI.</p>
153
+ <div class="last admonition warning">
154
+ <p class="first admonition-title">Warning</p>
155
+ <p class="last">When verification of a remote server&#8217;s SSL certificate is disabled, the chef-client will issue a warning similar to &#8220;SSL validation of HTTPS requests is disabled. HTTPS connections are still encrypted, but the chef-client is not able to detect forged replies or man-in-the-middle attacks.&#8221; To configure SSL for the chef-client, set <tt class="docutils literal"><span class="pre">ssl_verify_mode</span></tt> to <tt class="docutils literal"><span class="pre">:verify_peer</span></tt> (recommended) <strong>or</strong> <tt class="docutils literal"><span class="pre">verify_api_cert</span></tt> to <tt class="docutils literal"><span class="pre">true</span></tt> in the client.rb file.</p>
156
+ </div>
157
+ </td>
158
+ </tr>
159
+ <tr class="row-even"><td><a class="reference internal" href="knife_ssl_fetch.html"><em>knife ssl fetch</em></a></td>
160
+ <td><p class="first">The <strong>knife ssl fetch</strong> subcommand is used to copy SSL certificates from an HTTPS server to the <tt class="docutils literal"><span class="pre">trusted_certs_dir</span></tt> directory that is used by knife and the chef-client to store trusted SSL certificates. When these certificates match the hostname of the remote server, running <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">ssl</span> <span class="pre">fetch</span></tt> is the only step required to verify a remote server that is accessed by either knife or the chef-client.</p>
161
+ <div class="last admonition warning">
162
+ <p class="first admonition-title">Warning</p>
163
+ <p class="last">It is the user&#8217;s responsibility to verify the authenticity of every SSL certificate before downloading it to the <tt class="docutils literal"><span class="pre">trusted_certs_dir</span></tt> directory. knife will use any certificate in that directory as if it is a 100% trusted and authentic SSL certificate. knife will not be able to determine if any certificate in this directory has been tampered with, is forged, malicious, or otherwise harmful. Therefore it is essential that users take the proper steps before downloading certificates into this directory.</p>
164
+ </div>
165
+ </td>
166
+ </tr>
167
+ <tr class="row-odd"><td><a class="reference internal" href="knife_status.html"><em>knife status</em></a></td>
168
+ <td>The <strong>knife status</strong> subcommand is used to display a brief summary of the nodes on a Chef server, including the time of the most recent successful chef-client run.</td>
169
+ </tr>
170
+ <tr class="row-even"><td><a class="reference internal" href="knife_tag.html"><em>knife tag</em></a></td>
171
+ <td>The <strong>knife tag</strong> subcommand is used to apply tags to nodes on a Chef server.</td>
172
+ </tr>
173
+ <tr class="row-odd"><td><a class="reference internal" href="knife_upload.html"><em>knife upload</em></a></td>
174
+ <td>The <strong>knife upload</strong> subcommand is used to upload roles, cookbooks, environments, and data bags to the Chef server from the current working directory in the chef-repo. This subcommand is often used in conjunction with <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">diff</span></tt>, which can be used to see exactly what changes will be uploaded, and then <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">download</span></tt>, which does the opposite of <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">upload</span></tt>.</td>
175
+ </tr>
176
+ <tr class="row-even"><td><a class="reference internal" href="knife_user.html"><em>knife user</em></a></td>
177
+ <td>The <strong>knife user</strong> subcommand is used to manage the list of users and their associated RSA public key-pairs.</td>
178
+ </tr>
179
+ <tr class="row-odd"><td><a class="reference internal" href="knife_xargs.html"><em>knife xargs</em></a></td>
180
+ <td>The <strong>knife xargs</strong> subcommand is used to take patterns from standard input, download as JSON, run a command against the downloaded JSON, and then upload any changes.</td>
181
+ </tr>
182
+ </tbody>
183
+ </table>
184
+ <div class="toctree-wrapper compound">
185
+ </div>
186
+ </div>
187
+ </div>
188
+
189
+
190
+ </div>
191
+
192
+ </div>
193
+
194
+
195
+ <div class="clearer"></div>
196
+ </div>
197
+
198
+
199
+
200
+
201
+ </body>
202
202
  </html>
@@ -1,170 +1,170 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
-
4
-
5
- <html xmlns="http://www.w3.org/1999/xhtml">
6
- <head>
7
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
-
9
- <title>knife &mdash; chef-client Man Pages</title>
10
-
11
- <link rel="stylesheet" href="_static/guide.css" type="text/css" />
12
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
13
-
14
- <script type="text/javascript">
15
- var DOCUMENTATION_OPTIONS = {
16
- URL_ROOT: './',
17
- VERSION: '',
18
- COLLAPSE_INDEX: false,
19
- FILE_SUFFIX: '.html',
20
- HAS_SOURCE: true
21
- };
22
- </script>
23
- <script type="text/javascript" src="_static/jquery.js"></script>
24
- <script type="text/javascript" src="_static/underscore.js"></script>
25
- <script type="text/javascript" src="_static/doctools.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div style="background-color: #212c35; text-align: left; padding: 0px 0px 0px 0px">
31
- <a href="http://docs.getchef.com/"><img src="_static/chef_html_logo.png" border="0" alt="Chef"/></a>
32
- </div>
33
-
34
-
35
-
36
-
37
- <div class="document">
38
- <div class="documentwrapper">
39
-
40
- <div class="body">
41
-
42
- <div class="section" id="knife">
43
- <h1>knife<a class="headerlink" href="#knife" title="Permalink to this headline">¶</a></h1>
44
- <p>knife is a command-line tool that provides an interface between a local chef-repo and the Chef server. knife helps users to manage:</p>
45
- <ul class="simple">
46
- <li>Nodes</li>
47
- <li>Cookbooks and recipes</li>
48
- <li>Roles</li>
49
- <li>Stores of JSON data (data bags), including encrypted data</li>
50
- <li>Environments</li>
51
- <li>Cloud resources, including provisioning</li>
52
- <li>The installation of the chef-client on management workstations</li>
53
- <li>Searching of indexed data on the Chef server</li>
54
- </ul>
55
- <p>The following sections describe functionality common to all knife subcommands:</p>
56
- <ul class="simple">
57
- <li><a class="reference internal" href="knife_using.html"><em>Working with Knife</em></a></li>
58
- <li><a class="reference internal" href="knife_common_options.html"><em>Common Options</em></a></li>
59
- </ul>
60
- <p>knife includes the following sub-commands:</p>
61
- <table border="1" class="docutils">
62
- <colgroup>
63
- <col width="25%" />
64
- <col width="75%" />
65
- </colgroup>
66
- <thead valign="bottom">
67
- <tr class="row-odd"><th class="head">Sub-command</th>
68
- <th class="head">Description</th>
69
- </tr>
70
- </thead>
71
- <tbody valign="top">
72
- <tr class="row-even"><td><a class="reference internal" href="knife_bootstrap.html"><em>knife bootstrap</em></a></td>
73
- <td>The <strong>knife bootstrap</strong> subcommand is used to run a bootstrap operation that installs the chef-client on the target system. The bootstrap operation must specify the IP address or FQDN of the target system.</td>
74
- </tr>
75
- <tr class="row-odd"><td><a class="reference internal" href="knife_client.html"><em>knife client</em></a></td>
76
- <td>The <strong>knife client</strong> subcommand is used to manage an API client list and their associated RSA public key-pairs. This allows authentication requests to be made to the Chef server by any entity that uses the Chef server API, such as the chef-client and knife.</td>
77
- </tr>
78
- <tr class="row-even"><td><a class="reference internal" href="knife_configure.html"><em>knife configure</em></a></td>
79
- <td>The <strong>knife configure</strong> subcommand is used to create the knife.rb and client.rb files so that they can be distributed to workstations and nodes.</td>
80
- </tr>
81
- <tr class="row-odd"><td><a class="reference internal" href="knife_cookbook.html"><em>knife cookbook</em></a></td>
82
- <td>The <strong>knife cookbook</strong> subcommand is used to interact with cookbooks that are located on the Chef server or the local chef-repo.</td>
83
- </tr>
84
- <tr class="row-even"><td><a class="reference internal" href="knife_cookbook_site.html"><em>knife cookbook site</em></a></td>
85
- <td>The <strong>knife cookbook site</strong> subcommand is used to interact with cookbooks that are located at <a class="reference external" href="https://supermarket.getchef.com/cookbooks">https://supermarket.getchef.com/cookbooks</a>. A user account is required for any community actions that write data to this site. The following arguments do not require a user account: <tt class="docutils literal"><span class="pre">download</span></tt>, <tt class="docutils literal"><span class="pre">search</span></tt>, <tt class="docutils literal"><span class="pre">install</span></tt>, and <tt class="docutils literal"><span class="pre">list</span></tt>.</td>
86
- </tr>
87
- <tr class="row-odd"><td><a class="reference internal" href="knife_data_bag.html"><em>knife data bag</em></a></td>
88
- <td>The <strong>knife data bag</strong> subcommand is used to manage arbitrary stores of globally available JSON data.</td>
89
- </tr>
90
- <tr class="row-even"><td><a class="reference internal" href="knife_delete.html"><em>knife delete</em></a></td>
91
- <td>The <strong>knife delete</strong> subcommand is used to delete an object from a Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">delete</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">delete</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">delete</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">delete</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">delete</span></tt>, but with a single verb (and a single action).</td>
92
- </tr>
93
- <tr class="row-odd"><td><a class="reference internal" href="knife_deps.html"><em>knife deps</em></a></td>
94
- <td>The <strong>knife deps</strong> subcommand is used to identify dependencies for a node, role, or cookbook.</td>
95
- </tr>
96
- <tr class="row-even"><td><a class="reference internal" href="knife_diff.html"><em>knife diff</em></a></td>
97
- <td>The <strong>knife diff</strong> subcommand is used to compare the differences between files and directories on the Chef server and in the chef-repo. For example, to compare files on the Chef server prior to an uploading or downloading files using the <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">download</span></tt> and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">upload</span></tt> subcommands, or to ensure that certain files in multiple production environments are the same. This subcommand is similar to the <tt class="docutils literal"><span class="pre">git</span> <span class="pre">diff</span></tt> command that can be used to diff what is in the chef-repo with what is synced to a git repository.</td>
98
- </tr>
99
- <tr class="row-odd"><td><a class="reference internal" href="knife_download.html"><em>knife download</em></a></td>
100
- <td>The <strong>knife download</strong> subcommand is used to download roles, cookbooks, environments, nodes, and data bags from the Chef server to the current working directory. It can be used to back up data on the Chef server, inspect the state of one or more files, or to extract out-of-process changes users may have made to files on the Chef server, such as if a user made a change that bypassed version source control. This subcommand is often used in conjunction with <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">diff</span></tt>, which can be used to see exactly what changes will be downloaded, and then <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">upload</span></tt>, which does the opposite of <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">download</span></tt>.</td>
101
- </tr>
102
- <tr class="row-even"><td><a class="reference internal" href="knife_edit.html"><em>knife edit</em></a></td>
103
- <td>The <strong>knife edit</strong> subcommand is used to edit objects on the Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">edit</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">edit</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">edit</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">edit</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">edit</span></tt>, but with a single verb (and a single action).</td>
104
- </tr>
105
- <tr class="row-odd"><td><a class="reference internal" href="knife_environment.html"><em>knife environment</em></a></td>
106
- <td>The <strong>knife environment</strong> subcommand is used to manage environments within a single organization on the Chef server.</td>
107
- </tr>
108
- <tr class="row-even"><td><a class="reference internal" href="knife_exec.html"><em>knife exec</em></a></td>
109
- <td>The <strong>knife exec</strong> subcommand uses the knife configuration file to execute Ruby scripts in the context of a fully configured chef-client. This subcommand is most often used to run scripts that will only access Chef server one time (or otherwise very infrequently). Use this subcommand any time that an operation does not warrant full usage of the knife subcommand library.</td>
110
- </tr>
111
- <tr class="row-odd"><td><a class="reference internal" href="knife_index_rebuild.html"><em>knife index rebuild</em></a></td>
112
- <td>The <strong>knife index rebuild</strong> subcommand is used to rebuild the search indexes for the open source Chef server. This operation is destructive and may take some time.</td>
113
- </tr>
114
- <tr class="row-even"><td><a class="reference internal" href="knife_list.html"><em>knife list</em></a></td>
115
- <td>The <strong>knife list</strong> subcommand is used to view a list of objects on the Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">list</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">list</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">list</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">list</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">list</span></tt>, but with a single verb (and a single action).</td>
116
- </tr>
117
- <tr class="row-odd"><td><a class="reference internal" href="knife_node.html"><em>knife node</em></a></td>
118
- <td>The <strong>knife node</strong> subcommand is used to manage the nodes that exist on a Chef server.</td>
119
- </tr>
120
- <tr class="row-even"><td><a class="reference internal" href="knife_raw.html"><em>knife raw</em></a></td>
121
- <td>The <strong>knife raw</strong> subcommand is used to send a REST request to an endpoint in the Chef server API.</td>
122
- </tr>
123
- <tr class="row-odd"><td><a class="reference internal" href="knife_recipe_list.html"><em>knife recipe list</em></a></td>
124
- <td>The <strong>knife recipe list</strong> subcommand is used to view all of the recipes that are on a Chef server. A regular expression can be used to limit the results to recipes that match a specific pattern. The regular expression must be within quotes and not be surrounded by forward slashes (/).</td>
125
- </tr>
126
- <tr class="row-even"><td><a class="reference internal" href="knife_role.html"><em>knife role</em></a></td>
127
- <td>The <strong>knife role</strong> subcommand is used to manage the roles that are associated with one or more nodes on a Chef server.</td>
128
- </tr>
129
- <tr class="row-odd"><td><a class="reference internal" href="knife_search.html"><em>knife search</em></a></td>
130
- <td>The <strong>knife search</strong> subcommand is used run a search query for information that is indexed on a Chef server.</td>
131
- </tr>
132
- <tr class="row-even"><td><a class="reference internal" href="knife_show.html"><em>knife show</em></a></td>
133
- <td>The <strong>knife show</strong> subcommand is used to view the details of one (or more) objects on the Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">show</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">show</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">show</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">show</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">show</span></tt>, but with a single verb (and a single action).</td>
134
- </tr>
135
- <tr class="row-odd"><td><a class="reference internal" href="knife_ssh.html"><em>knife ssh</em></a></td>
136
- <td>The <strong>knife ssh</strong> subcommand is used to invoke SSH commands (in parallel) on a subset of nodes within an organization, based on the results of a <a class="reference external" href="http://docs.opscode.com/essentials_search.html">search query</a> made to the Chef server.</td>
137
- </tr>
138
- <tr class="row-even"><td><a class="reference internal" href="knife_status.html"><em>knife status</em></a></td>
139
- <td>The <strong>knife status</strong> subcommand is used to display a brief summary of the nodes on a Chef server, including the time of the most recent successful chef-client run.</td>
140
- </tr>
141
- <tr class="row-odd"><td><a class="reference internal" href="knife_tag.html"><em>knife tag</em></a></td>
142
- <td>The <strong>knife tag</strong> subcommand is used to apply tags to nodes on a Chef server.</td>
143
- </tr>
144
- <tr class="row-even"><td><a class="reference internal" href="knife_upload.html"><em>knife upload</em></a></td>
145
- <td>The <strong>knife upload</strong> subcommand is used to upload roles, cookbooks, environments, and data bags to the Chef server from the current working directory in the chef-repo. This subcommand is often used in conjunction with <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">diff</span></tt>, which can be used to see exactly what changes will be uploaded, and then <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">download</span></tt>, which does the opposite of <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">upload</span></tt>.</td>
146
- </tr>
147
- <tr class="row-odd"><td><a class="reference internal" href="knife_user.html"><em>knife user</em></a></td>
148
- <td>The <strong>knife user</strong> subcommand is used to manage the list of users and their associated RSA public key-pairs.</td>
149
- </tr>
150
- <tr class="row-even"><td><a class="reference internal" href="knife_xargs.html"><em>knife xargs</em></a></td>
151
- <td>The <strong>knife xargs</strong> subcommand is used to take patterns from standard input, download as JSON, run a command against the downloaded JSON, and then upload any changes.</td>
152
- </tr>
153
- </tbody>
154
- </table>
155
- </div>
156
-
157
-
158
- </div>
159
-
160
- </div>
161
-
162
-
163
- <div class="clearer"></div>
164
- </div>
165
-
166
-
167
-
168
-
169
- </body>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
+
9
+ <title>knife &mdash; chef-client Man Pages</title>
10
+
11
+ <link rel="stylesheet" href="_static/guide.css" type="text/css" />
12
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
13
+
14
+ <script type="text/javascript">
15
+ var DOCUMENTATION_OPTIONS = {
16
+ URL_ROOT: './',
17
+ VERSION: '',
18
+ COLLAPSE_INDEX: false,
19
+ FILE_SUFFIX: '.html',
20
+ HAS_SOURCE: true
21
+ };
22
+ </script>
23
+ <script type="text/javascript" src="_static/jquery.js"></script>
24
+ <script type="text/javascript" src="_static/underscore.js"></script>
25
+ <script type="text/javascript" src="_static/doctools.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div style="background-color: #212c35; text-align: left; padding: 0px 0px 0px 0px">
31
+ <a href="http://docs.getchef.com/"><img src="_static/chef_html_logo.png" border="0" alt="Chef"/></a>
32
+ </div>
33
+
34
+
35
+
36
+
37
+ <div class="document">
38
+ <div class="documentwrapper">
39
+
40
+ <div class="body">
41
+
42
+ <div class="section" id="knife">
43
+ <h1>knife<a class="headerlink" href="#knife" title="Permalink to this headline">¶</a></h1>
44
+ <p>knife is a command-line tool that provides an interface between a local chef-repo and the Chef server. knife helps users to manage:</p>
45
+ <ul class="simple">
46
+ <li>Nodes</li>
47
+ <li>Cookbooks and recipes</li>
48
+ <li>Roles</li>
49
+ <li>Stores of JSON data (data bags), including encrypted data</li>
50
+ <li>Environments</li>
51
+ <li>Cloud resources, including provisioning</li>
52
+ <li>The installation of the chef-client on management workstations</li>
53
+ <li>Searching of indexed data on the Chef server</li>
54
+ </ul>
55
+ <p>The following sections describe functionality common to all knife subcommands:</p>
56
+ <ul class="simple">
57
+ <li><a class="reference internal" href="knife_using.html"><em>Working with Knife</em></a></li>
58
+ <li><a class="reference internal" href="knife_common_options.html"><em>Common Options</em></a></li>
59
+ </ul>
60
+ <p>knife includes the following sub-commands:</p>
61
+ <table border="1" class="docutils">
62
+ <colgroup>
63
+ <col width="25%" />
64
+ <col width="75%" />
65
+ </colgroup>
66
+ <thead valign="bottom">
67
+ <tr class="row-odd"><th class="head">Sub-command</th>
68
+ <th class="head">Description</th>
69
+ </tr>
70
+ </thead>
71
+ <tbody valign="top">
72
+ <tr class="row-even"><td><a class="reference internal" href="knife_bootstrap.html"><em>knife bootstrap</em></a></td>
73
+ <td>The <strong>knife bootstrap</strong> subcommand is used to run a bootstrap operation that installs the chef-client on the target system. The bootstrap operation must specify the IP address or FQDN of the target system.</td>
74
+ </tr>
75
+ <tr class="row-odd"><td><a class="reference internal" href="knife_client.html"><em>knife client</em></a></td>
76
+ <td>The <strong>knife client</strong> subcommand is used to manage an API client list and their associated RSA public key-pairs. This allows authentication requests to be made to the Chef server by any entity that uses the Chef server API, such as the chef-client and knife.</td>
77
+ </tr>
78
+ <tr class="row-even"><td><a class="reference internal" href="knife_configure.html"><em>knife configure</em></a></td>
79
+ <td>The <strong>knife configure</strong> subcommand is used to create the knife.rb and client.rb files so that they can be distributed to workstations and nodes.</td>
80
+ </tr>
81
+ <tr class="row-odd"><td><a class="reference internal" href="knife_cookbook.html"><em>knife cookbook</em></a></td>
82
+ <td>The <strong>knife cookbook</strong> subcommand is used to interact with cookbooks that are located on the Chef server or the local chef-repo.</td>
83
+ </tr>
84
+ <tr class="row-even"><td><a class="reference internal" href="knife_cookbook_site.html"><em>knife cookbook site</em></a></td>
85
+ <td>The <strong>knife cookbook site</strong> subcommand is used to interact with cookbooks that are located at <a class="reference external" href="https://supermarket.getchef.com/cookbooks">https://supermarket.getchef.com/cookbooks</a>. A user account is required for any community actions that write data to this site. The following arguments do not require a user account: <tt class="docutils literal"><span class="pre">download</span></tt>, <tt class="docutils literal"><span class="pre">search</span></tt>, <tt class="docutils literal"><span class="pre">install</span></tt>, and <tt class="docutils literal"><span class="pre">list</span></tt>.</td>
86
+ </tr>
87
+ <tr class="row-odd"><td><a class="reference internal" href="knife_data_bag.html"><em>knife data bag</em></a></td>
88
+ <td>The <strong>knife data bag</strong> subcommand is used to manage arbitrary stores of globally available JSON data.</td>
89
+ </tr>
90
+ <tr class="row-even"><td><a class="reference internal" href="knife_delete.html"><em>knife delete</em></a></td>
91
+ <td>The <strong>knife delete</strong> subcommand is used to delete an object from a Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">delete</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">delete</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">delete</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">delete</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">delete</span></tt>, but with a single verb (and a single action).</td>
92
+ </tr>
93
+ <tr class="row-odd"><td><a class="reference internal" href="knife_deps.html"><em>knife deps</em></a></td>
94
+ <td>The <strong>knife deps</strong> subcommand is used to identify dependencies for a node, role, or cookbook.</td>
95
+ </tr>
96
+ <tr class="row-even"><td><a class="reference internal" href="knife_diff.html"><em>knife diff</em></a></td>
97
+ <td>The <strong>knife diff</strong> subcommand is used to compare the differences between files and directories on the Chef server and in the chef-repo. For example, to compare files on the Chef server prior to an uploading or downloading files using the <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">download</span></tt> and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">upload</span></tt> subcommands, or to ensure that certain files in multiple production environments are the same. This subcommand is similar to the <tt class="docutils literal"><span class="pre">git</span> <span class="pre">diff</span></tt> command that can be used to diff what is in the chef-repo with what is synced to a git repository.</td>
98
+ </tr>
99
+ <tr class="row-odd"><td><a class="reference internal" href="knife_download.html"><em>knife download</em></a></td>
100
+ <td>The <strong>knife download</strong> subcommand is used to download roles, cookbooks, environments, nodes, and data bags from the Chef server to the current working directory. It can be used to back up data on the Chef server, inspect the state of one or more files, or to extract out-of-process changes users may have made to files on the Chef server, such as if a user made a change that bypassed version source control. This subcommand is often used in conjunction with <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">diff</span></tt>, which can be used to see exactly what changes will be downloaded, and then <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">upload</span></tt>, which does the opposite of <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">download</span></tt>.</td>
101
+ </tr>
102
+ <tr class="row-even"><td><a class="reference internal" href="knife_edit.html"><em>knife edit</em></a></td>
103
+ <td>The <strong>knife edit</strong> subcommand is used to edit objects on the Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">edit</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">edit</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">edit</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">edit</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">edit</span></tt>, but with a single verb (and a single action).</td>
104
+ </tr>
105
+ <tr class="row-odd"><td><a class="reference internal" href="knife_environment.html"><em>knife environment</em></a></td>
106
+ <td>The <strong>knife environment</strong> subcommand is used to manage environments within a single organization on the Chef server.</td>
107
+ </tr>
108
+ <tr class="row-even"><td><a class="reference internal" href="knife_exec.html"><em>knife exec</em></a></td>
109
+ <td>The <strong>knife exec</strong> subcommand uses the knife configuration file to execute Ruby scripts in the context of a fully configured chef-client. This subcommand is most often used to run scripts that will only access Chef server one time (or otherwise very infrequently). Use this subcommand any time that an operation does not warrant full usage of the knife subcommand library.</td>
110
+ </tr>
111
+ <tr class="row-odd"><td><a class="reference internal" href="knife_index_rebuild.html"><em>knife index rebuild</em></a></td>
112
+ <td>The <strong>knife index rebuild</strong> subcommand is used to rebuild the search indexes for the open source Chef server. This operation is destructive and may take some time.</td>
113
+ </tr>
114
+ <tr class="row-even"><td><a class="reference internal" href="knife_list.html"><em>knife list</em></a></td>
115
+ <td>The <strong>knife list</strong> subcommand is used to view a list of objects on the Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">list</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">list</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">list</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">list</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">list</span></tt>, but with a single verb (and a single action).</td>
116
+ </tr>
117
+ <tr class="row-odd"><td><a class="reference internal" href="knife_node.html"><em>knife node</em></a></td>
118
+ <td>The <strong>knife node</strong> subcommand is used to manage the nodes that exist on a Chef server.</td>
119
+ </tr>
120
+ <tr class="row-even"><td><a class="reference internal" href="knife_raw.html"><em>knife raw</em></a></td>
121
+ <td>The <strong>knife raw</strong> subcommand is used to send a REST request to an endpoint in the Chef server API.</td>
122
+ </tr>
123
+ <tr class="row-odd"><td><a class="reference internal" href="knife_recipe_list.html"><em>knife recipe list</em></a></td>
124
+ <td>The <strong>knife recipe list</strong> subcommand is used to view all of the recipes that are on a Chef server. A regular expression can be used to limit the results to recipes that match a specific pattern. The regular expression must be within quotes and not be surrounded by forward slashes (/).</td>
125
+ </tr>
126
+ <tr class="row-even"><td><a class="reference internal" href="knife_role.html"><em>knife role</em></a></td>
127
+ <td>The <strong>knife role</strong> subcommand is used to manage the roles that are associated with one or more nodes on a Chef server.</td>
128
+ </tr>
129
+ <tr class="row-odd"><td><a class="reference internal" href="knife_search.html"><em>knife search</em></a></td>
130
+ <td>The <strong>knife search</strong> subcommand is used run a search query for information that is indexed on a Chef server.</td>
131
+ </tr>
132
+ <tr class="row-even"><td><a class="reference internal" href="knife_show.html"><em>knife show</em></a></td>
133
+ <td>The <strong>knife show</strong> subcommand is used to view the details of one (or more) objects on the Chef server. This subcommand works similar to <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">cookbook</span> <span class="pre">show</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">data</span> <span class="pre">bag</span> <span class="pre">show</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">environment</span> <span class="pre">show</span></tt>, <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">node</span> <span class="pre">show</span></tt>, and <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">role</span> <span class="pre">show</span></tt>, but with a single verb (and a single action).</td>
134
+ </tr>
135
+ <tr class="row-odd"><td><a class="reference internal" href="knife_ssh.html"><em>knife ssh</em></a></td>
136
+ <td>The <strong>knife ssh</strong> subcommand is used to invoke SSH commands (in parallel) on a subset of nodes within an organization, based on the results of a <a class="reference external" href="http://docs.opscode.com/essentials_search.html">search query</a> made to the Chef server.</td>
137
+ </tr>
138
+ <tr class="row-even"><td><a class="reference internal" href="knife_status.html"><em>knife status</em></a></td>
139
+ <td>The <strong>knife status</strong> subcommand is used to display a brief summary of the nodes on a Chef server, including the time of the most recent successful chef-client run.</td>
140
+ </tr>
141
+ <tr class="row-odd"><td><a class="reference internal" href="knife_tag.html"><em>knife tag</em></a></td>
142
+ <td>The <strong>knife tag</strong> subcommand is used to apply tags to nodes on a Chef server.</td>
143
+ </tr>
144
+ <tr class="row-even"><td><a class="reference internal" href="knife_upload.html"><em>knife upload</em></a></td>
145
+ <td>The <strong>knife upload</strong> subcommand is used to upload roles, cookbooks, environments, and data bags to the Chef server from the current working directory in the chef-repo. This subcommand is often used in conjunction with <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">diff</span></tt>, which can be used to see exactly what changes will be uploaded, and then <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">download</span></tt>, which does the opposite of <tt class="docutils literal"><span class="pre">knife</span> <span class="pre">upload</span></tt>.</td>
146
+ </tr>
147
+ <tr class="row-odd"><td><a class="reference internal" href="knife_user.html"><em>knife user</em></a></td>
148
+ <td>The <strong>knife user</strong> subcommand is used to manage the list of users and their associated RSA public key-pairs.</td>
149
+ </tr>
150
+ <tr class="row-even"><td><a class="reference internal" href="knife_xargs.html"><em>knife xargs</em></a></td>
151
+ <td>The <strong>knife xargs</strong> subcommand is used to take patterns from standard input, download as JSON, run a command against the downloaded JSON, and then upload any changes.</td>
152
+ </tr>
153
+ </tbody>
154
+ </table>
155
+ </div>
156
+
157
+
158
+ </div>
159
+
160
+ </div>
161
+
162
+
163
+ <div class="clearer"></div>
164
+ </div>
165
+
166
+
167
+
168
+
169
+ </body>
170
170
  </html>