chef-dk 2.6.2 → 3.0.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +126 -121
  3. data/Gemfile.lock +812 -807
  4. data/LICENSE +201 -201
  5. data/README.md +333 -333
  6. data/Rakefile +74 -74
  7. data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +27 -27
  8. data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +287 -287
  9. data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +52 -52
  10. data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +51 -51
  11. data/acceptance/.shared/kitchen_acceptance/metadata.rb +1 -1
  12. data/acceptance/Gemfile +21 -21
  13. data/acceptance/Gemfile.lock +334 -334
  14. data/acceptance/README.md +132 -132
  15. data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +2 -2
  16. data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +2 -2
  17. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
  18. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
  19. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
  20. data/acceptance/trivial/.kitchen.yml +7 -7
  21. data/acceptance/trivial/test/integration/chefdk-current-install/inspec/chef_client_spec.rb +5 -5
  22. data/bin/chef +25 -25
  23. data/chef-dk.gemspec +60 -60
  24. data/lib/chef-dk.rb +19 -19
  25. data/lib/chef-dk/authenticated_http.rb +22 -22
  26. data/lib/chef-dk/builtin_commands.rb +59 -59
  27. data/lib/chef-dk/chef_runner.rb +114 -114
  28. data/lib/chef-dk/chef_server_api_multi.rb +73 -73
  29. data/lib/chef-dk/cli.rb +201 -201
  30. data/lib/chef-dk/command/base.rb +79 -79
  31. data/lib/chef-dk/command/clean_policy_cookbooks.rb +114 -114
  32. data/lib/chef-dk/command/clean_policy_revisions.rb +111 -111
  33. data/lib/chef-dk/command/delete_policy.rb +120 -120
  34. data/lib/chef-dk/command/delete_policy_group.rb +120 -120
  35. data/lib/chef-dk/command/diff.rb +315 -315
  36. data/lib/chef-dk/command/env.rb +89 -89
  37. data/lib/chef-dk/command/exec.rb +44 -44
  38. data/lib/chef-dk/command/export.rb +155 -155
  39. data/lib/chef-dk/command/gem.rb +47 -47
  40. data/lib/chef-dk/command/generate.rb +125 -125
  41. data/lib/chef-dk/command/generator_commands.rb +83 -83
  42. data/lib/chef-dk/command/generator_commands/app.rb +106 -106
  43. data/lib/chef-dk/command/generator_commands/attribute.rb +36 -36
  44. data/lib/chef-dk/command/generator_commands/base.rb +157 -157
  45. data/lib/chef-dk/command/generator_commands/build_cookbook.rb +125 -125
  46. data/lib/chef-dk/command/generator_commands/chef_exts/generator_desc_resource.rb +85 -85
  47. data/lib/chef-dk/command/generator_commands/chef_exts/quieter_doc_formatter.rb +38 -38
  48. data/lib/chef-dk/command/generator_commands/chef_exts/recipe_dsl_ext.rb +39 -39
  49. data/lib/chef-dk/command/generator_commands/cookbook.rb +241 -241
  50. data/lib/chef-dk/command/generator_commands/cookbook_code_file.rb +100 -100
  51. data/lib/chef-dk/command/generator_commands/cookbook_file.rb +45 -45
  52. data/lib/chef-dk/command/generator_commands/generator_generator.rb +174 -174
  53. data/lib/chef-dk/command/generator_commands/helpers.rb +36 -36
  54. data/lib/chef-dk/command/generator_commands/policyfile.rb +124 -126
  55. data/lib/chef-dk/command/generator_commands/recipe.rb +36 -36
  56. data/lib/chef-dk/command/generator_commands/repo.rb +123 -123
  57. data/lib/chef-dk/command/generator_commands/resource.rb +36 -36
  58. data/lib/chef-dk/command/generator_commands/template.rb +46 -46
  59. data/lib/chef-dk/command/install.rb +120 -120
  60. data/lib/chef-dk/command/provision.rb +436 -436
  61. data/lib/chef-dk/command/push.rb +117 -117
  62. data/lib/chef-dk/command/push_archive.rb +125 -125
  63. data/lib/chef-dk/command/shell_init.rb +179 -179
  64. data/lib/chef-dk/command/show_policy.rb +163 -163
  65. data/lib/chef-dk/command/undelete.rb +154 -154
  66. data/lib/chef-dk/command/update.rb +133 -133
  67. data/lib/chef-dk/command/verify.rb +629 -629
  68. data/lib/chef-dk/commands_map.rb +113 -113
  69. data/lib/chef-dk/completions/bash.sh.erb +5 -5
  70. data/lib/chef-dk/completions/chef.fish.erb +10 -10
  71. data/lib/chef-dk/completions/zsh.zsh.erb +21 -21
  72. data/lib/chef-dk/component_test.rb +227 -227
  73. data/lib/chef-dk/configurable.rb +88 -88
  74. data/lib/chef-dk/cookbook_metadata.rb +45 -45
  75. data/lib/chef-dk/cookbook_omnifetch.rb +32 -32
  76. data/lib/chef-dk/cookbook_profiler/git.rb +152 -151
  77. data/lib/chef-dk/cookbook_profiler/identifiers.rb +72 -72
  78. data/lib/chef-dk/cookbook_profiler/null_scm.rb +31 -31
  79. data/lib/chef-dk/exceptions.rb +151 -150
  80. data/lib/chef-dk/generator.rb +165 -165
  81. data/lib/chef-dk/helpers.rb +176 -176
  82. data/lib/chef-dk/pager.rb +104 -105
  83. data/lib/chef-dk/policyfile/artifactory_cookbook_source.rb +102 -102
  84. data/lib/chef-dk/policyfile/attribute_merge_checker.rb +110 -110
  85. data/lib/chef-dk/policyfile/chef_repo_cookbook_source.rb +138 -138
  86. data/lib/chef-dk/policyfile/chef_server_cookbook_source.rb +99 -99
  87. data/lib/chef-dk/policyfile/chef_server_lock_fetcher.rb +167 -164
  88. data/lib/chef-dk/policyfile/community_cookbook_source.rb +95 -95
  89. data/lib/chef-dk/policyfile/comparison_base.rb +123 -123
  90. data/lib/chef-dk/policyfile/cookbook_location_specification.rb +154 -154
  91. data/lib/chef-dk/policyfile/cookbook_locks.rb +466 -466
  92. data/lib/chef-dk/policyfile/cookbook_sources.rb +23 -23
  93. data/lib/chef-dk/policyfile/delivery_supermarket_source.rb +89 -89
  94. data/lib/chef-dk/policyfile/differ.rb +263 -263
  95. data/lib/chef-dk/policyfile/dsl.rb +288 -288
  96. data/lib/chef-dk/policyfile/git_lock_fetcher.rb +265 -0
  97. data/lib/chef-dk/policyfile/included_policies_cookbook_source.rb +156 -156
  98. data/lib/chef-dk/policyfile/lister.rb +229 -229
  99. data/lib/chef-dk/policyfile/local_lock_fetcher.rb +129 -123
  100. data/lib/chef-dk/policyfile/lock_applier.rb +80 -80
  101. data/lib/chef-dk/policyfile/null_cookbook_source.rb +49 -49
  102. data/lib/chef-dk/policyfile/policyfile_location_specification.rb +125 -122
  103. data/lib/chef-dk/policyfile/read_cookbook_for_compat_mode_upload.rb +124 -124
  104. data/lib/chef-dk/policyfile/reports/install.rb +69 -69
  105. data/lib/chef-dk/policyfile/reports/table_printer.rb +57 -57
  106. data/lib/chef-dk/policyfile/reports/upload.rb +70 -70
  107. data/lib/chef-dk/policyfile/solution_dependencies.rb +311 -312
  108. data/lib/chef-dk/policyfile/source_uri.rb +57 -57
  109. data/lib/chef-dk/policyfile/storage_config.rb +112 -102
  110. data/lib/chef-dk/policyfile/undo_record.rb +139 -139
  111. data/lib/chef-dk/policyfile/undo_stack.rb +128 -128
  112. data/lib/chef-dk/policyfile/uploader.rb +213 -213
  113. data/lib/chef-dk/policyfile_compiler.rb +528 -528
  114. data/lib/chef-dk/policyfile_lock.rb +581 -581
  115. data/lib/chef-dk/policyfile_services/clean_policies.rb +95 -95
  116. data/lib/chef-dk/policyfile_services/clean_policy_cookbooks.rb +123 -123
  117. data/lib/chef-dk/policyfile_services/export_repo.rb +419 -420
  118. data/lib/chef-dk/policyfile_services/install.rb +162 -162
  119. data/lib/chef-dk/policyfile_services/push.rb +112 -112
  120. data/lib/chef-dk/policyfile_services/push_archive.rb +164 -200
  121. data/lib/chef-dk/policyfile_services/rm_policy.rb +141 -141
  122. data/lib/chef-dk/policyfile_services/rm_policy_group.rb +85 -85
  123. data/lib/chef-dk/policyfile_services/show_policy.rb +234 -236
  124. data/lib/chef-dk/policyfile_services/undelete.rb +108 -108
  125. data/lib/chef-dk/policyfile_services/update_attributes.rb +110 -110
  126. data/lib/chef-dk/service_exception_inspectors.rb +24 -24
  127. data/lib/chef-dk/service_exception_inspectors/base.rb +39 -39
  128. data/lib/chef-dk/service_exception_inspectors/http.rb +119 -119
  129. data/lib/chef-dk/service_exceptions.rb +142 -142
  130. data/lib/chef-dk/shell_out.rb +36 -36
  131. data/lib/chef-dk/skeletons/code_generator/files/default/Berksfile +4 -4
  132. data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/.kitchen.yml +21 -21
  133. data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/README.md +146 -146
  134. data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/test-fixture-recipe.rb +9 -9
  135. data/lib/chef-dk/skeletons/code_generator/files/default/chefignore +104 -107
  136. data/lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README-policy.md +9 -9
  137. data/lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README.md +66 -54
  138. data/lib/chef-dk/skeletons/code_generator/files/default/delivery-config.json +17 -17
  139. data/lib/chef-dk/skeletons/code_generator/files/default/delivery-project.toml +36 -36
  140. data/lib/chef-dk/skeletons/code_generator/files/default/gitignore +22 -22
  141. data/lib/chef-dk/skeletons/code_generator/files/default/repo/README.md +24 -24
  142. data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/README.md +27 -27
  143. data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/attributes/default.rb +8 -8
  144. data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/metadata.rb +7 -7
  145. data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/recipes/default.rb +9 -9
  146. data/lib/chef-dk/skeletons/code_generator/files/default/repo/data_bags/README.md +56 -56
  147. data/lib/chef-dk/skeletons/code_generator/files/default/repo/data_bags/example/example_item.json +3 -3
  148. data/lib/chef-dk/skeletons/code_generator/files/default/repo/dot-chef-repo.txt +6 -6
  149. data/lib/chef-dk/skeletons/code_generator/files/default/repo/environments/README.md +9 -9
  150. data/lib/chef-dk/skeletons/code_generator/files/default/repo/environments/example.json +12 -12
  151. data/lib/chef-dk/skeletons/code_generator/files/default/repo/policies/README.md +24 -24
  152. data/lib/chef-dk/skeletons/code_generator/files/default/repo/roles/README.md +9 -9
  153. data/lib/chef-dk/skeletons/code_generator/files/default/repo/roles/example.json +12 -12
  154. data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper.rb +3 -3
  155. data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper_policyfile.rb +3 -3
  156. data/lib/chef-dk/skeletons/code_generator/metadata.rb +8 -8
  157. data/lib/chef-dk/skeletons/code_generator/recipes/app.rb +89 -89
  158. data/lib/chef-dk/skeletons/code_generator/recipes/attribute.rb +13 -13
  159. data/lib/chef-dk/skeletons/code_generator/recipes/build_cookbook.rb +177 -177
  160. data/lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb +158 -152
  161. data/lib/chef-dk/skeletons/code_generator/recipes/cookbook_file.rb +25 -25
  162. data/lib/chef-dk/skeletons/code_generator/recipes/helpers.rb +21 -21
  163. data/lib/chef-dk/skeletons/code_generator/recipes/policyfile.rb +9 -9
  164. data/lib/chef-dk/skeletons/code_generator/recipes/recipe.rb +52 -52
  165. data/lib/chef-dk/skeletons/code_generator/recipes/repo.rb +68 -68
  166. data/lib/chef-dk/skeletons/code_generator/recipes/resource.rb +13 -13
  167. data/lib/chef-dk/skeletons/code_generator/recipes/template.rb +32 -32
  168. data/lib/chef-dk/skeletons/code_generator/templates/default/CHANGELOG.md.erb +11 -0
  169. data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.all_rights.erb +3 -3
  170. data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.apachev2.erb +201 -201
  171. data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.gplv2.erb +339 -339
  172. data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.gplv3.erb +674 -674
  173. data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.mit.erb +21 -21
  174. data/lib/chef-dk/skeletons/code_generator/templates/default/Policyfile.rb.erb +25 -25
  175. data/lib/chef-dk/skeletons/code_generator/templates/default/README.md.erb +4 -4
  176. data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/Berksfile.erb +7 -7
  177. data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/metadata.rb.erb +10 -10
  178. data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/recipe.rb.erb +8 -8
  179. data/lib/chef-dk/skeletons/code_generator/templates/default/helpers.rb.erb +39 -39
  180. data/lib/chef-dk/skeletons/code_generator/templates/default/inspec_default_test.rb.erb +18 -18
  181. data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb +26 -26
  182. data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +33 -33
  183. data/lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb +20 -20
  184. data/lib/chef-dk/skeletons/code_generator/templates/default/recipe.rb.erb +5 -5
  185. data/lib/chef-dk/skeletons/code_generator/templates/default/recipe_spec.rb.erb +35 -35
  186. data/lib/chef-dk/skeletons/code_generator/templates/default/repo/gitignore.erb +128 -128
  187. data/lib/chef-dk/skeletons/code_generator/templates/default/resource.rb.erb +1 -1
  188. data/lib/chef-dk/ui.rb +57 -57
  189. data/lib/chef-dk/version.rb +20 -20
  190. data/lib/kitchen/provisioner/policyfile_zero.rb +195 -195
  191. data/omnibus_overrides.rb +25 -25
  192. data/spec/shared/a_file_generator.rb +125 -125
  193. data/spec/shared/a_generated_file.rb +12 -12
  194. data/spec/shared/command_with_ui_object.rb +11 -11
  195. data/spec/shared/custom_generator_cookbook.rb +136 -136
  196. data/spec/shared/fixture_cookbook_checksums.rb +46 -46
  197. data/spec/shared/setup_git_committer_config.rb +54 -54
  198. data/spec/shared/setup_git_cookbooks.rb +53 -53
  199. data/spec/spec_helper.rb +51 -51
  200. data/spec/test_helpers.rb +84 -84
  201. data/spec/unit/chef_runner_spec.rb +139 -139
  202. data/spec/unit/chef_server_api_multi_spec.rb +120 -120
  203. data/spec/unit/cli_spec.rb +377 -377
  204. data/spec/unit/command/base_spec.rb +172 -172
  205. data/spec/unit/command/clean_policy_cookbooks_spec.rb +180 -180
  206. data/spec/unit/command/clean_policy_revisions_spec.rb +180 -180
  207. data/spec/unit/command/delete_policy_group_spec.rb +206 -206
  208. data/spec/unit/command/delete_policy_spec.rb +206 -206
  209. data/spec/unit/command/diff_spec.rb +311 -311
  210. data/spec/unit/command/env_spec.rb +52 -52
  211. data/spec/unit/command/exec_spec.rb +178 -178
  212. data/spec/unit/command/export_spec.rb +199 -199
  213. data/spec/unit/command/generate_spec.rb +142 -142
  214. data/spec/unit/command/generator_commands/app_spec.rb +166 -166
  215. data/spec/unit/command/generator_commands/attribute_spec.rb +31 -31
  216. data/spec/unit/command/generator_commands/base_spec.rb +181 -181
  217. data/spec/unit/command/generator_commands/build_cookbook_spec.rb +377 -377
  218. data/spec/unit/command/generator_commands/chef_exts/generator_desc_resource_spec.rb +97 -97
  219. data/spec/unit/command/generator_commands/chef_exts/recipe_dsl_ext_spec.rb +111 -111
  220. data/spec/unit/command/generator_commands/cookbook_file_spec.rb +31 -31
  221. data/spec/unit/command/generator_commands/cookbook_spec.rb +765 -756
  222. data/spec/unit/command/generator_commands/generator_generator_spec.rb +227 -227
  223. data/spec/unit/command/generator_commands/helpers_spec.rb +31 -31
  224. data/spec/unit/command/generator_commands/policyfile_spec.rb +223 -223
  225. data/spec/unit/command/generator_commands/recipe_spec.rb +37 -37
  226. data/spec/unit/command/generator_commands/repo_spec.rb +374 -374
  227. data/spec/unit/command/generator_commands/resource_spec.rb +31 -31
  228. data/spec/unit/command/generator_commands/template_spec.rb +31 -31
  229. data/spec/unit/command/install_spec.rb +179 -179
  230. data/spec/unit/command/provision_spec.rb +589 -589
  231. data/spec/unit/command/push_archive_spec.rb +153 -153
  232. data/spec/unit/command/push_spec.rb +198 -198
  233. data/spec/unit/command/shell_init_spec.rb +339 -339
  234. data/spec/unit/command/show_policy_spec.rb +234 -234
  235. data/spec/unit/command/undelete_spec.rb +244 -244
  236. data/spec/unit/command/update_spec.rb +283 -283
  237. data/spec/unit/command/verify_spec.rb +341 -341
  238. data/spec/unit/commands_map_spec.rb +57 -57
  239. data/spec/unit/component_test_spec.rb +128 -128
  240. data/spec/unit/configurable_spec.rb +68 -68
  241. data/spec/unit/cookbook_metadata_spec.rb +96 -96
  242. data/spec/unit/cookbook_profiler/git_spec.rb +176 -176
  243. data/spec/unit/cookbook_profiler/identifiers_spec.rb +81 -81
  244. data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_one.rb +9 -9
  245. data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_two.rb +9 -9
  246. data/spec/unit/fixtures/command/cli_test_command.rb +26 -26
  247. data/spec/unit/fixtures/command/explicit_path_example.rb +7 -7
  248. data/spec/unit/fixtures/configurable/test_config_loader.rb +5 -5
  249. data/spec/unit/fixtures/configurable/test_configurable.rb +10 -10
  250. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml +16 -16
  251. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/Berksfile +3 -3
  252. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md +4 -4
  253. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/chefignore +96 -96
  254. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb +8 -8
  255. data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb +8 -8
  256. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/.kitchen.yml +16 -16
  257. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/Berksfile +3 -3
  258. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/README.md +4 -4
  259. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/chefignore +96 -96
  260. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/metadata.rb +8 -8
  261. data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/recipes/default.rb +8 -8
  262. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/.kitchen.yml +16 -16
  263. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/Berksfile +3 -3
  264. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/README.md +4 -4
  265. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/chefignore +96 -96
  266. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/metadata.rb +8 -8
  267. data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/recipes/default.rb +8 -8
  268. data/spec/unit/fixtures/cookbooks_api/chef_server_universe.json +56 -56
  269. data/spec/unit/fixtures/cookbooks_api/pruned_chef_server_universe.json +30 -30
  270. data/spec/unit/fixtures/cookbooks_api/pruned_small_universe.json +1321 -1321
  271. data/spec/unit/fixtures/cookbooks_api/small_universe.json +2987 -2987
  272. data/spec/unit/fixtures/cookbooks_api/universe.json +1 -1
  273. data/spec/unit/fixtures/cookbooks_api/update_fixtures.rb +33 -33
  274. data/spec/unit/fixtures/dev_cookbooks/README.md +16 -16
  275. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/integration_test +2 -2
  276. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/verify_me +5 -5
  277. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/chef/verify_me +3 -3
  278. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/test-kitchen/verify_me +2 -2
  279. data/spec/unit/fixtures/example_cookbook/.gitignore +17 -17
  280. data/spec/unit/fixtures/example_cookbook/.kitchen.yml +16 -16
  281. data/spec/unit/fixtures/example_cookbook/Berksfile +3 -3
  282. data/spec/unit/fixtures/example_cookbook/README.md +4 -4
  283. data/spec/unit/fixtures/example_cookbook/chefignore +96 -96
  284. data/spec/unit/fixtures/example_cookbook/metadata.rb +8 -8
  285. data/spec/unit/fixtures/example_cookbook/recipes/default.rb +8 -8
  286. data/spec/unit/fixtures/example_cookbook_metadata_json_only/.gitignore +17 -17
  287. data/spec/unit/fixtures/example_cookbook_metadata_json_only/.kitchen.yml +16 -16
  288. data/spec/unit/fixtures/example_cookbook_metadata_json_only/Berksfile +3 -3
  289. data/spec/unit/fixtures/example_cookbook_metadata_json_only/README.md +4 -4
  290. data/spec/unit/fixtures/example_cookbook_metadata_json_only/chefignore +96 -96
  291. data/spec/unit/fixtures/example_cookbook_metadata_json_only/metadata.json +5 -5
  292. data/spec/unit/fixtures/example_cookbook_metadata_json_only/recipes/default.rb +8 -8
  293. data/spec/unit/fixtures/example_cookbook_no_metadata/.gitignore +17 -17
  294. data/spec/unit/fixtures/example_cookbook_no_metadata/.kitchen.yml +16 -16
  295. data/spec/unit/fixtures/example_cookbook_no_metadata/Berksfile +3 -3
  296. data/spec/unit/fixtures/example_cookbook_no_metadata/README.md +4 -4
  297. data/spec/unit/fixtures/example_cookbook_no_metadata/chefignore +96 -96
  298. data/spec/unit/fixtures/example_cookbook_no_metadata/recipes/default.rb +8 -8
  299. data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/README.md +4 -4
  300. data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/chefignore +96 -96
  301. data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/metadata.rb +8 -8
  302. data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/recipes/default.rb +8 -8
  303. data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/Berksfile +3 -3
  304. data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/README.md +4 -4
  305. data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/chefignore +96 -96
  306. data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/metadata.rb +9 -9
  307. data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/recipes/default.rb +8 -8
  308. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/.kitchen.yml +16 -16
  309. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/Berksfile +3 -3
  310. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/README.md +4 -4
  311. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/chefignore +96 -96
  312. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/metadata.rb +8 -8
  313. data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/recipes/default.rb +8 -8
  314. data/spec/unit/fixtures/local_path_cookbooks/metadata-missing/README.md +2 -2
  315. data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml +16 -16
  316. data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md +4 -4
  317. data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb +8 -8
  318. data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb +8 -8
  319. data/spec/unit/generator_spec.rb +119 -119
  320. data/spec/unit/pager_spec.rb +117 -117
  321. data/spec/unit/policyfile/artifactory_cookbook_source_spec.rb +59 -59
  322. data/spec/unit/policyfile/attribute_merge_checker_spec.rb +80 -80
  323. data/spec/unit/policyfile/chef_repo_cookbook_source_spec.rb +93 -93
  324. data/spec/unit/policyfile/chef_server_cookbook_source_spec.rb +55 -55
  325. data/spec/unit/policyfile/chef_server_lock_fetcher_spec.rb +161 -161
  326. data/spec/unit/policyfile/community_cookbook_source_spec.rb +83 -83
  327. data/spec/unit/policyfile/comparison_base_spec.rb +340 -340
  328. data/spec/unit/policyfile/cookbook_location_specification_spec.rb +347 -347
  329. data/spec/unit/policyfile/cookbook_locks_spec.rb +527 -527
  330. data/spec/unit/policyfile/delivery_supermarket_source_spec.rb +129 -129
  331. data/spec/unit/policyfile/differ_spec.rb +686 -686
  332. data/spec/unit/policyfile/git_lock_fetcher_spec.rb +155 -0
  333. data/spec/unit/policyfile/included_policies_cookbook_source_spec.rb +242 -242
  334. data/spec/unit/policyfile/lister_spec.rb +268 -268
  335. data/spec/unit/policyfile/local_lock_fetcher_spec.rb +173 -173
  336. data/spec/unit/policyfile/lock_applier_spec.rb +100 -100
  337. data/spec/unit/policyfile/null_cookbook_source_spec.rb +34 -34
  338. data/spec/unit/policyfile/read_cookbook_for_compat_mode_upload_spec.rb +92 -92
  339. data/spec/unit/policyfile/reports/install_spec.rb +114 -114
  340. data/spec/unit/policyfile/reports/upload_spec.rb +94 -94
  341. data/spec/unit/policyfile/solution_dependencies_spec.rb +170 -170
  342. data/spec/unit/policyfile/source_uri_spec.rb +36 -36
  343. data/spec/unit/policyfile/storage_config_spec.rb +180 -180
  344. data/spec/unit/policyfile/undo_record_spec.rb +258 -258
  345. data/spec/unit/policyfile/undo_stack_spec.rb +265 -265
  346. data/spec/unit/policyfile/uploader_spec.rb +409 -409
  347. data/spec/unit/policyfile_demands_spec.rb +1197 -1197
  348. data/spec/unit/policyfile_evaluation_spec.rb +628 -638
  349. data/spec/unit/policyfile_includes_dsl_spec.rb +159 -159
  350. data/spec/unit/policyfile_includes_spec.rb +720 -720
  351. data/spec/unit/policyfile_install_with_includes_spec.rb +232 -232
  352. data/spec/unit/policyfile_lock_build_spec.rb +1065 -1065
  353. data/spec/unit/policyfile_lock_install_spec.rb +137 -137
  354. data/spec/unit/policyfile_lock_serialization_spec.rb +424 -424
  355. data/spec/unit/policyfile_lock_validation_spec.rb +608 -608
  356. data/spec/unit/policyfile_services/clean_policies_spec.rb +236 -236
  357. data/spec/unit/policyfile_services/clean_policy_cookbooks_spec.rb +272 -272
  358. data/spec/unit/policyfile_services/export_repo_spec.rb +473 -478
  359. data/spec/unit/policyfile_services/install_spec.rb +209 -209
  360. data/spec/unit/policyfile_services/push_archive_spec.rb +359 -374
  361. data/spec/unit/policyfile_services/push_spec.rb +249 -249
  362. data/spec/unit/policyfile_services/rm_policy_group_spec.rb +237 -237
  363. data/spec/unit/policyfile_services/rm_policy_spec.rb +263 -263
  364. data/spec/unit/policyfile_services/show_policy_spec.rb +887 -887
  365. data/spec/unit/policyfile_services/undelete_spec.rb +302 -302
  366. data/spec/unit/policyfile_services/update_attributes_spec.rb +229 -229
  367. data/spec/unit/policyfile_services/update_spec.rb +140 -140
  368. data/spec/unit/service_exception_inspectors/base_spec.rb +41 -41
  369. data/spec/unit/service_exception_inspectors/http_spec.rb +138 -138
  370. data/spec/unit/shell_out_spec.rb +34 -34
  371. data/tasks/announce.rb +57 -57
  372. data/tasks/bin/bundle-platform.bat +2 -2
  373. data/tasks/dependencies.rb +89 -89
  374. data/tasks/templates/prerelease.md.erb +35 -35
  375. data/tasks/templates/release.md.erb +34 -34
  376. data/warning.txt +9 -9
  377. metadata +9 -5
@@ -1,132 +1,132 @@
1
- # Acceptance Testing for Chef DK
2
- This folder contains acceptance tests that are required for ChefDK
3
- release readiness.
4
-
5
- ## Getting started
6
- The tests use the _chef-acceptance_ gem as the high level framework.
7
- All the gems needed to run these tests can be installed with Bundler.
8
-
9
- ### Important Note!
10
- Before running chef-acceptance, you *MUST* do the following on your current session:
11
-
12
- ```
13
- export APPBUNDLER_ALLOW_RVM=true
14
- ```
15
-
16
- ## Pre-requisites / One time set up
17
-
18
- ### Set up for local VM (Vagrant)
19
-
20
- If you intend to run the acceptance tests on a local VM, the supported solution is to use Vagrant.
21
- Ensure that Vagrant is installed on the machine that tests will run from, along with a
22
- virtualization driver (E.g.: VirtualBox).
23
-
24
- Set up the KITCHEN_DRIVER environment variable appropriately (value should be "vagrant"). E.g.:
25
- ```
26
- export KITCHEN_DRIVER=vagrant
27
- ```
28
- Add this to your shell profile or startup script as needed.
29
-
30
- ### Set up for cloud VM (EC2)
31
-
32
- If you intend to run the acceptance tests on a cloud VM, the supported solution is to use EC2.
33
-
34
- The steps you will need to do are:
35
-
36
- 1. Add your AWS credentials to the machine - e.g., to the ~/.aws/credentials directory.
37
- - The easiest way to do this is to download the aws command line (`brew install awscli` on OS/X) and run `aws configure`.
38
- 2. Create or import a SSH key to AWS. (If you already have one, you can skip the import/create)
39
- - In the AWS console, click Key Pairs, then Create Key Pair or Import Key Pair.
40
- 3. Copy or move the private key file (USERNAME.pem) to the SSH folder (e.g. `~/.ssh/USERNAME.pem`).
41
- - If you Created a key pair in step 2, download the private key and move it to `~/.ssh`.
42
- - If you Importd a key pair in step 2, just ensure your private key is in `~/.ssh` and has the same name as the key pair (`~/.ssh/USERNAME` or `~/.ssh/USERNAME.pem`).
43
- 4. Set AWS_SSH_KEY_ID to the SSH key name.
44
- - This is **optional** if your AWS SSH key name is your local username.
45
- - You may want to set this in your shell `.profile`.
46
-
47
- ```shell
48
- export AWS_SSH_KEY_ID=name-of-private-key
49
- ```
50
- 5. Set the private key to only be readable by root
51
-
52
- ```shell
53
- chmod 0400 ~/.ssh/USERNAME.pem
54
- ```
55
- 6. Set up the KITCHEN_DRIVER environment variable appropriately (value should be "ec2"). (This is optional, as ec2 is the default.) E.g.:
56
-
57
- ```shell
58
- export KITCHEN_DRIVER=ec2
59
- ```
60
- Add this to your shell profile or startup script as needed.
61
- 7. **Connect to Chef VPN**. The instances you create will not have public IPs!
62
-
63
- ## Setting up and running a test suite
64
- To get started, do a bundle install from the acceptance directory:
65
- ```shell
66
- chef/acceptance$ bundle install --binstubs
67
- ```
68
-
69
- To get some basic info and ensure chef-acceptance can be run, do:
70
- ```shell
71
- chef/acceptance$ bin/chef-acceptance info
72
- ```
73
-
74
- To run a particular test suite, do the following:
75
- ```shell
76
- chef/acceptance$ bin/chef-acceptance test TEST_SUITE
77
- ```
78
-
79
- To restrict which OS's will run, use the KITCHEN_INSTANCES environment variable:
80
-
81
- ```shell
82
- chef/acceptance$ export KITCHEN_INSTANCES=*-ubuntu-1404
83
- chef/acceptance$ bin/chef-acceptance test cookbook-git
84
- ```
85
-
86
- If KITCHEN_INSTANCES is not specified, the default instances are default-ubuntu-1404 and default-windows-windows-2012r2. All selected instances will be run in *parallel* if the driver supports it (ec2 does, vagrant doesn't).
87
-
88
- ## Optional Settings
89
-
90
- In addition to the environment settings above, there are a number of
91
- key values that are available to set for changing the way the acceptance
92
- tests are run.
93
-
94
- ### KITCHEN_CHEF_CHANNEL
95
-
96
- Use this setting to specify which channel we will pull the chef build from.
97
- The default is to use the "current" channel, unless the ARTIFACTORY_USERNAME is set
98
- (which normally happens when running under Jenkins), in which case the default is
99
- changed to "unstable".
100
-
101
- ```shell
102
- export KITCHEN_CHEF_CHANNEL=name-of-channel
103
- ```
104
-
105
-
106
- ### KITCHEN_CHEF_VERSION
107
-
108
- Use this setting to override the version of the Chef client that is installed. The default is to get the latest version in the desired channel.
109
-
110
- ```shell
111
- export KITCHEN_CHEF_VERSION=version-of-chef-client
112
- ```
113
-
114
- ### ARTIFACTORY_USERNAME / ARTIFACTORY_PASSWORD
115
-
116
- If the desired channel to get the Chef client from is "unstable", the following settings need to be exported:
117
-
118
- ```shell
119
- export ARTIFACTORY_USERNAME=username
120
- export ARTIFACTORY_PASSWORD=password
121
- ```
122
-
123
- ## Future Work
124
-
125
- Currently, there is no simple mechanism for chef-acceptance
126
- to build an Omnibus package of the developers local chef
127
- instance and run acceptance tests on it - the only packages
128
- that can be exercised are ones that come from one of the
129
- pipeline channels (unstable, current or stable).
130
-
131
- This is not an issue when adding acceptance tests for pre-existing functionality (as that functionality is presumed
132
- to already be in a build in one of the pipeline channels).
1
+ # Acceptance Testing for Chef DK
2
+ This folder contains acceptance tests that are required for ChefDK
3
+ release readiness.
4
+
5
+ ## Getting started
6
+ The tests use the _chef-acceptance_ gem as the high level framework.
7
+ All the gems needed to run these tests can be installed with Bundler.
8
+
9
+ ### Important Note!
10
+ Before running chef-acceptance, you *MUST* do the following on your current session:
11
+
12
+ ```
13
+ export APPBUNDLER_ALLOW_RVM=true
14
+ ```
15
+
16
+ ## Pre-requisites / One time set up
17
+
18
+ ### Set up for local VM (Vagrant)
19
+
20
+ If you intend to run the acceptance tests on a local VM, the supported solution is to use Vagrant.
21
+ Ensure that Vagrant is installed on the machine that tests will run from, along with a
22
+ virtualization driver (E.g.: VirtualBox).
23
+
24
+ Set up the KITCHEN_DRIVER environment variable appropriately (value should be "vagrant"). E.g.:
25
+ ```
26
+ export KITCHEN_DRIVER=vagrant
27
+ ```
28
+ Add this to your shell profile or startup script as needed.
29
+
30
+ ### Set up for cloud VM (EC2)
31
+
32
+ If you intend to run the acceptance tests on a cloud VM, the supported solution is to use EC2.
33
+
34
+ The steps you will need to do are:
35
+
36
+ 1. Add your AWS credentials to the machine - e.g., to the ~/.aws/credentials directory.
37
+ - The easiest way to do this is to download the aws command line (`brew install awscli` on OS/X) and run `aws configure`.
38
+ 2. Create or import a SSH key to AWS. (If you already have one, you can skip the import/create)
39
+ - In the AWS console, click Key Pairs, then Create Key Pair or Import Key Pair.
40
+ 3. Copy or move the private key file (USERNAME.pem) to the SSH folder (e.g. `~/.ssh/USERNAME.pem`).
41
+ - If you Created a key pair in step 2, download the private key and move it to `~/.ssh`.
42
+ - If you Importd a key pair in step 2, just ensure your private key is in `~/.ssh` and has the same name as the key pair (`~/.ssh/USERNAME` or `~/.ssh/USERNAME.pem`).
43
+ 4. Set AWS_SSH_KEY_ID to the SSH key name.
44
+ - This is **optional** if your AWS SSH key name is your local username.
45
+ - You may want to set this in your shell `.profile`.
46
+
47
+ ```shell
48
+ export AWS_SSH_KEY_ID=name-of-private-key
49
+ ```
50
+ 5. Set the private key to only be readable by root
51
+
52
+ ```shell
53
+ chmod 0400 ~/.ssh/USERNAME.pem
54
+ ```
55
+ 6. Set up the KITCHEN_DRIVER environment variable appropriately (value should be "ec2"). (This is optional, as ec2 is the default.) E.g.:
56
+
57
+ ```shell
58
+ export KITCHEN_DRIVER=ec2
59
+ ```
60
+ Add this to your shell profile or startup script as needed.
61
+ 7. **Connect to Chef VPN**. The instances you create will not have public IPs!
62
+
63
+ ## Setting up and running a test suite
64
+ To get started, do a bundle install from the acceptance directory:
65
+ ```shell
66
+ chef/acceptance$ bundle install --binstubs
67
+ ```
68
+
69
+ To get some basic info and ensure chef-acceptance can be run, do:
70
+ ```shell
71
+ chef/acceptance$ bin/chef-acceptance info
72
+ ```
73
+
74
+ To run a particular test suite, do the following:
75
+ ```shell
76
+ chef/acceptance$ bin/chef-acceptance test TEST_SUITE
77
+ ```
78
+
79
+ To restrict which OS's will run, use the KITCHEN_INSTANCES environment variable:
80
+
81
+ ```shell
82
+ chef/acceptance$ export KITCHEN_INSTANCES=*-ubuntu-1404
83
+ chef/acceptance$ bin/chef-acceptance test cookbook-git
84
+ ```
85
+
86
+ If KITCHEN_INSTANCES is not specified, the default instances are default-ubuntu-1404 and default-windows-windows-2012r2. All selected instances will be run in *parallel* if the driver supports it (ec2 does, vagrant doesn't).
87
+
88
+ ## Optional Settings
89
+
90
+ In addition to the environment settings above, there are a number of
91
+ key values that are available to set for changing the way the acceptance
92
+ tests are run.
93
+
94
+ ### KITCHEN_CHEF_CHANNEL
95
+
96
+ Use this setting to specify which channel we will pull the chef build from.
97
+ The default is to use the "current" channel, unless the ARTIFACTORY_USERNAME is set
98
+ (which normally happens when running under Jenkins), in which case the default is
99
+ changed to "unstable".
100
+
101
+ ```shell
102
+ export KITCHEN_CHEF_CHANNEL=name-of-channel
103
+ ```
104
+
105
+
106
+ ### KITCHEN_CHEF_VERSION
107
+
108
+ Use this setting to override the version of the Chef client that is installed. The default is to get the latest version in the desired channel.
109
+
110
+ ```shell
111
+ export KITCHEN_CHEF_VERSION=version-of-chef-client
112
+ ```
113
+
114
+ ### ARTIFACTORY_USERNAME / ARTIFACTORY_PASSWORD
115
+
116
+ If the desired channel to get the Chef client from is "unstable", the following settings need to be exported:
117
+
118
+ ```shell
119
+ export ARTIFACTORY_USERNAME=username
120
+ export ARTIFACTORY_PASSWORD=password
121
+ ```
122
+
123
+ ## Future Work
124
+
125
+ Currently, there is no simple mechanism for chef-acceptance
126
+ to build an Omnibus package of the developers local chef
127
+ instance and run acceptance tests on it - the only packages
128
+ that can be exercised are ones that come from one of the
129
+ pipeline channels (unstable, current or stable).
130
+
131
+ This is not an issue when adding acceptance tests for pre-existing functionality (as that functionality is presumed
132
+ to already be in a build in one of the pipeline channels).
@@ -1,2 +1,2 @@
1
- nodes/
2
- tmp/
1
+ nodes/
2
+ tmp/
@@ -1,2 +1,2 @@
1
- name "acceptance-cookbook"
2
- depends "kitchen_acceptance"
1
+ name "acceptance-cookbook"
2
+ depends "kitchen_acceptance"
@@ -1 +1 @@
1
- kitchen "destroy"
1
+ kitchen "destroy"
@@ -1 +1 @@
1
- kitchen "setup"
1
+ kitchen "setup"
@@ -1 +1 @@
1
- kitchen "verify"
1
+ kitchen "verify"
@@ -1,7 +1,7 @@
1
- verifier:
2
- name: inspec
3
-
4
- suites:
5
- - name: chefdk-current-install
6
- includes: [ubuntu-14.04]
7
- run_list:
1
+ verifier:
2
+ name: inspec
3
+
4
+ suites:
5
+ - name: chefdk-current-install
6
+ includes: [ubuntu-14.04]
7
+ run_list:
@@ -1,5 +1,5 @@
1
- chef_version = ENV["KITCHEN_CHEF_VERSION"].split("+")[0]
2
- describe command("chef -v") do
3
- its("exit_status") { should eq 0 }
4
- its(:stdout) { should match /Chef Development Kit Version: #{chef_version}/ } if chef_version != "latest"
5
- end
1
+ chef_version = ENV["KITCHEN_CHEF_VERSION"].split("+")[0]
2
+ describe command("chef -v") do
3
+ its("exit_status") { should eq 0 }
4
+ its(:stdout) { should match(/Chef Development Kit Version: #{chef_version}/) } if chef_version != "latest"
5
+ end
data/bin/chef CHANGED
@@ -1,25 +1,25 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # Copyright:: Copyright (c) 2014 Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- # Set a trap for ctrl-C right away so we don't surface interrupt exceptions inside of rubygems or whatever.
20
- Kernel.trap(:INT) { print("\n"); exit 1 }
21
-
22
- $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "..", "lib")))
23
- require "chef-dk/cli"
24
-
25
- ChefDK::CLI.new(ARGV.clone).run
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
4
+ # License:: Apache License, Version 2.0
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ # Set a trap for ctrl-C right away so we don't surface interrupt exceptions inside of rubygems or whatever.
20
+ Kernel.trap(:INT) { print("\n"); exit 1 }
21
+
22
+ $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "..", "lib")))
23
+ require "chef-dk/cli"
24
+
25
+ ChefDK::CLI.new(ARGV.clone).run
@@ -1,60 +1,60 @@
1
- #
2
- # Copyright:: Copyright (c) 2014-2017, Chef Software Inc.
3
- # License:: Apache License, Version 2.0
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
- #
17
-
18
- lib = File.expand_path("../lib", __FILE__)
19
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
20
- require "chef-dk/version"
21
-
22
- Gem::Specification.new do |gem|
23
- gem.name = "chef-dk"
24
- gem.version = ChefDK::VERSION
25
- gem.authors = [ "Daniel DeLeo", "Lamont Granquist", "Serdar Sutay" ]
26
- gem.email = [ "dan@chef.io", "lamont@chef.io", "serdar@chef.io"]
27
- gem.description = "A streamlined development and deployment workflow for Chef platform."
28
- gem.summary = gem.description
29
- gem.homepage = "https://www.chef.io/"
30
-
31
- gem.required_ruby_version = ">= 2.3"
32
-
33
- gem.files = %w{Rakefile LICENSE README.md warning.txt} +
34
- %w{omnibus_overrides.rb} +
35
- Dir.glob("Gemfile*") + # Includes Gemfile and locks
36
- Dir.glob("*.gemspec") +
37
- Dir.glob("{lib,spec,acceptance,tasks}/**/*", File::FNM_DOTMATCH).reject { |f| File.directory?(f) }
38
- gem.executables = %w{ chef }
39
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
40
- gem.require_paths = ["lib"]
41
-
42
- gem.add_dependency "mixlib-cli", "~> 1.7"
43
- gem.add_dependency "mixlib-shellout", "~> 2.0"
44
- gem.add_dependency "ffi-yajl", ">= 1.0", "< 3.0"
45
- gem.add_dependency "minitar", "~> 0.6"
46
- gem.add_dependency "chef", "~> 13.0"
47
- gem.add_dependency "solve", "< 5.0", "> 2.0"
48
- gem.add_dependency "addressable", ">= 2.3.5", "< 2.6"
49
- gem.add_dependency "cookbook-omnifetch", "~> 0.5"
50
- gem.add_dependency "diff-lcs", "~> 1.0"
51
- gem.add_dependency "paint", "~> 1.0"
52
- gem.add_dependency "chef-provisioning", "~> 2.0"
53
-
54
- %w{rspec-core rspec-expectations rspec-mocks}.each do |dev_gem|
55
- gem.add_development_dependency dev_gem, "~> 3.0"
56
- end
57
-
58
- gem.post_install_message = File.read(File.expand_path("../warning.txt", __FILE__))
59
-
60
- end
1
+ #
2
+ # Copyright:: Copyright (c) 2014-2018, Chef Software Inc.
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+
18
+ lib = File.expand_path("../lib", __FILE__)
19
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
20
+ require "chef-dk/version"
21
+
22
+ Gem::Specification.new do |gem|
23
+ gem.name = "chef-dk"
24
+ gem.version = ChefDK::VERSION
25
+ gem.authors = [ "Daniel DeLeo", "Lamont Granquist", "Serdar Sutay" ]
26
+ gem.email = [ "dan@chef.io", "lamont@chef.io", "serdar@chef.io"]
27
+ gem.description = "A streamlined development and deployment workflow for Chef platform."
28
+ gem.summary = gem.description
29
+ gem.homepage = "https://www.chef.io/"
30
+
31
+ gem.required_ruby_version = ">= 2.4"
32
+
33
+ gem.files = %w{Rakefile LICENSE README.md warning.txt} +
34
+ %w{omnibus_overrides.rb} +
35
+ Dir.glob("Gemfile*") + # Includes Gemfile and locks
36
+ Dir.glob("*.gemspec") +
37
+ Dir.glob("{lib,spec,acceptance,tasks}/**/*", File::FNM_DOTMATCH).reject { |f| File.directory?(f) }
38
+ gem.executables = %w{ chef }
39
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
40
+ gem.require_paths = ["lib"]
41
+
42
+ gem.add_dependency "mixlib-cli", "~> 1.7"
43
+ gem.add_dependency "mixlib-shellout", "~> 2.0"
44
+ gem.add_dependency "ffi-yajl", ">= 1.0", "< 3.0"
45
+ gem.add_dependency "minitar", "~> 0.6"
46
+ gem.add_dependency "chef", "~> 14.0"
47
+ gem.add_dependency "solve", "< 5.0", "> 2.0"
48
+ gem.add_dependency "addressable", ">= 2.3.5", "< 2.6"
49
+ gem.add_dependency "cookbook-omnifetch", "~> 0.5"
50
+ gem.add_dependency "diff-lcs", "~> 1.0"
51
+ gem.add_dependency "paint", "~> 1.0"
52
+ gem.add_dependency "chef-provisioning", "~> 2.0"
53
+
54
+ %w{rspec-core rspec-expectations rspec-mocks}.each do |dev_gem|
55
+ gem.add_development_dependency dev_gem, "~> 3.0"
56
+ end
57
+
58
+ gem.post_install_message = File.read(File.expand_path("../warning.txt", __FILE__))
59
+
60
+ end