chef-dk 0.13.21 → 0.14.25
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.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +186 -186
- data/Gemfile +37 -14
- data/Gemfile.lock +178 -72
- data/LICENSE +201 -201
- data/README.md +11 -148
- data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +27 -27
- data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +288 -288
- data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +52 -52
- data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +51 -51
- data/acceptance/.shared/kitchen_acceptance/metadata.rb +1 -1
- data/acceptance/Gemfile +2 -1
- data/acceptance/Gemfile.lock +39 -42
- data/acceptance/README.md +132 -132
- data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +2 -2
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
- data/acceptance/trivial/.kitchen.yml +7 -7
- data/acceptance/trivial/test/integration/chefdk-current-install/inspec/chef_client_spec.rb +5 -5
- data/bin/chef +25 -25
- data/lib/chef-dk.rb +19 -19
- data/lib/chef-dk/authenticated_http.rb +40 -40
- data/lib/chef-dk/chef_runner.rb +107 -107
- data/lib/chef-dk/cli.rb +200 -200
- data/lib/chef-dk/command/base.rb +79 -79
- data/lib/chef-dk/command/clean_policy_cookbooks.rb +116 -116
- data/lib/chef-dk/command/clean_policy_revisions.rb +113 -113
- data/lib/chef-dk/command/delete_policy.rb +122 -122
- data/lib/chef-dk/command/delete_policy_group.rb +122 -122
- data/lib/chef-dk/command/diff.rb +316 -316
- data/lib/chef-dk/command/env.rb +90 -90
- data/lib/chef-dk/command/exec.rb +45 -45
- data/lib/chef-dk/command/export.rb +157 -157
- data/lib/chef-dk/command/gem.rb +47 -47
- data/lib/chef-dk/command/generate.rb +120 -120
- data/lib/chef-dk/command/generator_commands.rb +83 -80
- data/lib/chef-dk/command/generator_commands/app.rb +107 -107
- data/lib/chef-dk/command/generator_commands/attribute.rb +37 -37
- data/lib/chef-dk/command/generator_commands/base.rb +148 -148
- data/lib/chef-dk/command/generator_commands/cookbook.rb +153 -153
- data/lib/chef-dk/command/generator_commands/cookbook_code_file.rb +100 -100
- data/lib/chef-dk/command/generator_commands/cookbook_file.rb +45 -45
- data/lib/chef-dk/command/generator_commands/generator_generator.rb +177 -177
- data/lib/chef-dk/command/generator_commands/lwrp.rb +36 -36
- data/lib/chef-dk/command/generator_commands/policyfile.rb +127 -127
- data/lib/chef-dk/command/generator_commands/recipe.rb +36 -36
- data/lib/chef-dk/command/generator_commands/repo.rb +125 -125
- data/lib/chef-dk/command/generator_commands/template.rb +46 -46
- data/lib/chef-dk/command/install.rb +121 -121
- data/lib/chef-dk/command/provision.rb +438 -438
- data/lib/chef-dk/command/push.rb +118 -118
- data/lib/chef-dk/command/push_archive.rb +126 -126
- data/lib/chef-dk/command/shell_init.rb +180 -180
- data/lib/chef-dk/command/show_policy.rb +165 -165
- data/lib/chef-dk/command/undelete.rb +155 -155
- data/lib/chef-dk/command/update.rb +148 -148
- data/lib/chef-dk/command/verify.rb +106 -29
- data/lib/chef-dk/completions/bash.sh.erb +5 -5
- data/lib/chef-dk/completions/chef.fish.erb +10 -10
- data/lib/chef-dk/completions/zsh.zsh.erb +21 -21
- data/lib/chef-dk/component_test.rb +30 -1
- data/lib/chef-dk/configurable.rb +69 -69
- data/lib/chef-dk/cookbook_metadata.rb +45 -45
- data/lib/chef-dk/cookbook_omnifetch.rb +32 -32
- data/lib/chef-dk/cookbook_profiler/git.rb +151 -151
- data/lib/chef-dk/cookbook_profiler/identifiers.rb +72 -72
- data/lib/chef-dk/cookbook_profiler/null_scm.rb +32 -32
- data/lib/chef-dk/exceptions.rb +129 -129
- data/lib/chef-dk/generator.rb +163 -163
- data/lib/chef-dk/helpers.rb +159 -159
- data/lib/chef-dk/pager.rb +106 -106
- data/lib/chef-dk/policyfile/chef_repo_cookbook_source.rb +138 -138
- data/lib/chef-dk/policyfile/chef_server_cookbook_source.rb +54 -54
- data/lib/chef-dk/policyfile/community_cookbook_source.rb +97 -97
- data/lib/chef-dk/policyfile/comparison_base.rb +124 -124
- data/lib/chef-dk/policyfile/cookbook_location_specification.rb +154 -154
- data/lib/chef-dk/policyfile/cookbook_locks.rb +466 -466
- data/lib/chef-dk/policyfile/cookbook_sources.rb +22 -22
- data/lib/chef-dk/policyfile/delivery_supermarket_source.rb +90 -90
- data/lib/chef-dk/policyfile/differ.rb +266 -266
- data/lib/chef-dk/policyfile/dsl.rb +261 -261
- data/lib/chef-dk/policyfile/lister.rb +232 -232
- data/lib/chef-dk/policyfile/null_cookbook_source.rb +45 -45
- data/lib/chef-dk/policyfile/read_cookbook_for_compat_mode_upload.rb +124 -124
- data/lib/chef-dk/policyfile/reports/install.rb +70 -70
- data/lib/chef-dk/policyfile/reports/table_printer.rb +58 -58
- data/lib/chef-dk/policyfile/reports/upload.rb +70 -70
- data/lib/chef-dk/policyfile/solution_dependencies.rb +298 -298
- data/lib/chef-dk/policyfile/storage_config.rb +100 -100
- data/lib/chef-dk/policyfile/undo_record.rb +142 -142
- data/lib/chef-dk/policyfile/undo_stack.rb +130 -130
- data/lib/chef-dk/policyfile/uploader.rb +213 -213
- data/lib/chef-dk/policyfile_compiler.rb +419 -419
- data/lib/chef-dk/policyfile_lock.rb +552 -552
- data/lib/chef-dk/policyfile_services/clean_policies.rb +95 -95
- data/lib/chef-dk/policyfile_services/clean_policy_cookbooks.rb +125 -125
- data/lib/chef-dk/policyfile_services/export_repo.rb +421 -421
- data/lib/chef-dk/policyfile_services/install.rb +126 -126
- data/lib/chef-dk/policyfile_services/push.rb +114 -114
- data/lib/chef-dk/policyfile_services/push_archive.rb +204 -204
- data/lib/chef-dk/policyfile_services/rm_policy.rb +142 -142
- data/lib/chef-dk/policyfile_services/rm_policy_group.rb +86 -86
- data/lib/chef-dk/policyfile_services/show_policy.rb +237 -237
- data/lib/chef-dk/policyfile_services/undelete.rb +108 -108
- data/lib/chef-dk/policyfile_services/update_attributes.rb +104 -104
- data/lib/chef-dk/service_exception_inspectors.rb +25 -25
- data/lib/chef-dk/service_exception_inspectors/base.rb +40 -40
- data/lib/chef-dk/service_exception_inspectors/http.rb +121 -121
- data/lib/chef-dk/service_exceptions.rb +143 -143
- data/lib/chef-dk/shell_out.rb +36 -36
- data/lib/chef-dk/skeletons/code_generator/files/default/Berksfile +3 -3
- data/lib/chef-dk/skeletons/code_generator/files/default/chefignore +102 -102
- data/lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README-policy.md +9 -9
- data/lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README.md +54 -54
- data/lib/chef-dk/skeletons/code_generator/files/default/gitignore +16 -16
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/README.md +28 -28
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/README.md +27 -27
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/attributes/default.rb +7 -7
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/metadata.rb +3 -3
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/recipes/default.rb +8 -8
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/data_bags/README.md +58 -58
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/data_bags/example/example_item.json +3 -3
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/dot-chef-repo.txt +6 -6
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/environments/README.md +9 -9
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/environments/example.json +12 -12
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/policies/README.md +24 -24
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/roles/README.md +9 -9
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/roles/example.json +12 -12
- data/lib/chef-dk/skeletons/code_generator/files/default/serverspec_spec_helper.rb +8 -8
- data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper.rb +2 -2
- data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper_policyfile.rb +2 -2
- data/lib/chef-dk/skeletons/code_generator/metadata.rb +8 -8
- data/lib/chef-dk/skeletons/code_generator/recipes/app.rb +97 -97
- data/lib/chef-dk/skeletons/code_generator/recipes/attribute.rb +12 -12
- data/lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb +117 -117
- data/lib/chef-dk/skeletons/code_generator/recipes/cookbook_file.rb +24 -24
- data/lib/chef-dk/skeletons/code_generator/recipes/lwrp.rb +23 -23
- data/lib/chef-dk/skeletons/code_generator/recipes/policyfile.rb +8 -8
- data/lib/chef-dk/skeletons/code_generator/recipes/recipe.rb +27 -27
- data/lib/chef-dk/skeletons/code_generator/recipes/repo.rb +67 -67
- data/lib/chef-dk/skeletons/code_generator/recipes/template.rb +32 -32
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.all_rights.erb +3 -3
- data/lib/chef-dk/skeletons/code_generator/templates/default/{LICENSE.apache2.erb → LICENSE.apachev2.erb} +201 -201
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.gplv2.erb +339 -339
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.gplv3.erb +674 -674
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.mit.erb +21 -21
- data/lib/chef-dk/skeletons/code_generator/templates/default/Policyfile.rb.erb +25 -25
- data/lib/chef-dk/skeletons/code_generator/templates/default/README.md.erb +4 -4
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb +21 -21
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +32 -32
- data/lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb +7 -7
- data/lib/chef-dk/skeletons/code_generator/templates/default/recipe.rb.erb +5 -5
- data/lib/chef-dk/skeletons/code_generator/templates/default/recipe_spec.rb.erb +20 -20
- data/lib/chef-dk/skeletons/code_generator/templates/default/repo/gitignore.erb +11 -11
- data/lib/chef-dk/skeletons/code_generator/templates/default/serverspec_default_spec.rb.erb +9 -9
- data/lib/chef-dk/ui.rb +58 -58
- data/lib/chef-dk/version.rb +1 -1
- data/lib/kitchen/provisioner/policyfile_zero.rb +195 -195
- data/omnibus_overrides.rb +19 -11
- data/spec/shared/a_file_generator.rb +125 -125
- data/spec/shared/a_generated_file.rb +12 -12
- data/spec/shared/command_with_ui_object.rb +11 -11
- data/spec/shared/custom_generator_cookbook.rb +130 -130
- data/spec/shared/fixture_cookbook_checksums.rb +47 -47
- data/spec/shared/setup_git_cookbooks.rb +53 -53
- data/spec/spec_helper.rb +51 -51
- data/spec/test_helpers.rb +84 -84
- data/spec/unit/chef_runner_spec.rb +139 -139
- data/spec/unit/cli_spec.rb +357 -357
- data/spec/unit/command/base_spec.rb +173 -169
- data/spec/unit/command/clean_policy_cookbooks_spec.rb +181 -181
- data/spec/unit/command/clean_policy_revisions_spec.rb +181 -181
- data/spec/unit/command/delete_policy_group_spec.rb +207 -207
- data/spec/unit/command/delete_policy_spec.rb +207 -207
- data/spec/unit/command/diff_spec.rb +312 -312
- data/spec/unit/command/env_spec.rb +52 -52
- data/spec/unit/command/exec_spec.rb +179 -179
- data/spec/unit/command/export_spec.rb +200 -200
- data/spec/unit/command/generate_spec.rb +142 -142
- data/spec/unit/command/generator_commands/app_spec.rb +169 -169
- data/spec/unit/command/generator_commands/attribute_spec.rb +32 -32
- data/spec/unit/command/generator_commands/base_spec.rb +136 -136
- data/spec/unit/command/generator_commands/cookbook_file_spec.rb +32 -32
- data/spec/unit/command/generator_commands/cookbook_spec.rb +450 -450
- data/spec/unit/command/generator_commands/generator_generator_spec.rb +229 -229
- data/spec/unit/command/generator_commands/lwrp_spec.rb +32 -32
- data/spec/unit/command/generator_commands/policyfile_spec.rb +225 -225
- data/spec/unit/command/generator_commands/recipe_spec.rb +34 -34
- data/spec/unit/command/generator_commands/repo_spec.rb +374 -367
- data/spec/unit/command/generator_commands/template_spec.rb +32 -32
- data/spec/unit/command/install_spec.rb +179 -179
- data/spec/unit/command/provision_spec.rb +592 -592
- data/spec/unit/command/push_archive_spec.rb +153 -153
- data/spec/unit/command/push_spec.rb +199 -199
- data/spec/unit/command/shell_init_spec.rb +329 -329
- data/spec/unit/command/show_policy_spec.rb +235 -235
- data/spec/unit/command/undelete_spec.rb +246 -246
- data/spec/unit/command/update_spec.rb +275 -275
- data/spec/unit/command/verify_spec.rb +15 -6
- data/spec/unit/commands_map_spec.rb +57 -57
- data/spec/unit/component_test_spec.rb +128 -126
- data/spec/unit/configurable_spec.rb +41 -41
- data/spec/unit/cookbook_metadata_spec.rb +98 -98
- data/spec/unit/cookbook_profiler/git_spec.rb +176 -176
- data/spec/unit/cookbook_profiler/identifiers_spec.rb +83 -83
- data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_one.rb +9 -9
- data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_two.rb +9 -9
- data/spec/unit/fixtures/command/cli_test_command.rb +26 -26
- data/spec/unit/fixtures/command/explicit_path_example.rb +7 -7
- data/spec/unit/fixtures/configurable/test_config_loader.rb +5 -5
- data/spec/unit/fixtures/configurable/test_configurable.rb +10 -10
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml +16 -16
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/Berksfile +3 -3
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md +4 -4
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/chefignore +96 -96
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/.kitchen.yml +16 -16
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/Berksfile +3 -3
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/README.md +4 -4
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/chefignore +96 -96
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/metadata.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/recipes/default.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/.kitchen.yml +16 -16
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/Berksfile +3 -3
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/README.md +4 -4
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/chefignore +96 -96
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/metadata.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/recipes/default.rb +8 -8
- data/spec/unit/fixtures/cookbooks_api/pruned_small_universe.json +1321 -1321
- data/spec/unit/fixtures/cookbooks_api/small_universe.json +2987 -2987
- data/spec/unit/fixtures/cookbooks_api/universe.json +1 -1
- data/spec/unit/fixtures/cookbooks_api/update_fixtures.rb +36 -36
- data/spec/unit/fixtures/dev_cookbooks/README.md +16 -16
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/integration_test +2 -2
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/verify_me +5 -5
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/chef/verify_me +3 -3
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/test-kitchen/verify_me +2 -2
- data/spec/unit/fixtures/example_cookbook/.gitignore +17 -17
- data/spec/unit/fixtures/example_cookbook/.kitchen.yml +16 -16
- data/spec/unit/fixtures/example_cookbook/Berksfile +3 -3
- data/spec/unit/fixtures/example_cookbook/README.md +4 -4
- data/spec/unit/fixtures/example_cookbook/chefignore +96 -96
- data/spec/unit/fixtures/example_cookbook/metadata.rb +8 -8
- data/spec/unit/fixtures/example_cookbook/recipes/default.rb +8 -8
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/.gitignore +17 -17
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/.kitchen.yml +16 -16
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/Berksfile +3 -3
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/README.md +4 -4
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/chefignore +96 -96
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/metadata.json +5 -5
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/recipes/default.rb +8 -8
- data/spec/unit/fixtures/example_cookbook_no_metadata/.gitignore +17 -17
- data/spec/unit/fixtures/example_cookbook_no_metadata/.kitchen.yml +16 -16
- data/spec/unit/fixtures/example_cookbook_no_metadata/Berksfile +3 -3
- data/spec/unit/fixtures/example_cookbook_no_metadata/README.md +4 -4
- data/spec/unit/fixtures/example_cookbook_no_metadata/chefignore +96 -96
- data/spec/unit/fixtures/example_cookbook_no_metadata/recipes/default.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/README.md +4 -4
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/chefignore +96 -96
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/metadata.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/recipes/default.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/Berksfile +3 -3
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/README.md +4 -4
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/chefignore +96 -96
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/metadata.rb +9 -9
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/recipes/default.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/.kitchen.yml +16 -16
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/Berksfile +3 -3
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/README.md +4 -4
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/chefignore +96 -96
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/metadata.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/recipes/default.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/metadata-missing/README.md +2 -2
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml +16 -16
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md +4 -4
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb +8 -8
- data/spec/unit/generator_spec.rb +119 -120
- data/spec/unit/helpers_spec.rb +92 -92
- data/spec/unit/pager_spec.rb +119 -119
- data/spec/unit/policyfile/chef_repo_cookbook_source_spec.rb +93 -93
- data/spec/unit/policyfile/chef_server_cookbook_source_spec.rb +34 -34
- data/spec/unit/policyfile/community_cookbook_source_spec.rb +84 -84
- data/spec/unit/policyfile/comparison_base_spec.rb +343 -343
- data/spec/unit/policyfile/cookbook_location_specification_spec.rb +277 -277
- data/spec/unit/policyfile/cookbook_locks_spec.rb +529 -529
- data/spec/unit/policyfile/delivery_supermarket_source_spec.rb +130 -130
- data/spec/unit/policyfile/differ_spec.rb +687 -687
- data/spec/unit/policyfile/lister_spec.rb +272 -272
- data/spec/unit/policyfile/null_cookbook_source_spec.rb +35 -35
- data/spec/unit/policyfile/read_cookbook_for_compat_mode_upload_spec.rb +92 -92
- data/spec/unit/policyfile/reports/install_spec.rb +115 -115
- data/spec/unit/policyfile/reports/upload_spec.rb +96 -96
- data/spec/unit/policyfile/solution_dependencies_spec.rb +145 -145
- data/spec/unit/policyfile/storage_config_spec.rb +172 -172
- data/spec/unit/policyfile/undo_record_spec.rb +260 -260
- data/spec/unit/policyfile/undo_stack_spec.rb +266 -266
- data/spec/unit/policyfile/uploader_spec.rb +410 -410
- data/spec/unit/policyfile_demands_spec.rb +1203 -1203
- data/spec/unit/policyfile_evaluation_spec.rb +642 -642
- data/spec/unit/policyfile_lock_build_spec.rb +1056 -1056
- data/spec/unit/policyfile_lock_install_spec.rb +138 -138
- data/spec/unit/policyfile_lock_serialization_spec.rb +425 -425
- data/spec/unit/policyfile_lock_validation_spec.rb +611 -611
- data/spec/unit/policyfile_services/clean_policies_spec.rb +236 -236
- data/spec/unit/policyfile_services/clean_policy_cookbooks_spec.rb +275 -275
- data/spec/unit/policyfile_services/export_repo_spec.rb +481 -481
- data/spec/unit/policyfile_services/install_spec.rb +211 -211
- data/spec/unit/policyfile_services/push_archive_spec.rb +378 -378
- data/spec/unit/policyfile_services/push_spec.rb +233 -233
- data/spec/unit/policyfile_services/rm_policy_group_spec.rb +241 -241
- data/spec/unit/policyfile_services/rm_policy_spec.rb +266 -266
- data/spec/unit/policyfile_services/show_policy_spec.rb +889 -889
- data/spec/unit/policyfile_services/undelete_spec.rb +304 -304
- data/spec/unit/policyfile_services/update_attributes_spec.rb +217 -217
- data/spec/unit/service_exception_inspectors/base_spec.rb +43 -43
- data/spec/unit/service_exception_inspectors/http_spec.rb +140 -140
- data/spec/unit/shell_out_spec.rb +34 -34
- data/spec/unit/tasks/helpers_spec.rb +75 -0
- data/tasks/bin/bundle-platform +0 -0
- data/tasks/bin/bundle-platform.bat +0 -0
- data/tasks/bin/create-override-gemfile +110 -0
- data/tasks/bundle.rb +27 -11
- data/tasks/bundle_util.rb +6 -5
- data/tasks/dependencies.rb +97 -122
- data/tasks/gemfile_util.rb +357 -66
- data/tasks/helpers.rb +47 -0
- data/tasks/version.rb +1 -5
- data/version_policy.rb +66 -41
- data/warning.txt +9 -9
- metadata +7 -5
- data/Gemfile.windows +0 -34
- data/Gemfile.windows.lock +0 -936
|
@@ -77,17 +77,17 @@ module ChefDK
|
|
|
77
77
|
#
|
|
78
78
|
add_component "berkshelf" do |c|
|
|
79
79
|
c.gem_base_dir = "berkshelf"
|
|
80
|
-
# For berks the real command to run is "#{
|
|
80
|
+
# For berks the real command to run is "#{embedded_bin("bundle")} exec thor spec:ci"
|
|
81
81
|
# We can't run it right now since graphviz specs are included in the
|
|
82
82
|
# test suite by default. We will be able to switch to that command when/if
|
|
83
83
|
# Graphviz is added to omnibus.
|
|
84
84
|
c.unit_test do
|
|
85
|
-
bundle_install_mutex.synchronize { sh("#{
|
|
86
|
-
sh("#{
|
|
85
|
+
bundle_install_mutex.synchronize { sh("#{embedded_bin("bundle")} install") }
|
|
86
|
+
sh("#{embedded_bin("bundle")} exec #{embedded_bin("rspec")} --color --format progress spec/unit --tag ~graphviz")
|
|
87
87
|
end
|
|
88
88
|
c.integration_test do
|
|
89
|
-
bundle_install_mutex.synchronize { sh("#{
|
|
90
|
-
sh("#{
|
|
89
|
+
bundle_install_mutex.synchronize { sh("#{embedded_bin("bundle")} install") }
|
|
90
|
+
sh("#{embedded_bin("bundle")} exec #{embedded_bin("cucumber")} --color --format progress --tags ~@no_run --tags ~@spawn --tags ~@graphviz --strict")
|
|
91
91
|
end
|
|
92
92
|
|
|
93
93
|
c.smoke_test do
|
|
@@ -101,12 +101,12 @@ module ChefDK
|
|
|
101
101
|
add_component "test-kitchen" do |c|
|
|
102
102
|
c.gem_base_dir = "test-kitchen"
|
|
103
103
|
c.unit_test do
|
|
104
|
-
bundle_install_mutex.synchronize { sh("#{
|
|
105
|
-
sh("#{
|
|
104
|
+
bundle_install_mutex.synchronize { sh("#{embedded_bin("bundle")} install") }
|
|
105
|
+
sh("#{embedded_bin("bundle")} exec rake unit")
|
|
106
106
|
end
|
|
107
107
|
c.integration_test do
|
|
108
|
-
bundle_install_mutex.synchronize { sh("#{
|
|
109
|
-
sh("#{
|
|
108
|
+
bundle_install_mutex.synchronize { sh("#{embedded_bin("bundle")} install") }
|
|
109
|
+
sh("#{embedded_bin("bundle")} exec rake features")
|
|
110
110
|
end
|
|
111
111
|
|
|
112
112
|
# NOTE: By default, kitchen tries to be helpful and install a driver
|
|
@@ -157,12 +157,12 @@ KITCHEN_YML
|
|
|
157
157
|
add_component "chef-client" do |c|
|
|
158
158
|
c.gem_base_dir = "chef"
|
|
159
159
|
c.unit_test do
|
|
160
|
-
bundle_install_mutex.synchronize { sh("#{
|
|
161
|
-
sh("#{
|
|
160
|
+
bundle_install_mutex.synchronize { sh("#{embedded_bin("bundle")} install") }
|
|
161
|
+
sh("#{embedded_bin("bundle")} exec #{embedded_bin("rspec")} -fp -t '~volatile_from_verify' spec/unit")
|
|
162
162
|
end
|
|
163
163
|
c.integration_test do
|
|
164
|
-
bundle_install_mutex.synchronize { sh("#{
|
|
165
|
-
sh("#{
|
|
164
|
+
bundle_install_mutex.synchronize { sh("#{embedded_bin("bundle")} install") }
|
|
165
|
+
sh("#{embedded_bin("bundle")} exec #{embedded_bin("rspec")} -fp spec/integration spec/functional")
|
|
166
166
|
end
|
|
167
167
|
|
|
168
168
|
c.smoke_test do
|
|
@@ -176,8 +176,8 @@ KITCHEN_YML
|
|
|
176
176
|
add_component "chef-dk" do |c|
|
|
177
177
|
c.gem_base_dir = "chef-dk"
|
|
178
178
|
c.unit_test do
|
|
179
|
-
bundle_install_mutex.synchronize { sh("#{
|
|
180
|
-
sh("#{
|
|
179
|
+
bundle_install_mutex.synchronize { sh("#{embedded_bin("bundle")} install") }
|
|
180
|
+
sh("#{embedded_bin("bundle")} exec #{embedded_bin("rspec")}")
|
|
181
181
|
end
|
|
182
182
|
c.smoke_test do
|
|
183
183
|
run_in_tmpdir("#{bin("chef")} generate cookbook example")
|
|
@@ -263,7 +263,7 @@ EOS
|
|
|
263
263
|
end
|
|
264
264
|
|
|
265
265
|
result = bundle_install_mutex.synchronize do
|
|
266
|
-
sh("#{
|
|
266
|
+
sh("#{embedded_bin("bundle")} install --local --quiet", cwd: cwd, env: {"BUNDLE_GEMFILE" => gemfile })
|
|
267
267
|
end
|
|
268
268
|
|
|
269
269
|
if result.exitstatus != 0
|
|
@@ -281,11 +281,12 @@ EOS
|
|
|
281
281
|
end
|
|
282
282
|
end
|
|
283
283
|
|
|
284
|
+
|
|
284
285
|
add_component "chefspec" do |c|
|
|
285
286
|
c.gem_base_dir = "chefspec"
|
|
286
287
|
c.unit_test do
|
|
287
|
-
bundle_install_mutex.synchronize { sh("#{
|
|
288
|
-
sh("#{
|
|
288
|
+
bundle_install_mutex.synchronize { sh("#{embedded_bin("bundle")} install") }
|
|
289
|
+
sh("#{embedded_bin("bundle")} exec #{embedded_bin("rake")} unit")
|
|
289
290
|
end
|
|
290
291
|
c.smoke_test do
|
|
291
292
|
tmpdir do |cwd|
|
|
@@ -307,7 +308,7 @@ end
|
|
|
307
308
|
require 'spec_helper'
|
|
308
309
|
EOF
|
|
309
310
|
end
|
|
310
|
-
sh(
|
|
311
|
+
sh(embedded_bin("rspec"), cwd: cwd)
|
|
311
312
|
end
|
|
312
313
|
end
|
|
313
314
|
end
|
|
@@ -319,7 +320,7 @@ require 'spec_helper'
|
|
|
319
320
|
tmpdir do |cwd|
|
|
320
321
|
sh("#{bin("chef")} generate cookbook example", cwd: cwd)
|
|
321
322
|
cb_cwd = File.join(cwd, "example")
|
|
322
|
-
sh(
|
|
323
|
+
sh(embedded_bin("rspec"), cwd: cb_cwd)
|
|
323
324
|
end
|
|
324
325
|
end
|
|
325
326
|
end
|
|
@@ -335,14 +336,14 @@ def foo
|
|
|
335
336
|
end
|
|
336
337
|
EOF
|
|
337
338
|
end
|
|
338
|
-
sh("#{
|
|
339
|
+
sh("#{embedded_bin("rubocop")} foo.rb -l", cwd: cwd)
|
|
339
340
|
end
|
|
340
341
|
end
|
|
341
342
|
end
|
|
342
343
|
|
|
343
344
|
add_component "fauxhai" do |c|
|
|
344
345
|
c.gem_base_dir = "fauxhai"
|
|
345
|
-
c.smoke_test { sh("#{
|
|
346
|
+
c.smoke_test { sh("#{embedded_bin("gem")} list fauxhai") }
|
|
346
347
|
end
|
|
347
348
|
|
|
348
349
|
add_component "knife-spork" do |c|
|
|
@@ -353,7 +354,7 @@ end
|
|
|
353
354
|
add_component "kitchen-vagrant" do |c|
|
|
354
355
|
c.gem_base_dir = "kitchen-vagrant"
|
|
355
356
|
# The build is not passing in travis, so no tests
|
|
356
|
-
c.smoke_test { sh("#{
|
|
357
|
+
c.smoke_test { sh("#{embedded_bin("gem")} list kitchen-vagrant") }
|
|
357
358
|
end
|
|
358
359
|
|
|
359
360
|
add_component "package installation" do |c|
|
|
@@ -364,11 +365,10 @@ end
|
|
|
364
365
|
|
|
365
366
|
if File.directory?(usr_bin_prefix)
|
|
366
367
|
sh!("#{usr_bin_path("berks")} -v")
|
|
367
|
-
|
|
368
368
|
sh!("#{usr_bin_path("chef")} -v")
|
|
369
|
-
|
|
370
369
|
sh!("#{usr_bin_path("chef-client")} -v")
|
|
371
370
|
sh!("#{usr_bin_path("chef-solo")} -v")
|
|
371
|
+
sh!("#{usr_bin_path("delivery")} -V") unless Chef::Platform.windows?
|
|
372
372
|
|
|
373
373
|
# In `knife`, `knife -v` follows a different code path that skips
|
|
374
374
|
# command/plugin loading; `knife -h` loads commands and plugins, but
|
|
@@ -386,7 +386,6 @@ end
|
|
|
386
386
|
end
|
|
387
387
|
|
|
388
388
|
sh!("#{usr_bin_path("ohai")} -v")
|
|
389
|
-
|
|
390
389
|
sh!("#{usr_bin_path("foodcritic")} -V")
|
|
391
390
|
end
|
|
392
391
|
|
|
@@ -426,9 +425,9 @@ end
|
|
|
426
425
|
|
|
427
426
|
# Commenting out the unit and integration tests for now until we figure
|
|
428
427
|
# out the bundler error
|
|
429
|
-
#c.unit_test { sh("#{
|
|
428
|
+
#c.unit_test { sh("#{embedded_bin("bundle")} exec rake test:isolated") }
|
|
430
429
|
# This runs Test Kitchen (using kitchen-inspec) with some inspec tests
|
|
431
|
-
#c.integration_test { sh("#{
|
|
430
|
+
#c.integration_test { sh("#{embedded_bin("bundle")} exec rake test:vm") }
|
|
432
431
|
|
|
433
432
|
# It would be nice to use a chef generator to create these specs, but
|
|
434
433
|
# we dont have that yet. So we do it manually.
|
|
@@ -447,11 +446,89 @@ end
|
|
|
447
446
|
INSPEC_TEST
|
|
448
447
|
end
|
|
449
448
|
# TODO when we appbundle inspec, no longer `chef exec`
|
|
450
|
-
sh("#{bin("chef")} exec #{
|
|
449
|
+
sh("#{bin("chef")} exec #{embedded_bin("inspec")} exec .", cwd: cwd)
|
|
450
|
+
end
|
|
451
|
+
end
|
|
452
|
+
end
|
|
453
|
+
|
|
454
|
+
unless Chef::Platform.windows?
|
|
455
|
+
add_component "delivery-cli" do |c|
|
|
456
|
+
# We'll want to come back and revisit getting unit tests added -
|
|
457
|
+
# currently running the tests depends on cargo , which is not included
|
|
458
|
+
# in our package.
|
|
459
|
+
c.base_dir = "bin"
|
|
460
|
+
c.smoke_test do
|
|
461
|
+
tmpdir do |cwd|
|
|
462
|
+
sh!("delivery setup --user=shipit --server=delivery.shipit.io --ent=chef --org=squirrels", cwd: cwd)
|
|
463
|
+
end
|
|
451
464
|
end
|
|
452
465
|
end
|
|
453
466
|
end
|
|
454
467
|
|
|
468
|
+
add_component "git" do |c|
|
|
469
|
+
c.base_dir = "embedded/bin"
|
|
470
|
+
c.smoke_test do
|
|
471
|
+
tmpdir do |cwd|
|
|
472
|
+
sh!("#{embedded_bin("git")} config -l")
|
|
473
|
+
sh!("#{embedded_bin("git")} clone https://github.com/chef/chef-provisioning", cwd: cwd)
|
|
474
|
+
|
|
475
|
+
# # If /usr/bin/git is a symlink, fail the test.
|
|
476
|
+
# # Note that this test cannot go last because it does not return a
|
|
477
|
+
# # Mixlib::Shellout object in the windows case, which will break the tests.
|
|
478
|
+
unless Chef::Platform.windows?
|
|
479
|
+
failure_str = "#{nix_platform_native_bin_dir}/git contains a symlink which might mean we accidentally overwrote system git via chefdk."
|
|
480
|
+
result = sh("readlink #{nix_platform_native_bin_dir}/git")
|
|
481
|
+
# if a symlink was found, test to see if it is in a chefdk install
|
|
482
|
+
if result.status.exitstatus == 0
|
|
483
|
+
raise failure_str if result.stdout =~ /chefdk/
|
|
484
|
+
end
|
|
485
|
+
end
|
|
486
|
+
|
|
487
|
+
# <chef_dk>/bin/ should not contain a git binary.
|
|
488
|
+
failure_str = "`<chef_dk>/bin/git --help` should fail as git should be installed in embedded/bin"
|
|
489
|
+
fail_if_exit_zero(bin("git --help"), failure_str)
|
|
490
|
+
end
|
|
491
|
+
end
|
|
492
|
+
end
|
|
493
|
+
|
|
494
|
+
add_component "opscode-pushy-client" do |c|
|
|
495
|
+
c.gem_base_dir = "opscode-pushy-client"
|
|
496
|
+
# TODO the unit tests are currently failing in master
|
|
497
|
+
# c.unit_test do
|
|
498
|
+
# bundle_install_mutex.synchronize { sh("#{embedded_bin("bundle")} install") }
|
|
499
|
+
# sh("#{embedded_bin("bundle")} exec rake spec")
|
|
500
|
+
# end
|
|
501
|
+
|
|
502
|
+
c.smoke_test do
|
|
503
|
+
tmpdir do |cwd|
|
|
504
|
+
sh("#{bin("pushy-client")} -v", cwd: cwd)
|
|
505
|
+
end
|
|
506
|
+
end
|
|
507
|
+
end
|
|
508
|
+
|
|
509
|
+
# We try and use some chef-sugar code to make sure it loads correctly
|
|
510
|
+
add_component "chef-sugar" do |c|
|
|
511
|
+
c.gem_base_dir = "chef-sugar"
|
|
512
|
+
c.smoke_test do
|
|
513
|
+
tmpdir do |cwd|
|
|
514
|
+
with_file(File.join(cwd, 'foo.rb')) do |f|
|
|
515
|
+
f.write <<-EOF
|
|
516
|
+
require 'chef/sugar'
|
|
517
|
+
log 'something' do
|
|
518
|
+
not_if { _64_bit? }
|
|
519
|
+
end
|
|
520
|
+
EOF
|
|
521
|
+
end
|
|
522
|
+
sh("chef-apply foo.rb", cwd: cwd)
|
|
523
|
+
end
|
|
524
|
+
end
|
|
525
|
+
end
|
|
526
|
+
|
|
527
|
+
add_component "knife-supermarket" do |c|
|
|
528
|
+
c.gem_base_dir = "knife-supermarket"
|
|
529
|
+
c.smoke_test { sh("#{bin("knife")} supermarket search httpd")}
|
|
530
|
+
end
|
|
531
|
+
|
|
455
532
|
attr_reader :verification_threads
|
|
456
533
|
attr_reader :verification_results
|
|
457
534
|
attr_reader :verification_status
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
_chef_comp() {
|
|
2
|
-
local COMMANDS="<%= commands.keys.join(' ')-%>"
|
|
3
|
-
COMPREPLY=($(compgen -W "$COMMANDS" -- ${COMP_WORDS[COMP_CWORD]} ))
|
|
4
|
-
}
|
|
5
|
-
complete -F _chef_comp chef
|
|
1
|
+
_chef_comp() {
|
|
2
|
+
local COMMANDS="<%= commands.keys.join(' ')-%>"
|
|
3
|
+
COMPREPLY=($(compgen -W "$COMMANDS" -- ${COMP_WORDS[COMP_CWORD]} ))
|
|
4
|
+
}
|
|
5
|
+
complete -F _chef_comp chef
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# Fish Shell command-line completions for ChefDK
|
|
2
|
-
|
|
3
|
-
function __fish_chef_no_command --description 'Test if chef has yet to be given the main command'
|
|
4
|
-
set -l cmd (commandline -opc)
|
|
5
|
-
test (count $cmd) -eq 1
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
<% commands.each do |command, desc| -%>
|
|
9
|
-
complete -c chef -f -n '__fish_chef_no_command' -a <%= command %> -d "<%= desc %>"
|
|
10
|
-
<% end -%>
|
|
1
|
+
# Fish Shell command-line completions for ChefDK
|
|
2
|
+
|
|
3
|
+
function __fish_chef_no_command --description 'Test if chef has yet to be given the main command'
|
|
4
|
+
set -l cmd (commandline -opc)
|
|
5
|
+
test (count $cmd) -eq 1
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
<% commands.each do |command, desc| -%>
|
|
9
|
+
complete -c chef -f -n '__fish_chef_no_command' -a <%= command %> -d "<%= desc %>"
|
|
10
|
+
<% end -%>
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
function _chef() {
|
|
2
|
-
|
|
3
|
-
local -a _1st_arguments
|
|
4
|
-
_1st_arguments=(
|
|
5
|
-
<% commands.each do |command, desc| -%>
|
|
6
|
-
'<%=command%>:<%=desc%>'
|
|
7
|
-
<% end -%>
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
_arguments \
|
|
11
|
-
'(-v --version)'{-v,--version}'[version information]' \
|
|
12
|
-
'*:: :->subcmds' && return 0
|
|
13
|
-
|
|
14
|
-
if (( CURRENT == 1 )); then
|
|
15
|
-
_describe -t commands "chef subcommand" _1st_arguments
|
|
16
|
-
return
|
|
17
|
-
fi
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
compdef _chef chef
|
|
21
|
-
|
|
1
|
+
function _chef() {
|
|
2
|
+
|
|
3
|
+
local -a _1st_arguments
|
|
4
|
+
_1st_arguments=(
|
|
5
|
+
<% commands.each do |command, desc| -%>
|
|
6
|
+
'<%=command%>:<%=desc%>'
|
|
7
|
+
<% end -%>
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
_arguments \
|
|
11
|
+
'(-v --version)'{-v,--version}'[version information]' \
|
|
12
|
+
'*:: :->subcmds' && return 0
|
|
13
|
+
|
|
14
|
+
if (( CURRENT == 1 )); then
|
|
15
|
+
_describe -t commands "chef subcommand" _1st_arguments
|
|
16
|
+
return
|
|
17
|
+
fi
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
compdef _chef chef
|
|
21
|
+
|
|
@@ -100,6 +100,10 @@ module ChefDK
|
|
|
100
100
|
end
|
|
101
101
|
|
|
102
102
|
def bin(binary)
|
|
103
|
+
File.join(omnibus_bin_dir, binary)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def embedded_bin(binary)
|
|
103
107
|
File.join(omnibus_embedded_bin_dir, binary)
|
|
104
108
|
end
|
|
105
109
|
|
|
@@ -124,6 +128,31 @@ module ChefDK
|
|
|
124
128
|
sh(*args).tap { |result| result.error! }
|
|
125
129
|
end
|
|
126
130
|
|
|
131
|
+
# Run a command, if the command returns zero, raise an error,
|
|
132
|
+
# otherwise, if it returns non-zero or doesn't exist,
|
|
133
|
+
# return a passing command so that the test parser doesn't
|
|
134
|
+
# crash.
|
|
135
|
+
def fail_if_exit_zero(cmd_string, failure_string='')
|
|
136
|
+
result = sh(cmd_string)
|
|
137
|
+
if result.status.exitstatus == 0
|
|
138
|
+
raise failure_string
|
|
139
|
+
else
|
|
140
|
+
sh('true')
|
|
141
|
+
end
|
|
142
|
+
rescue Errno::ENOENT
|
|
143
|
+
sh('true')
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
def nix_platform_native_bin_dir
|
|
147
|
+
if /sunos|solaris/ =~ RUBY_PLATFORM
|
|
148
|
+
"/opt/local/bin"
|
|
149
|
+
elsif /darwin/ =~ RUBY_PLATFORM
|
|
150
|
+
"/usr/local/bin"
|
|
151
|
+
else
|
|
152
|
+
"/usr/bin"
|
|
153
|
+
end
|
|
154
|
+
end
|
|
155
|
+
|
|
127
156
|
def run_in_tmpdir(command, options={})
|
|
128
157
|
tmpdir do |dir|
|
|
129
158
|
options[:cwd] = dir
|
|
@@ -159,7 +188,7 @@ module ChefDK
|
|
|
159
188
|
|
|
160
189
|
def component_path
|
|
161
190
|
if base_dir
|
|
162
|
-
File.join(
|
|
191
|
+
File.join(omnibus_root, base_dir)
|
|
163
192
|
elsif gem_base_dir
|
|
164
193
|
gem_base_dir
|
|
165
194
|
else
|
data/lib/chef-dk/configurable.rb
CHANGED
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Copyright:: Copyright (c) 2014 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
|
-
require 'chef/config'
|
|
19
|
-
require 'chef/workstation_config_loader'
|
|
20
|
-
|
|
21
|
-
# Define a config context for ChefDK
|
|
22
|
-
class Chef::Config
|
|
23
|
-
|
|
24
|
-
default(:policy_document_native_api, true)
|
|
25
|
-
|
|
26
|
-
config_context(:chefdk) do
|
|
27
|
-
|
|
28
|
-
# Error when we encounter unknown keys. This makes it clear to the user if
|
|
29
|
-
# they get the name of the config key wrong (e.g., `chefdk.generator`
|
|
30
|
-
# instead of `chefdk.generator_cookbook`).
|
|
31
|
-
config_strict_mode(true)
|
|
32
|
-
|
|
33
|
-
default(:generator_cookbook, File.expand_path("../skeletons/code_generator", __FILE__))
|
|
34
|
-
|
|
35
|
-
config_context(:generator) do
|
|
36
|
-
config_strict_mode(true)
|
|
37
|
-
configurable :copyright_holder
|
|
38
|
-
configurable :email
|
|
39
|
-
configurable :license
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
module ChefDK
|
|
45
|
-
module Configurable
|
|
46
|
-
|
|
47
|
-
def chef_config
|
|
48
|
-
return @chef_config if @chef_config
|
|
49
|
-
config_loader.load
|
|
50
|
-
@chef_config = Chef::Config
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
def chefdk_config
|
|
54
|
-
chef_config.chefdk
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def config_loader
|
|
58
|
-
@config_loader ||= Chef::WorkstationConfigLoader.new(config[:config_file])
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
def generator_config
|
|
62
|
-
chefdk_config.generator
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
def knife_config
|
|
66
|
-
chef_config.knife
|
|
67
|
-
end
|
|
68
|
-
end
|
|
69
|
-
end
|
|
1
|
+
#
|
|
2
|
+
# Copyright:: Copyright (c) 2014 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
|
+
require 'chef/config'
|
|
19
|
+
require 'chef/workstation_config_loader'
|
|
20
|
+
|
|
21
|
+
# Define a config context for ChefDK
|
|
22
|
+
class Chef::Config
|
|
23
|
+
|
|
24
|
+
default(:policy_document_native_api, true)
|
|
25
|
+
|
|
26
|
+
config_context(:chefdk) do
|
|
27
|
+
|
|
28
|
+
# Error when we encounter unknown keys. This makes it clear to the user if
|
|
29
|
+
# they get the name of the config key wrong (e.g., `chefdk.generator`
|
|
30
|
+
# instead of `chefdk.generator_cookbook`).
|
|
31
|
+
config_strict_mode(true)
|
|
32
|
+
|
|
33
|
+
default(:generator_cookbook, File.expand_path("../skeletons/code_generator", __FILE__))
|
|
34
|
+
|
|
35
|
+
config_context(:generator) do
|
|
36
|
+
config_strict_mode(true)
|
|
37
|
+
configurable :copyright_holder
|
|
38
|
+
configurable :email
|
|
39
|
+
configurable :license
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
module ChefDK
|
|
45
|
+
module Configurable
|
|
46
|
+
|
|
47
|
+
def chef_config
|
|
48
|
+
return @chef_config if @chef_config
|
|
49
|
+
config_loader.load
|
|
50
|
+
@chef_config = Chef::Config
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def chefdk_config
|
|
54
|
+
chef_config.chefdk
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def config_loader
|
|
58
|
+
@config_loader ||= Chef::WorkstationConfigLoader.new(config[:config_file])
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def generator_config
|
|
62
|
+
chefdk_config.generator
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def knife_config
|
|
66
|
+
chef_config.knife
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|