chef-dk 1.2.22 → 1.3.40

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 (232) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +8 -12
  3. data/Gemfile.lock +120 -116
  4. data/README.md +4 -3
  5. data/Rakefile +54 -0
  6. data/acceptance/Gemfile.lock +36 -47
  7. data/bin/chef +1 -1
  8. data/chef-dk.gemspec +9 -9
  9. data/lib/chef-dk/authenticated_http.rb +6 -7
  10. data/lib/chef-dk/builtin_commands.rb +3 -4
  11. data/lib/chef-dk/chef_runner.rb +7 -8
  12. data/lib/chef-dk/cli.rb +11 -11
  13. data/lib/chef-dk/command/base.rb +4 -4
  14. data/lib/chef-dk/command/clean_policy_cookbooks.rb +4 -5
  15. data/lib/chef-dk/command/clean_policy_revisions.rb +4 -6
  16. data/lib/chef-dk/command/delete_policy.rb +4 -6
  17. data/lib/chef-dk/command/delete_policy_group.rb +6 -8
  18. data/lib/chef-dk/command/diff.rb +9 -10
  19. data/lib/chef-dk/command/env.rb +26 -27
  20. data/lib/chef-dk/command/exec.rb +5 -6
  21. data/lib/chef-dk/command/export.rb +8 -10
  22. data/lib/chef-dk/command/gem.rb +5 -5
  23. data/lib/chef-dk/command/generate.rb +19 -19
  24. data/lib/chef-dk/command/generator_commands.rb +8 -8
  25. data/lib/chef-dk/command/generator_commands/app.rb +2 -3
  26. data/lib/chef-dk/command/generator_commands/attribute.rb +2 -3
  27. data/lib/chef-dk/command/generator_commands/base.rb +13 -13
  28. data/lib/chef-dk/command/generator_commands/build_cookbook.rb +2 -2
  29. data/lib/chef-dk/command/generator_commands/chef_exts/generator_desc_resource.rb +2 -2
  30. data/lib/chef-dk/command/generator_commands/chef_exts/quieter_doc_formatter.rb +1 -2
  31. data/lib/chef-dk/command/generator_commands/chef_exts/recipe_dsl_ext.rb +1 -2
  32. data/lib/chef-dk/command/generator_commands/cookbook.rb +2 -2
  33. data/lib/chef-dk/command/generator_commands/cookbook_code_file.rb +3 -3
  34. data/lib/chef-dk/command/generator_commands/cookbook_file.rb +2 -2
  35. data/lib/chef-dk/command/generator_commands/generator_generator.rb +4 -7
  36. data/lib/chef-dk/command/generator_commands/lwrp.rb +2 -2
  37. data/lib/chef-dk/command/generator_commands/policyfile.rb +2 -3
  38. data/lib/chef-dk/command/generator_commands/recipe.rb +2 -2
  39. data/lib/chef-dk/command/generator_commands/repo.rb +1 -3
  40. data/lib/chef-dk/command/generator_commands/template.rb +2 -2
  41. data/lib/chef-dk/command/install.rb +4 -5
  42. data/lib/chef-dk/command/provision.rb +12 -14
  43. data/lib/chef-dk/command/push.rb +5 -6
  44. data/lib/chef-dk/command/push_archive.rb +4 -5
  45. data/lib/chef-dk/command/shell_init.rb +15 -16
  46. data/lib/chef-dk/command/show_policy.rb +5 -7
  47. data/lib/chef-dk/command/undelete.rb +6 -7
  48. data/lib/chef-dk/command/update.rb +5 -6
  49. data/lib/chef-dk/command/verify.rb +30 -31
  50. data/lib/chef-dk/commands_map.rb +1 -3
  51. data/lib/chef-dk/component_test.rb +13 -13
  52. data/lib/chef-dk/configurable.rb +2 -2
  53. data/lib/chef-dk/cookbook_metadata.rb +2 -2
  54. data/lib/chef-dk/cookbook_omnifetch.rb +7 -8
  55. data/lib/chef-dk/cookbook_profiler/git.rb +8 -8
  56. data/lib/chef-dk/cookbook_profiler/identifiers.rb +7 -7
  57. data/lib/chef-dk/cookbook_profiler/null_scm.rb +0 -1
  58. data/lib/chef-dk/exceptions.rb +1 -1
  59. data/lib/chef-dk/generator.rb +9 -7
  60. data/lib/chef-dk/helpers.rb +15 -15
  61. data/lib/chef-dk/pager.rb +2 -3
  62. data/lib/chef-dk/policyfile/chef_repo_cookbook_source.rb +4 -4
  63. data/lib/chef-dk/policyfile/chef_server_cookbook_source.rb +6 -6
  64. data/lib/chef-dk/policyfile/community_cookbook_source.rb +4 -5
  65. data/lib/chef-dk/policyfile/comparison_base.rb +3 -4
  66. data/lib/chef-dk/policyfile/cookbook_location_specification.rb +6 -6
  67. data/lib/chef-dk/policyfile/cookbook_locks.rb +11 -11
  68. data/lib/chef-dk/policyfile/cookbook_sources.rb +5 -5
  69. data/lib/chef-dk/policyfile/delivery_supermarket_source.rb +8 -9
  70. data/lib/chef-dk/policyfile/differ.rb +7 -10
  71. data/lib/chef-dk/policyfile/dsl.rb +10 -11
  72. data/lib/chef-dk/policyfile/lister.rb +3 -6
  73. data/lib/chef-dk/policyfile/null_cookbook_source.rb +3 -3
  74. data/lib/chef-dk/policyfile/read_cookbook_for_compat_mode_upload.rb +3 -3
  75. data/lib/chef-dk/policyfile/reports/install.rb +3 -4
  76. data/lib/chef-dk/policyfile/reports/table_printer.rb +0 -1
  77. data/lib/chef-dk/policyfile/reports/upload.rb +4 -4
  78. data/lib/chef-dk/policyfile/solution_dependencies.rb +22 -22
  79. data/lib/chef-dk/policyfile/source_uri.rb +2 -2
  80. data/lib/chef-dk/policyfile/storage_config.rb +4 -5
  81. data/lib/chef-dk/policyfile/undo_record.rb +6 -9
  82. data/lib/chef-dk/policyfile/undo_stack.rb +5 -7
  83. data/lib/chef-dk/policyfile/uploader.rb +8 -8
  84. data/lib/chef-dk/policyfile_compiler.rb +16 -20
  85. data/lib/chef-dk/policyfile_lock.rb +10 -11
  86. data/lib/chef-dk/policyfile_services/clean_policies.rb +3 -3
  87. data/lib/chef-dk/policyfile_services/clean_policy_cookbooks.rb +3 -5
  88. data/lib/chef-dk/policyfile_services/export_repo.rb +13 -14
  89. data/lib/chef-dk/policyfile_services/install.rb +6 -6
  90. data/lib/chef-dk/policyfile_services/push.rb +6 -8
  91. data/lib/chef-dk/policyfile_services/push_archive.rb +6 -10
  92. data/lib/chef-dk/policyfile_services/rm_policy.rb +4 -5
  93. data/lib/chef-dk/policyfile_services/rm_policy_group.rb +4 -5
  94. data/lib/chef-dk/policyfile_services/show_policy.rb +5 -6
  95. data/lib/chef-dk/policyfile_services/undelete.rb +3 -3
  96. data/lib/chef-dk/policyfile_services/update_attributes.rb +4 -6
  97. data/lib/chef-dk/service_exception_inspectors.rb +2 -3
  98. data/lib/chef-dk/service_exception_inspectors/base.rb +0 -1
  99. data/lib/chef-dk/service_exception_inspectors/http.rb +1 -3
  100. data/lib/chef-dk/service_exceptions.rb +1 -2
  101. data/lib/chef-dk/shell_out.rb +1 -1
  102. data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/.kitchen.yml +2 -2
  103. data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/README.md +2 -2
  104. data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/test-fixture-recipe.rb +1 -0
  105. data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/attributes/default.rb +1 -1
  106. data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/recipes/default.rb +1 -1
  107. data/lib/chef-dk/skeletons/code_generator/metadata.rb +0 -1
  108. data/lib/chef-dk/skeletons/code_generator/recipes/app.rb +6 -6
  109. data/lib/chef-dk/skeletons/code_generator/recipes/attribute.rb +3 -3
  110. data/lib/chef-dk/skeletons/code_generator/recipes/build_cookbook.rb +43 -39
  111. data/lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb +31 -22
  112. data/lib/chef-dk/skeletons/code_generator/recipes/cookbook_file.rb +5 -5
  113. data/lib/chef-dk/skeletons/code_generator/recipes/lwrp.rb +4 -4
  114. data/lib/chef-dk/skeletons/code_generator/recipes/policyfile.rb +1 -1
  115. data/lib/chef-dk/skeletons/code_generator/recipes/recipe.rb +8 -8
  116. data/lib/chef-dk/skeletons/code_generator/recipes/repo.rb +15 -15
  117. data/lib/chef-dk/skeletons/code_generator/recipes/template.rb +6 -6
  118. data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/Berksfile.erb +0 -2
  119. data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/metadata.rb.erb +1 -0
  120. data/lib/chef-dk/skeletons/code_generator/templates/default/inspec_default_test.rb.erb +4 -4
  121. data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb +1 -1
  122. data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +1 -1
  123. data/lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb +4 -3
  124. data/lib/chef-dk/skeletons/code_generator/templates/default/recipe_spec.rb.erb +4 -2
  125. data/lib/chef-dk/ui.rb +0 -1
  126. data/lib/chef-dk/version.rb +1 -1
  127. data/lib/kitchen/provisioner/policyfile_zero.rb +7 -7
  128. data/omnibus_overrides.rb +3 -3
  129. data/spec/shared/a_file_generator.rb +3 -3
  130. data/spec/shared/custom_generator_cookbook.rb +6 -6
  131. data/spec/shared/fixture_cookbook_checksums.rb +2 -3
  132. data/spec/shared/setup_git_committer_config.rb +1 -1
  133. data/spec/shared/setup_git_cookbooks.rb +2 -2
  134. data/spec/spec_helper.rb +5 -5
  135. data/spec/test_helpers.rb +2 -2
  136. data/spec/unit/chef_runner_spec.rb +5 -7
  137. data/spec/unit/cli_spec.rb +36 -37
  138. data/spec/unit/command/base_spec.rb +4 -5
  139. data/spec/unit/command/clean_policy_cookbooks_spec.rb +8 -9
  140. data/spec/unit/command/clean_policy_revisions_spec.rb +8 -9
  141. data/spec/unit/command/delete_policy_group_spec.rb +11 -12
  142. data/spec/unit/command/delete_policy_spec.rb +11 -12
  143. data/spec/unit/command/diff_spec.rb +5 -6
  144. data/spec/unit/command/env_spec.rb +5 -5
  145. data/spec/unit/command/exec_spec.rb +18 -19
  146. data/spec/unit/command/export_spec.rb +5 -6
  147. data/spec/unit/command/generate_spec.rb +10 -10
  148. data/spec/unit/command/generator_commands/app_spec.rb +6 -6
  149. data/spec/unit/command/generator_commands/attribute_spec.rb +3 -4
  150. data/spec/unit/command/generator_commands/base_spec.rb +46 -46
  151. data/spec/unit/command/generator_commands/build_cookbook_spec.rb +50 -16
  152. data/spec/unit/command/generator_commands/chef_exts/generator_desc_resource_spec.rb +9 -9
  153. data/spec/unit/command/generator_commands/chef_exts/recipe_dsl_ext_spec.rb +16 -16
  154. data/spec/unit/command/generator_commands/cookbook_file_spec.rb +3 -4
  155. data/spec/unit/command/generator_commands/cookbook_spec.rb +23 -26
  156. data/spec/unit/command/generator_commands/generator_generator_spec.rb +4 -6
  157. data/spec/unit/command/generator_commands/lwrp_spec.rb +3 -4
  158. data/spec/unit/command/generator_commands/policyfile_spec.rb +3 -5
  159. data/spec/unit/command/generator_commands/recipe_spec.rb +4 -4
  160. data/spec/unit/command/generator_commands/repo_spec.rb +11 -11
  161. data/spec/unit/command/generator_commands/template_spec.rb +3 -4
  162. data/spec/unit/command/install_spec.rb +6 -6
  163. data/spec/unit/command/provision_spec.rb +27 -30
  164. data/spec/unit/command/push_archive_spec.rb +3 -3
  165. data/spec/unit/command/push_spec.rb +5 -6
  166. data/spec/unit/command/shell_init_spec.rb +17 -19
  167. data/spec/unit/command/show_policy_spec.rb +11 -12
  168. data/spec/unit/command/undelete_spec.rb +12 -14
  169. data/spec/unit/command/update_spec.rb +8 -8
  170. data/spec/unit/command/verify_spec.rb +10 -10
  171. data/spec/unit/commands_map_spec.rb +4 -4
  172. data/spec/unit/component_test_spec.rb +3 -3
  173. data/spec/unit/configurable_spec.rb +7 -7
  174. data/spec/unit/cookbook_metadata_spec.rb +5 -7
  175. data/spec/unit/cookbook_profiler/git_spec.rb +6 -7
  176. data/spec/unit/cookbook_profiler/identifiers_spec.rb +5 -7
  177. data/spec/unit/fixtures/command/cli_test_command.rb +2 -2
  178. data/spec/unit/fixtures/configurable/test_configurable.rb +1 -1
  179. data/spec/unit/fixtures/cookbooks_api/update_fixtures.rb +13 -16
  180. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/verify_me +1 -1
  181. data/spec/unit/gemfile_util_spec.rb +4 -4
  182. data/spec/unit/generator_spec.rb +10 -10
  183. data/spec/unit/helpers_spec.rb +31 -31
  184. data/spec/unit/pager_spec.rb +5 -7
  185. data/spec/unit/policyfile/chef_repo_cookbook_source_spec.rb +11 -11
  186. data/spec/unit/policyfile/chef_server_cookbook_source_spec.rb +13 -13
  187. data/spec/unit/policyfile/community_cookbook_source_spec.rb +3 -4
  188. data/spec/unit/policyfile/comparison_base_spec.rb +3 -6
  189. data/spec/unit/policyfile/cookbook_location_specification_spec.rb +3 -3
  190. data/spec/unit/policyfile/cookbook_locks_spec.rb +7 -9
  191. data/spec/unit/policyfile/delivery_supermarket_source_spec.rb +16 -17
  192. data/spec/unit/policyfile/differ_spec.rb +4 -5
  193. data/spec/unit/policyfile/lister_spec.rb +31 -35
  194. data/spec/unit/policyfile/null_cookbook_source_spec.rb +2 -3
  195. data/spec/unit/policyfile/read_cookbook_for_compat_mode_upload_spec.rb +3 -3
  196. data/spec/unit/policyfile/reports/install_spec.rb +4 -5
  197. data/spec/unit/policyfile/reports/upload_spec.rb +4 -6
  198. data/spec/unit/policyfile/solution_dependencies_spec.rb +13 -13
  199. data/spec/unit/policyfile/source_uri_spec.rb +5 -5
  200. data/spec/unit/policyfile/storage_config_spec.rb +3 -7
  201. data/spec/unit/policyfile/undo_record_spec.rb +21 -23
  202. data/spec/unit/policyfile/undo_stack_spec.rb +5 -6
  203. data/spec/unit/policyfile/uploader_spec.rb +73 -75
  204. data/spec/unit/policyfile_demands_spec.rb +93 -99
  205. data/spec/unit/policyfile_evaluation_spec.rb +14 -14
  206. data/spec/unit/policyfile_lock_build_spec.rb +64 -65
  207. data/spec/unit/policyfile_lock_install_spec.rb +5 -6
  208. data/spec/unit/policyfile_lock_serialization_spec.rb +14 -15
  209. data/spec/unit/policyfile_lock_validation_spec.rb +17 -20
  210. data/spec/unit/policyfile_services/clean_policies_spec.rb +16 -16
  211. data/spec/unit/policyfile_services/clean_policy_cookbooks_spec.rb +26 -29
  212. data/spec/unit/policyfile_services/export_repo_spec.rb +3 -6
  213. data/spec/unit/policyfile_services/install_spec.rb +5 -7
  214. data/spec/unit/policyfile_services/push_archive_spec.rb +4 -8
  215. data/spec/unit/policyfile_services/push_spec.rb +3 -3
  216. data/spec/unit/policyfile_services/rm_policy_group_spec.rb +16 -20
  217. data/spec/unit/policyfile_services/rm_policy_spec.rb +14 -17
  218. data/spec/unit/policyfile_services/show_policy_spec.rb +78 -80
  219. data/spec/unit/policyfile_services/undelete_spec.rb +5 -7
  220. data/spec/unit/policyfile_services/update_attributes_spec.rb +34 -35
  221. data/spec/unit/service_exception_inspectors/base_spec.rb +2 -4
  222. data/spec/unit/service_exception_inspectors/http_spec.rb +9 -11
  223. data/spec/unit/shell_out_spec.rb +2 -2
  224. data/spec/unit/tasks/helpers_spec.rb +2 -2
  225. data/tasks/bin/bundle-platform +1 -1
  226. data/tasks/bundle_util.rb +1 -1
  227. data/tasks/dependencies.rb +21 -7
  228. data/tasks/gemfile_util.rb +1 -1
  229. data/tasks/helpers.rb +2 -2
  230. data/tasks/version.rb +26 -1
  231. data/version_policy.rb +6 -6
  232. metadata +3 -3
@@ -15,13 +15,13 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'ffi_yajl'
18
+ require "ffi_yajl"
19
19
 
20
- require 'chef-dk/service_exceptions'
21
- require 'chef-dk/authenticated_http'
22
- require 'chef-dk/policyfile_compiler'
23
- require 'chef-dk/policyfile/uploader'
24
- require 'chef-dk/policyfile/storage_config'
20
+ require "chef-dk/service_exceptions"
21
+ require "chef-dk/authenticated_http"
22
+ require "chef-dk/policyfile_compiler"
23
+ require "chef-dk/policyfile/uploader"
24
+ require "chef-dk/policyfile/storage_config"
25
25
 
26
26
  module ChefDK
27
27
  module PolicyfileServices
@@ -77,7 +77,6 @@ module ChefDK
77
77
  validate_lockfile
78
78
  write_updated_lockfile
79
79
  upload_policy
80
-
81
80
  end
82
81
 
83
82
  def policyfile_lock
@@ -111,4 +110,3 @@ module ChefDK
111
110
  end
112
111
  end
113
112
  end
114
-
@@ -15,13 +15,13 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'zlib'
19
- require 'archive/tar/minitar'
18
+ require "zlib"
19
+ require "archive/tar/minitar"
20
20
 
21
- require 'chef-dk/service_exceptions'
22
- require 'chef-dk/policyfile_lock'
23
- require 'chef-dk/authenticated_http'
24
- require 'chef-dk/policyfile/uploader'
21
+ require "chef-dk/service_exceptions"
22
+ require "chef-dk/policyfile_lock"
23
+ require "chef-dk/authenticated_http"
24
+ require "chef-dk/policyfile/uploader"
25
25
 
26
26
  module ChefDK
27
27
  module PolicyfileServices
@@ -37,7 +37,6 @@ module ChefDK
37
37
 
38
38
  attr_reader :policyfile_lock
39
39
 
40
-
41
40
  def initialize(archive_file: nil, policy_group: nil, root_dir: nil, ui: nil, config: nil)
42
41
  @archive_file = archive_file
43
42
  @policy_group = policy_group
@@ -104,7 +103,6 @@ MESSAGE
104
103
  raise InvalidPolicyArchive, "Archive does not contain a cookbook_artifacts directory"
105
104
  end
106
105
 
107
-
108
106
  policy_data = load_policy_data(policyfile_lock_path)
109
107
  storage_config = Policyfile::StorageConfig.new.use_policyfile_lock(policyfile_lock_path)
110
108
  @policyfile_lock = ChefDK::PolicyfileLock.new(storage_config).build_from_archive(policy_data)
@@ -118,7 +116,6 @@ MESSAGE
118
116
  "Missing cookbooks: '#{missing_cookbooks.keys.join('", "')}'."
119
117
  raise InvalidPolicyArchive, message
120
118
  end
121
-
122
119
  end
123
120
 
124
121
  def load_policy_data(policyfile_lock_path)
@@ -132,7 +129,6 @@ MESSAGE
132
129
  unpack_to(staging_dir)
133
130
  yield staging_dir
134
131
  end
135
-
136
132
  end
137
133
 
138
134
  def unpack_to(staging_dir)
@@ -15,10 +15,10 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'chef-dk/service_exceptions'
19
- require 'chef-dk/authenticated_http'
20
- require 'chef-dk/policyfile/undo_stack'
21
- require 'chef-dk/policyfile/undo_record'
18
+ require "chef-dk/service_exceptions"
19
+ require "chef-dk/authenticated_http"
20
+ require "chef-dk/policyfile/undo_stack"
21
+ require "chef-dk/policyfile/undo_record"
22
22
 
23
23
  module ChefDK
24
24
  module PolicyfileServices
@@ -139,4 +139,3 @@ module ChefDK
139
139
  end
140
140
  end
141
141
  end
142
-
@@ -15,10 +15,10 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'chef-dk/service_exceptions'
19
- require 'chef-dk/authenticated_http'
20
- require 'chef-dk/policyfile/undo_stack'
21
- require 'chef-dk/policyfile/undo_record'
18
+ require "chef-dk/service_exceptions"
19
+ require "chef-dk/authenticated_http"
20
+ require "chef-dk/policyfile/undo_stack"
21
+ require "chef-dk/policyfile/undo_record"
22
22
 
23
23
  module ChefDK
24
24
  module PolicyfileServices
@@ -83,4 +83,3 @@ module ChefDK
83
83
  end
84
84
  end
85
85
  end
86
-
@@ -15,9 +15,9 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'chef-dk/policyfile/comparison_base'
19
- require 'chef-dk/policyfile/lister'
20
- require 'chef-dk/pager'
18
+ require "chef-dk/policyfile/comparison_base"
19
+ require "chef-dk/policyfile/lister"
20
+ require "chef-dk/pager"
21
21
 
22
22
  module ChefDK
23
23
  module PolicyfileServices
@@ -214,7 +214,7 @@ module ChefDK
214
214
  end
215
215
 
216
216
  def shorten_rev_id(revision_id)
217
- revision_id[0,10]
217
+ revision_id[0, 10]
218
218
  end
219
219
 
220
220
  def http_client
@@ -227,11 +227,10 @@ module ChefDK
227
227
 
228
228
  def format_rev_ids_for_report(rev_id_by_group)
229
229
  rev_id_by_group.format_revision_ids do |rev_id|
230
- rev_id ? rev_id[0,10] : "*NOT APPLIED*"
230
+ rev_id ? rev_id[0, 10] : "*NOT APPLIED*"
231
231
  end
232
232
  end
233
233
 
234
-
235
234
  end
236
235
  end
237
236
  end
@@ -15,9 +15,9 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'chef-dk/authenticated_http'
19
- require 'chef-dk/service_exceptions'
20
- require 'chef-dk/policyfile/undo_stack'
18
+ require "chef-dk/authenticated_http"
19
+ require "chef-dk/service_exceptions"
20
+ require "chef-dk/policyfile/undo_stack"
21
21
 
22
22
  module ChefDK
23
23
  module PolicyfileServices
@@ -15,10 +15,10 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'chef-dk/helpers'
19
- require 'chef-dk/policyfile/storage_config'
20
- require 'chef-dk/service_exceptions'
21
- require 'chef-dk/policyfile_compiler'
18
+ require "chef-dk/helpers"
19
+ require "chef-dk/policyfile/storage_config"
20
+ require "chef-dk/service_exceptions"
21
+ require "chef-dk/policyfile_compiler"
22
22
 
23
23
  module ChefDK
24
24
  module PolicyfileServices
@@ -88,7 +88,6 @@ module ChefDK
88
88
  end
89
89
  end
90
90
 
91
-
92
91
  def assert_policy_and_lock_present!
93
92
  unless File.exist?(policyfile_expanded_path)
94
93
  raise PolicyfileNotFound, "Policyfile not found at path #{policyfile_expanded_path}"
@@ -101,4 +100,3 @@ module ChefDK
101
100
  end
102
101
  end
103
102
  end
104
-
@@ -15,11 +15,10 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'chef-dk/service_exception_inspectors/base'
19
- require 'chef-dk/service_exception_inspectors/http'
18
+ require "chef-dk/service_exception_inspectors/base"
19
+ require "chef-dk/service_exception_inspectors/http"
20
20
 
21
21
  module ChefDK
22
22
  module ServiceExceptionInspectors
23
23
  end
24
24
  end
25
-
@@ -37,4 +37,3 @@ module ChefDK
37
37
  end
38
38
  end
39
39
  end
40
-
@@ -15,7 +15,7 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'ffi_yajl'
18
+ require "ffi_yajl"
19
19
 
20
20
  module ChefDK
21
21
  module ServiceExceptionInspectors
@@ -117,5 +117,3 @@ END
117
117
  end
118
118
  end
119
119
  end
120
-
121
-
@@ -20,7 +20,7 @@
20
20
  # dependencies, so they are split into their own file here.
21
21
  ##
22
22
 
23
- require 'chef-dk/service_exception_inspectors'
23
+ require "chef-dk/service_exception_inspectors"
24
24
 
25
25
  module ChefDK
26
26
 
@@ -140,4 +140,3 @@ module ChefDK
140
140
  class ChefConvergeError < ChefRunnerError; end
141
141
 
142
142
  end
143
-
@@ -15,7 +15,7 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'mixlib/shellout'
18
+ require "mixlib/shellout"
19
19
 
20
20
  module ChefDK
21
21
 
@@ -8,14 +8,14 @@ provisioner:
8
8
  name: chef_zero
9
9
  encrypted_data_bag_secret_key_path: 'secrets/fakey-mcfakerton'
10
10
  data_bags_path: './data_bags'
11
+ product_name: chefdk
11
12
 
12
13
  platforms:
13
14
  - name: ubuntu-16.04
14
- - name: centos-7.2
15
+ - name: centos-7.3
15
16
 
16
17
  suites:
17
18
  - name: default
18
19
  run_list:
19
- - recipe[delivery_build::default]
20
20
  - recipe[test]
21
21
  attributes:
@@ -47,9 +47,9 @@ The change we'll use for an example is to install the `zsh` package. Write a fai
47
47
  require 'spec_helper'
48
48
 
49
49
  describe 'godzilla::default' do
50
- context 'When all attributes are default, on an unspecified platform' do
50
+ context 'When all attributes are default, on Ubuntu 16.04' do
51
51
  let(:chef_run) do
52
- runner = ChefSpec::ServerRunner.new
52
+ runner = ChefSpec::ServerRunner.new(platform: 'ubuntu', version: '16.04')
53
53
  runner.converge(described_recipe)
54
54
  end
55
55
 
@@ -3,5 +3,6 @@
3
3
  execute "HOME=/home/vagrant delivery job verify #{phase} --server localhost --ent test --org kitchen" do
4
4
  cwd '/tmp/repo-data'
5
5
  user 'vagrant'
6
+ environment('GIT_DISCOVERY_ACROSS_FILESYSTEM' => '1')
6
7
  end
7
8
  end
@@ -2,6 +2,6 @@
2
2
  # attributes to be applied to nodes that run this cookbook.
3
3
 
4
4
  # Set a default name
5
- default["example"]["name"] = "Sam Doe"
5
+ default['example']['name'] = 'Sam Doe'
6
6
 
7
7
  # For further information, see the Chef documentation (https://docs.chef.io/essentials_cookbook_attribute_files.html).
@@ -1,7 +1,7 @@
1
1
  # This is a Chef recipe file. It can be used to specify resources which will
2
2
  # apply configuration to a server.
3
3
 
4
- log "Welcome to Chef, #{node["example"]["name"]}!" do
4
+ log "Welcome to Chef, #{node['example']['name']}!" do
5
5
  level :info
6
6
  end
7
7
 
@@ -5,4 +5,3 @@ license 'Apache 2 License'
5
5
  description 'Generates Chef code for Chef DK'
6
6
  long_description 'Generates Chef code for Chef DK'
7
7
  version '0.1.0'
8
-
@@ -56,7 +56,7 @@ cookbook_file "#{cookbook_dir}/Berksfile"
56
56
  directory "#{cookbook_dir}/recipes"
57
57
 
58
58
  template "#{cookbook_dir}/recipes/default.rb" do
59
- source "recipe.rb.erb"
59
+ source 'recipe.rb.erb'
60
60
  helpers(ChefDK::Generator::TemplateHelper)
61
61
  end
62
62
 
@@ -70,20 +70,20 @@ cookbook_file "#{cookbook_dir}/spec/spec_helper.rb" do
70
70
  end
71
71
 
72
72
  template "#{cookbook_dir}/spec/unit/recipes/default_spec.rb" do
73
- source "recipe_spec.rb.erb"
73
+ source 'recipe_spec.rb.erb'
74
74
  helpers(ChefDK::Generator::TemplateHelper)
75
75
  action :create_if_missing
76
76
  end
77
77
 
78
78
  # git
79
79
  if context.have_git
80
- if !context.skip_git_init
81
- execute("initialize-git") do
82
- command("git init .")
80
+ unless context.skip_git_init
81
+ execute('initialize-git') do
82
+ command('git init .')
83
83
  cwd app_dir
84
84
  end
85
85
  end
86
86
  cookbook_file "#{app_dir}/.gitignore" do
87
- source "gitignore"
87
+ source 'gitignore'
88
88
  end
89
89
  end
@@ -1,12 +1,12 @@
1
1
 
2
2
  context = ChefDK::Generator.context
3
3
  cookbook_dir = File.join(context.cookbook_root, context.cookbook_name)
4
- attribute_dir = File.join(cookbook_dir, "attributes")
5
- attribute_path = File.join(cookbook_dir, "attributes", "#{context.new_file_basename}.rb")
4
+ attribute_dir = File.join(cookbook_dir, 'attributes')
5
+ attribute_path = File.join(cookbook_dir, 'attributes', "#{context.new_file_basename}.rb")
6
6
 
7
7
  directory attribute_dir
8
8
 
9
9
  template attribute_path do
10
- source "attribute.rb.erb"
10
+ source 'attribute.rb.erb'
11
11
  helpers(ChefDK::Generator::TemplateHelper)
12
12
  end
@@ -2,38 +2,42 @@
2
2
  context = ChefDK::Generator.context
3
3
  delivery_project_dir = context.delivery_project_dir
4
4
  pipeline = context.pipeline
5
- dot_delivery_dir = File.join(delivery_project_dir, ".delivery")
5
+ dot_delivery_dir = File.join(delivery_project_dir, '.delivery')
6
+ config_json = File.join(dot_delivery_dir, 'config.json')
7
+ project_toml = File.join(dot_delivery_dir, 'project.toml')
6
8
 
7
- generator_desc("Ensuring delivery configuration")
9
+ generator_desc('Ensuring delivery configuration')
8
10
 
9
11
  directory dot_delivery_dir
10
12
 
11
- cookbook_file File.join(dot_delivery_dir, "config.json") do
12
- source "delivery-config.json"
13
+ cookbook_file config_json do
14
+ source 'delivery-config.json'
15
+ not_if { File.exist?(config_json) }
13
16
  end
14
17
 
15
18
  # Adding a new prototype file for delivery-cli local commands
16
- cookbook_file File.join(dot_delivery_dir, "project.toml") do
17
- source "delivery-project.toml"
19
+ cookbook_file project_toml do
20
+ source 'delivery-project.toml'
21
+ not_if { File.exist?(project_toml) }
18
22
  end
19
23
 
20
- generator_desc("Ensuring correct delivery build cookbook content")
24
+ generator_desc('Ensuring correct delivery build cookbook content')
21
25
 
22
- build_cookbook_dir = File.join(dot_delivery_dir, "build_cookbook")
26
+ build_cookbook_dir = File.join(dot_delivery_dir, 'build_cookbook')
23
27
 
24
28
  # cookbook root dir
25
29
  directory build_cookbook_dir
26
30
 
27
31
  # metadata.rb
28
32
  template "#{build_cookbook_dir}/metadata.rb" do
29
- source "build_cookbook/metadata.rb.erb"
33
+ source 'build_cookbook/metadata.rb.erb'
30
34
  helpers(ChefDK::Generator::TemplateHelper)
31
35
  action :create_if_missing
32
36
  end
33
37
 
34
38
  # README
35
39
  cookbook_file "#{build_cookbook_dir}/README.md" do
36
- source "build_cookbook/README.md"
40
+ source 'build_cookbook/README.md'
37
41
  action :create_if_missing
38
42
  end
39
43
 
@@ -49,7 +53,7 @@ cookbook_file "#{build_cookbook_dir}/chefignore"
49
53
 
50
54
  # Berksfile
51
55
  template "#{build_cookbook_dir}/Berksfile" do
52
- source "build_cookbook/Berksfile.erb"
56
+ source 'build_cookbook/Berksfile.erb'
53
57
  helpers(ChefDK::Generator::TemplateHelper)
54
58
  action :create_if_missing
55
59
  end
@@ -68,7 +72,7 @@ end
68
72
 
69
73
  # Test Kitchen build node
70
74
  cookbook_file "#{build_cookbook_dir}/.kitchen.yml" do
71
- source "build_cookbook/.kitchen.yml"
75
+ source 'build_cookbook/.kitchen.yml'
72
76
  end
73
77
 
74
78
  directory "#{build_cookbook_dir}/data_bags/keys" do
@@ -93,7 +97,7 @@ version '0.1.0')
93
97
  end
94
98
 
95
99
  cookbook_file "#{build_cookbook_dir}/test/fixtures/cookbooks/test/recipes/default.rb" do
96
- source "build_cookbook/test-fixture-recipe.rb"
100
+ source 'build_cookbook/test-fixture-recipe.rb'
97
101
  end
98
102
 
99
103
  # Construct git history as if we did all the work in a feature branch which we
@@ -111,52 +115,52 @@ end
111
115
  #
112
116
  if context.have_git && context.delivery_project_git_initialized && !context.skip_git_init
113
117
 
114
- generator_desc("Adding delivery configuration to feature branch")
118
+ generator_desc('Adding delivery configuration to feature branch')
115
119
 
116
- execute("git-create-feature-branch") do
117
- command("git checkout -t -b add-delivery-configuration")
120
+ execute('git-create-feature-branch') do
121
+ command('git checkout -t -b add-delivery-configuration')
118
122
  cwd delivery_project_dir
119
-
120
- not_if "git branch |grep \"add-delivery-configuration\""
123
+
124
+ not_if 'git branch |grep "add-delivery-configuration"'
121
125
  end
122
126
 
123
- execute("git-add-delivery-config-json") do
124
- command("git add .delivery/config.json")
127
+ execute('git-add-delivery-config-json') do
128
+ command('git add .delivery/config.json')
125
129
  cwd delivery_project_dir
126
130
 
127
- only_if "git status --porcelain |grep \".\""
131
+ only_if 'git status -u --porcelain |grep ".delivery/config.json"'
128
132
  end
129
133
 
130
134
  # Adding the new prototype file to the feature branch
131
135
  # so it gets checked in with the delivery config commit
132
- execute("git-add-delivery-project-toml") do
133
- command("git add .delivery/project.toml")
136
+ execute('git-add-delivery-project-toml') do
137
+ command('git add .delivery/project.toml')
134
138
  cwd delivery_project_dir
135
139
 
136
- only_if "git status --porcelain |grep \".\""
140
+ only_if 'git status -u --porcelain |grep ".delivery/project.toml"'
137
141
  end
138
142
 
139
- execute("git-commit-delivery-config") do
140
- command("git commit -m \"Add generated delivery configuration\"")
143
+ execute('git-commit-delivery-config') do
144
+ command('git commit -m "Add generated delivery configuration"')
141
145
  cwd delivery_project_dir
142
146
 
143
- only_if "git status --porcelain |grep \".\""
147
+ only_if 'git status -u --porcelain | egrep "config.json|project.toml"'
144
148
  end
145
149
 
146
- generator_desc("Adding build cookbook to feature branch")
150
+ generator_desc('Adding build cookbook to feature branch')
147
151
 
148
- execute("git-add-delivery-build-cookbook-files") do
149
- command("git add .delivery")
152
+ execute('git-add-delivery-build-cookbook-files') do
153
+ command('git add .delivery')
150
154
  cwd delivery_project_dir
151
155
 
152
- only_if "git status --porcelain |grep \".\""
156
+ only_if 'git status -u --porcelain |grep ".delivery"'
153
157
  end
154
158
 
155
- execute("git-commit-delivery-build-cookbook") do
156
- command("git commit -m \"Add generated delivery build cookbook\"")
159
+ execute('git-commit-delivery-build-cookbook') do
160
+ command('git commit -m "Add generated delivery build cookbook"')
157
161
  cwd delivery_project_dir
158
162
 
159
- only_if "git status --porcelain |grep \".\""
163
+ only_if 'git status -u --porcelain |grep ".delivery"'
160
164
  end
161
165
 
162
166
  execute("git-return-to-#{pipeline}-branch") do
@@ -164,15 +168,15 @@ if context.have_git && context.delivery_project_git_initialized && !context.skip
164
168
  cwd delivery_project_dir
165
169
  end
166
170
 
167
- generator_desc("Merging delivery content feature branch to master")
171
+ generator_desc('Merging delivery content feature branch to master')
168
172
 
169
- execute("git-merge-delivery-config-branch") do
170
- command("git merge --no-ff add-delivery-configuration")
173
+ execute('git-merge-delivery-config-branch') do
174
+ command('git merge --no-ff add-delivery-configuration')
171
175
  cwd delivery_project_dir
172
176
  end
173
177
 
174
- execute("git-remove-delivery-config-branch") do
175
- command("git branch -D add-delivery-configuration")
178
+ execute('git-remove-delivery-config-branch') do
179
+ command('git branch -D add-delivery-configuration')
176
180
  cwd delivery_project_dir
177
181
  end
178
182
  end