chef-cli 5.1.0 → 5.4.1

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 (219) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/chef-cli.gemspec +2 -2
  4. data/lib/chef-cli.rb +1 -1
  5. data/lib/chef-cli/authenticated_http.rb +1 -1
  6. data/lib/chef-cli/builtin_commands.rb +1 -1
  7. data/lib/chef-cli/chef_runner.rb +1 -1
  8. data/lib/chef-cli/chef_server_api_multi.rb +1 -1
  9. data/lib/chef-cli/cli.rb +1 -1
  10. data/lib/chef-cli/command/base.rb +1 -1
  11. data/lib/chef-cli/command/clean_policy_cookbooks.rb +1 -1
  12. data/lib/chef-cli/command/clean_policy_revisions.rb +1 -1
  13. data/lib/chef-cli/command/delete_policy.rb +1 -1
  14. data/lib/chef-cli/command/delete_policy_group.rb +1 -1
  15. data/lib/chef-cli/command/describe_cookbook.rb +17 -0
  16. data/lib/chef-cli/command/diff.rb +1 -1
  17. data/lib/chef-cli/command/env.rb +1 -1
  18. data/lib/chef-cli/command/exec.rb +1 -1
  19. data/lib/chef-cli/command/export.rb +14 -6
  20. data/lib/chef-cli/command/gem.rb +1 -1
  21. data/lib/chef-cli/command/generate.rb +1 -1
  22. data/lib/chef-cli/command/generator_commands.rb +1 -1
  23. data/lib/chef-cli/command/generator_commands/attribute.rb +1 -1
  24. data/lib/chef-cli/command/generator_commands/base.rb +1 -1
  25. data/lib/chef-cli/command/generator_commands/chef_exts/generator_desc_resource.rb +1 -1
  26. data/lib/chef-cli/command/generator_commands/chef_exts/quieter_doc_formatter.rb +1 -1
  27. data/lib/chef-cli/command/generator_commands/chef_exts/recipe_dsl_ext.rb +1 -1
  28. data/lib/chef-cli/command/generator_commands/cookbook.rb +1 -1
  29. data/lib/chef-cli/command/generator_commands/cookbook_code_file.rb +1 -1
  30. data/lib/chef-cli/command/generator_commands/cookbook_file.rb +1 -1
  31. data/lib/chef-cli/command/generator_commands/generator_generator.rb +1 -1
  32. data/lib/chef-cli/command/generator_commands/helpers.rb +1 -1
  33. data/lib/chef-cli/command/generator_commands/policyfile.rb +1 -1
  34. data/lib/chef-cli/command/generator_commands/recipe.rb +1 -1
  35. data/lib/chef-cli/command/generator_commands/repo.rb +1 -1
  36. data/lib/chef-cli/command/generator_commands/resource.rb +1 -1
  37. data/lib/chef-cli/command/generator_commands/template.rb +1 -1
  38. data/lib/chef-cli/command/install.rb +1 -1
  39. data/lib/chef-cli/command/provision.rb +1 -1
  40. data/lib/chef-cli/command/push.rb +1 -1
  41. data/lib/chef-cli/command/push_archive.rb +1 -1
  42. data/lib/chef-cli/command/shell_init.rb +1 -1
  43. data/lib/chef-cli/command/show_policy.rb +1 -1
  44. data/lib/chef-cli/command/undelete.rb +1 -1
  45. data/lib/chef-cli/command/update.rb +1 -1
  46. data/lib/chef-cli/commands_map.rb +1 -1
  47. data/lib/chef-cli/configurable.rb +1 -1
  48. data/lib/chef-cli/cookbook_metadata.rb +1 -1
  49. data/lib/chef-cli/cookbook_omnifetch.rb +1 -1
  50. data/lib/chef-cli/cookbook_profiler/git.rb +1 -1
  51. data/lib/chef-cli/cookbook_profiler/identifiers.rb +1 -1
  52. data/lib/chef-cli/cookbook_profiler/null_scm.rb +1 -1
  53. data/lib/chef-cli/exceptions.rb +13 -1
  54. data/lib/chef-cli/generator.rb +1 -1
  55. data/lib/chef-cli/helpers.rb +1 -1
  56. data/lib/chef-cli/pager.rb +1 -1
  57. data/lib/chef-cli/policyfile/artifactory_cookbook_source.rb +1 -1
  58. data/lib/chef-cli/policyfile/attribute_merge_checker.rb +1 -1
  59. data/lib/chef-cli/policyfile/chef_repo_cookbook_source.rb +1 -1
  60. data/lib/chef-cli/policyfile/chef_server_cookbook_source.rb +1 -1
  61. data/lib/chef-cli/policyfile/chef_server_lock_fetcher.rb +1 -1
  62. data/lib/chef-cli/policyfile/community_cookbook_source.rb +1 -1
  63. data/lib/chef-cli/policyfile/comparison_base.rb +1 -1
  64. data/lib/chef-cli/policyfile/cookbook_location_specification.rb +1 -1
  65. data/lib/chef-cli/policyfile/cookbook_locks.rb +1 -1
  66. data/lib/chef-cli/policyfile/cookbook_sources.rb +1 -1
  67. data/lib/chef-cli/policyfile/delivery_supermarket_source.rb +1 -1
  68. data/lib/chef-cli/policyfile/differ.rb +1 -1
  69. data/lib/chef-cli/policyfile/dsl.rb +16 -1
  70. data/lib/chef-cli/policyfile/git_lock_fetcher.rb +1 -1
  71. data/lib/chef-cli/policyfile/included_policies_cookbook_source.rb +1 -1
  72. data/lib/chef-cli/policyfile/lister.rb +1 -1
  73. data/lib/chef-cli/policyfile/local_lock_fetcher.rb +1 -1
  74. data/lib/chef-cli/policyfile/lock_applier.rb +1 -1
  75. data/lib/chef-cli/policyfile/lock_fetcher_mixin.rb +1 -1
  76. data/lib/chef-cli/policyfile/null_cookbook_source.rb +1 -1
  77. data/lib/chef-cli/policyfile/policyfile_location_specification.rb +1 -1
  78. data/lib/chef-cli/policyfile/read_cookbook_for_compat_mode_upload.rb +1 -1
  79. data/lib/chef-cli/policyfile/remote_lock_fetcher.rb +1 -1
  80. data/lib/chef-cli/policyfile/reports/install.rb +1 -1
  81. data/lib/chef-cli/policyfile/reports/table_printer.rb +1 -1
  82. data/lib/chef-cli/policyfile/reports/upload.rb +1 -1
  83. data/lib/chef-cli/policyfile/solution_dependencies.rb +1 -1
  84. data/lib/chef-cli/policyfile/source_uri.rb +1 -1
  85. data/lib/chef-cli/policyfile/storage_config.rb +1 -1
  86. data/lib/chef-cli/policyfile/undo_record.rb +1 -1
  87. data/lib/chef-cli/policyfile/undo_stack.rb +1 -1
  88. data/lib/chef-cli/policyfile/uploader.rb +1 -1
  89. data/lib/chef-cli/policyfile_compiler.rb +1 -1
  90. data/lib/chef-cli/policyfile_lock.rb +1 -1
  91. data/lib/chef-cli/policyfile_services/clean_policies.rb +1 -1
  92. data/lib/chef-cli/policyfile_services/clean_policy_cookbooks.rb +1 -1
  93. data/lib/chef-cli/policyfile_services/export_repo.rb +9 -13
  94. data/lib/chef-cli/policyfile_services/install.rb +1 -1
  95. data/lib/chef-cli/policyfile_services/push.rb +1 -1
  96. data/lib/chef-cli/policyfile_services/push_archive.rb +1 -1
  97. data/lib/chef-cli/policyfile_services/rm_policy.rb +1 -1
  98. data/lib/chef-cli/policyfile_services/rm_policy_group.rb +1 -1
  99. data/lib/chef-cli/policyfile_services/show_policy.rb +1 -1
  100. data/lib/chef-cli/policyfile_services/undelete.rb +1 -1
  101. data/lib/chef-cli/policyfile_services/update_attributes.rb +1 -1
  102. data/lib/chef-cli/service_exception_inspectors.rb +1 -1
  103. data/lib/chef-cli/service_exception_inspectors/base.rb +1 -1
  104. data/lib/chef-cli/service_exception_inspectors/http.rb +1 -1
  105. data/lib/chef-cli/service_exceptions.rb +1 -1
  106. data/lib/chef-cli/shell_out.rb +1 -1
  107. data/lib/chef-cli/skeletons/code_generator/metadata.rb +1 -1
  108. data/lib/chef-cli/skeletons/code_generator/templates/default/inspec_default_test.rb.erb +1 -1
  109. data/lib/chef-cli/skeletons/code_generator/templates/default/kitchen.yml.erb +1 -1
  110. data/lib/chef-cli/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +1 -1
  111. data/lib/chef-cli/skeletons/code_generator/templates/default/metadata.rb.erb +1 -1
  112. data/lib/chef-cli/ui.rb +1 -1
  113. data/lib/chef-cli/version.rb +2 -2
  114. data/spec/shared/fixture_cookbook_checksums.rb +1 -1
  115. data/spec/shared/setup_git_committer_config.rb +1 -1
  116. data/spec/shared/setup_git_cookbooks.rb +1 -1
  117. data/spec/spec_helper.rb +1 -1
  118. data/spec/unit/chef_runner_spec.rb +1 -1
  119. data/spec/unit/chef_server_api_multi_spec.rb +1 -1
  120. data/spec/unit/cli_spec.rb +1 -1
  121. data/spec/unit/command/base_spec.rb +1 -1
  122. data/spec/unit/command/clean_policy_cookbooks_spec.rb +1 -1
  123. data/spec/unit/command/clean_policy_revisions_spec.rb +1 -1
  124. data/spec/unit/command/delete_policy_group_spec.rb +1 -1
  125. data/spec/unit/command/delete_policy_spec.rb +1 -1
  126. data/spec/unit/command/diff_spec.rb +1 -1
  127. data/spec/unit/command/env_spec.rb +1 -1
  128. data/spec/unit/command/exec_spec.rb +1 -1
  129. data/spec/unit/command/export_spec.rb +18 -1
  130. data/spec/unit/command/generate_spec.rb +1 -1
  131. data/spec/unit/command/generator_commands/attribute_spec.rb +1 -1
  132. data/spec/unit/command/generator_commands/base_spec.rb +1 -1
  133. data/spec/unit/command/generator_commands/chef_exts/generator_desc_resource_spec.rb +1 -1
  134. data/spec/unit/command/generator_commands/chef_exts/recipe_dsl_ext_spec.rb +1 -1
  135. data/spec/unit/command/generator_commands/cookbook_file_spec.rb +1 -1
  136. data/spec/unit/command/generator_commands/cookbook_spec.rb +2 -2
  137. data/spec/unit/command/generator_commands/generator_generator_spec.rb +1 -1
  138. data/spec/unit/command/generator_commands/helpers_spec.rb +1 -1
  139. data/spec/unit/command/generator_commands/policyfile_spec.rb +1 -1
  140. data/spec/unit/command/generator_commands/recipe_spec.rb +1 -1
  141. data/spec/unit/command/generator_commands/repo_spec.rb +1 -1
  142. data/spec/unit/command/generator_commands/resource_spec.rb +1 -1
  143. data/spec/unit/command/generator_commands/template_spec.rb +1 -1
  144. data/spec/unit/command/install_spec.rb +1 -1
  145. data/spec/unit/command/push_archive_spec.rb +1 -1
  146. data/spec/unit/command/push_spec.rb +1 -1
  147. data/spec/unit/command/shell_init_spec.rb +1 -1
  148. data/spec/unit/command/show_policy_spec.rb +1 -1
  149. data/spec/unit/command/undelete_spec.rb +1 -1
  150. data/spec/unit/command/update_spec.rb +1 -1
  151. data/spec/unit/commands_map_spec.rb +1 -1
  152. data/spec/unit/configurable_spec.rb +1 -1
  153. data/spec/unit/cookbook_metadata_spec.rb +20 -1
  154. data/spec/unit/cookbook_profiler/git_spec.rb +1 -1
  155. data/spec/unit/cookbook_profiler/identifiers_spec.rb +1 -1
  156. data/spec/unit/fixtures/example_cookbook_both_metadata/.gitignore +17 -0
  157. data/spec/unit/fixtures/example_cookbook_both_metadata/.kitchen.yml +16 -0
  158. data/spec/unit/fixtures/example_cookbook_both_metadata/Berksfile +3 -0
  159. data/spec/unit/fixtures/example_cookbook_both_metadata/README.md +4 -0
  160. data/spec/unit/fixtures/example_cookbook_both_metadata/chefignore +96 -0
  161. data/spec/unit/fixtures/example_cookbook_both_metadata/metadata.json +5 -0
  162. data/spec/unit/fixtures/example_cookbook_both_metadata/metadata.rb +9 -0
  163. data/spec/unit/fixtures/example_cookbook_both_metadata/recipes/default.rb +8 -0
  164. data/spec/unit/generator_spec.rb +1 -1
  165. data/spec/unit/helpers_spec.rb +1 -1
  166. data/spec/unit/pager_spec.rb +1 -1
  167. data/spec/unit/policyfile/artifactory_cookbook_source_spec.rb +1 -1
  168. data/spec/unit/policyfile/attribute_merge_checker_spec.rb +1 -1
  169. data/spec/unit/policyfile/chef_repo_cookbook_source_spec.rb +1 -1
  170. data/spec/unit/policyfile/chef_server_cookbook_source_spec.rb +1 -1
  171. data/spec/unit/policyfile/chef_server_lock_fetcher_spec.rb +1 -1
  172. data/spec/unit/policyfile/community_cookbook_source_spec.rb +1 -1
  173. data/spec/unit/policyfile/comparison_base_spec.rb +1 -1
  174. data/spec/unit/policyfile/cookbook_location_specification_spec.rb +1 -1
  175. data/spec/unit/policyfile/cookbook_locks_spec.rb +1 -1
  176. data/spec/unit/policyfile/delivery_supermarket_source_spec.rb +1 -1
  177. data/spec/unit/policyfile/differ_spec.rb +1 -1
  178. data/spec/unit/policyfile/git_lock_fetcher_spec.rb +1 -1
  179. data/spec/unit/policyfile/included_policies_cookbook_source_spec.rb +1 -1
  180. data/spec/unit/policyfile/lister_spec.rb +1 -1
  181. data/spec/unit/policyfile/local_lock_fetcher_spec.rb +1 -1
  182. data/spec/unit/policyfile/lock_applier_spec.rb +1 -1
  183. data/spec/unit/policyfile/lock_fetcher_mixin_spec.rb +1 -1
  184. data/spec/unit/policyfile/null_cookbook_source_spec.rb +1 -1
  185. data/spec/unit/policyfile/read_cookbook_for_compat_mode_upload_spec.rb +1 -1
  186. data/spec/unit/policyfile/remote_lock_fetcher_spec.rb +1 -1
  187. data/spec/unit/policyfile/reports/install_spec.rb +1 -1
  188. data/spec/unit/policyfile/reports/upload_spec.rb +1 -1
  189. data/spec/unit/policyfile/solution_dependencies_spec.rb +1 -1
  190. data/spec/unit/policyfile/source_uri_spec.rb +1 -1
  191. data/spec/unit/policyfile/storage_config_spec.rb +1 -1
  192. data/spec/unit/policyfile/undo_record_spec.rb +1 -1
  193. data/spec/unit/policyfile/undo_stack_spec.rb +1 -1
  194. data/spec/unit/policyfile/uploader_spec.rb +1 -1
  195. data/spec/unit/policyfile_demands_spec.rb +1 -1
  196. data/spec/unit/policyfile_evaluation_spec.rb +67 -1
  197. data/spec/unit/policyfile_includes_dsl_spec.rb +1 -1
  198. data/spec/unit/policyfile_includes_spec.rb +1 -1
  199. data/spec/unit/policyfile_install_with_includes_spec.rb +1 -1
  200. data/spec/unit/policyfile_lock_build_spec.rb +1 -1
  201. data/spec/unit/policyfile_lock_install_spec.rb +1 -1
  202. data/spec/unit/policyfile_lock_serialization_spec.rb +1 -1
  203. data/spec/unit/policyfile_lock_validation_spec.rb +1 -1
  204. data/spec/unit/policyfile_services/clean_policies_spec.rb +1 -1
  205. data/spec/unit/policyfile_services/clean_policy_cookbooks_spec.rb +1 -1
  206. data/spec/unit/policyfile_services/export_repo_spec.rb +51 -2
  207. data/spec/unit/policyfile_services/install_spec.rb +1 -1
  208. data/spec/unit/policyfile_services/push_archive_spec.rb +1 -1
  209. data/spec/unit/policyfile_services/push_spec.rb +1 -1
  210. data/spec/unit/policyfile_services/rm_policy_group_spec.rb +1 -1
  211. data/spec/unit/policyfile_services/rm_policy_spec.rb +1 -1
  212. data/spec/unit/policyfile_services/show_policy_spec.rb +1 -1
  213. data/spec/unit/policyfile_services/undelete_spec.rb +1 -1
  214. data/spec/unit/policyfile_services/update_attributes_spec.rb +1 -1
  215. data/spec/unit/policyfile_services/update_spec.rb +1 -1
  216. data/spec/unit/service_exception_inspectors/base_spec.rb +1 -1
  217. data/spec/unit/service_exception_inspectors/http_spec.rb +1 -1
  218. data/spec/unit/shell_out_spec.rb +1 -1
  219. metadata +22 -6
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2019 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -71,6 +71,18 @@ module ChefCLI
71
71
  class MissingCookbookLockData < StandardError
72
72
  end
73
73
 
74
+ class PolicyfileMissingCookbookMetadata < StandardError
75
+ def initialize(cookbook_root)
76
+ super("Policyfile specified to use cookbook metadata, but neither #{cookbook_root}/metadata.rb or #{cookbook_root}/metadata.json was found.")
77
+ end
78
+ end
79
+
80
+ class PolicyfileBadCookbookMetadata < StandardError
81
+ def initialize(cookbook_root, e)
82
+ super("Cookbook metadata for cookbook at #{cookbook_root} could not be parsed:\n Original Exception: #{e}")
83
+ end
84
+ end
85
+
74
86
  class InvalidLockfile < StandardError
75
87
  end
76
88
 
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2015-2018, Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2017 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2017 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2017 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2015-2019 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2015 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2019, Chef Software Inc.
2
+ # Copyright:: Copyright (c) Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -138,6 +138,21 @@ module ChefCLI
138
138
  end
139
139
  end
140
140
 
141
+ def metadata
142
+ cookbook_root = storage_config.relative_paths_root
143
+ unless File.exist?(File.join(cookbook_root, "metadata.rb")) || File.exist?(File.join(cookbook_root, "metadata.json"))
144
+ raise PolicyfileMissingCookbookMetadata.new(cookbook_root)
145
+ end
146
+
147
+ begin
148
+ cookbook_name = CookbookMetadata.from_path(cookbook_root).cookbook_name
149
+ rescue Exception => e
150
+ raise PolicyfileBadCookbookMetadata.new(cookbook_root, e)
151
+ end
152
+ name cookbook_name if name.nil?
153
+ cookbook(cookbook_name, path: ".")
154
+ end
155
+
141
156
  def default
142
157
  @node_attributes.default
143
158
  end
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2015 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2017 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2017 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2017-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2019 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018, Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2016 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2015 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2015 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018, Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2015 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2015 Chef Software Inc.
2
+ # Copyright:: Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright:: Copyright (c) 2014-2019 Chef Software Inc.
2
+ # Copyright:: Copyright (c) Chef Software Inc.
3
3
  # License:: Apache License, Version 2.0
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -33,20 +33,15 @@ module ChefCLI
33
33
 
34
34
  class ExportRepo
35
35
 
36
- # Policy groups provide namespaces for policies so that a Chef Infra Server can
37
- # have multiple active iterations of a policy at once, but we don't need
38
- # this when serving a single exported policy via Chef Zero, so hardcode
39
- # it to a "well known" value:
40
- POLICY_GROUP = "local".freeze
41
-
42
36
  include Policyfile::StorageConfigDelegation
43
37
 
44
38
  attr_reader :storage_config
45
39
  attr_reader :root_dir
46
40
  attr_reader :export_dir
47
41
  attr_reader :ui
42
+ attr_reader :policy_group
48
43
 
49
- def initialize(policyfile: nil, export_dir: nil, root_dir: nil, archive: false, force: false)
44
+ def initialize(policyfile: nil, export_dir: nil, root_dir: nil, archive: false, force: false, policy_group: nil)
50
45
  @root_dir = root_dir
51
46
  @export_dir = File.expand_path(export_dir)
52
47
  @archive = archive
@@ -55,6 +50,8 @@ module ChefCLI
55
50
 
56
51
  @policy_data = nil
57
52
  @policyfile_lock = nil
53
+ @policy_group = policy_group
54
+ @policy_group ||= "local".freeze
58
55
 
59
56
  policyfile_rel_path = policyfile || "Policyfile.rb"
60
57
  policyfile_full_path = File.expand_path(policyfile_rel_path, root_dir)
@@ -243,7 +240,7 @@ module ChefCLI
243
240
  #
244
241
 
245
242
  policy_name '#{policy_name}'
246
- policy_group 'local'
243
+ policy_group '#{policy_group}'
247
244
 
248
245
  use_policyfile true
249
246
  policy_document_native_api true
@@ -301,9 +298,8 @@ module ChefCLI
301
298
  ### policy_groups/
302
299
 
303
300
  Policy groups are used by Chef Infra Server to manage multiple revisions of the same
304
- policy. However, exported policies contain only a single policy revision, so
305
- this policy group name is hardcoded to "local" and should not be changed.
306
-
301
+ policy. The default "local" policy is recommended for export use since there can be
302
+ no different revisions when not utilizing a server.
307
303
  README
308
304
  end
309
305
  end
@@ -389,7 +385,7 @@ module ChefCLI
389
385
  end
390
386
 
391
387
  def policy_group_repo_item_path
392
- File.join(staging_dir, "policy_groups", "local.json")
388
+ File.join(staging_dir, "policy_groups", "#{policy_group}.json")
393
389
  end
394
390
 
395
391
  def dot_chef_staging_dir