chef-dk 3.13.1 → 4.0.60
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/Gemfile +33 -25
- data/Gemfile.lock +317 -293
- data/LICENSE +0 -0
- data/Rakefile +0 -0
- data/bin/chef +1 -1
- data/chef-dk.gemspec +3 -3
- data/lib/chef-dk.rb +0 -0
- data/lib/chef-dk/authenticated_http.rb +0 -0
- data/lib/chef-dk/builtin_commands.rb +1 -3
- data/lib/chef-dk/chef_runner.rb +0 -0
- data/lib/chef-dk/chef_server_api_multi.rb +0 -0
- data/lib/chef-dk/cli.rb +2 -3
- data/lib/chef-dk/command/base.rb +9 -1
- data/lib/chef-dk/command/clean_policy_cookbooks.rb +2 -3
- data/lib/chef-dk/command/clean_policy_revisions.rb +3 -4
- data/lib/chef-dk/command/delete_policy.rb +1 -1
- data/lib/chef-dk/command/delete_policy_group.rb +1 -2
- data/lib/chef-dk/command/describe_cookbook.rb +5 -4
- data/lib/chef-dk/command/diff.rb +7 -9
- data/lib/chef-dk/command/env.rb +0 -0
- data/lib/chef-dk/command/exec.rb +0 -0
- data/lib/chef-dk/command/export.rb +0 -1
- data/lib/chef-dk/command/gem.rb +0 -0
- data/lib/chef-dk/command/generate.rb +1 -6
- data/lib/chef-dk/command/generator_commands.rb +0 -0
- data/lib/chef-dk/command/generator_commands/attribute.rb +0 -0
- data/lib/chef-dk/command/generator_commands/base.rb +0 -0
- data/lib/chef-dk/command/generator_commands/build_cookbook.rb +7 -7
- data/lib/chef-dk/command/generator_commands/chef_exts/generator_desc_resource.rb +4 -49
- data/lib/chef-dk/command/generator_commands/chef_exts/quieter_doc_formatter.rb +0 -0
- data/lib/chef-dk/command/generator_commands/chef_exts/recipe_dsl_ext.rb +0 -0
- data/lib/chef-dk/command/generator_commands/cookbook.rb +22 -23
- data/lib/chef-dk/command/generator_commands/cookbook_code_file.rb +0 -0
- data/lib/chef-dk/command/generator_commands/cookbook_file.rb +0 -0
- data/lib/chef-dk/command/generator_commands/generator_generator.rb +0 -0
- data/lib/chef-dk/command/generator_commands/helpers.rb +0 -0
- data/lib/chef-dk/command/generator_commands/policyfile.rb +0 -0
- data/lib/chef-dk/command/generator_commands/recipe.rb +0 -0
- data/lib/chef-dk/command/generator_commands/repo.rb +25 -9
- data/lib/chef-dk/command/generator_commands/resource.rb +0 -0
- data/lib/chef-dk/command/generator_commands/template.rb +0 -0
- data/lib/chef-dk/command/install.rb +1 -2
- data/lib/chef-dk/command/provision.rb +2 -404
- data/lib/chef-dk/command/push.rb +1 -2
- data/lib/chef-dk/command/push_archive.rb +2 -2
- data/lib/chef-dk/command/shell_init.rb +9 -5
- data/lib/chef-dk/command/show_policy.rb +0 -1
- data/lib/chef-dk/command/undelete.rb +0 -1
- data/lib/chef-dk/command/update.rb +0 -1
- data/lib/chef-dk/command/verify.rb +13 -110
- data/lib/chef-dk/commands_map.rb +0 -0
- data/lib/chef-dk/completions/bash.sh.erb +0 -0
- data/lib/chef-dk/completions/chef.fish.erb +0 -0
- data/lib/chef-dk/completions/zsh.zsh.erb +0 -0
- data/lib/chef-dk/component_test.rb +4 -2
- data/lib/chef-dk/configurable.rb +0 -1
- data/lib/chef-dk/cookbook_metadata.rb +0 -0
- data/lib/chef-dk/cookbook_omnifetch.rb +0 -0
- data/lib/chef-dk/cookbook_profiler/git.rb +0 -0
- data/lib/chef-dk/cookbook_profiler/identifiers.rb +0 -0
- data/lib/chef-dk/cookbook_profiler/null_scm.rb +0 -0
- data/lib/chef-dk/exceptions.rb +1 -1
- data/lib/chef-dk/generator.rb +1 -1
- data/lib/chef-dk/helpers.rb +1 -2
- data/lib/chef-dk/pager.rb +0 -0
- data/lib/chef-dk/policyfile/artifactory_cookbook_source.rb +0 -0
- data/lib/chef-dk/policyfile/attribute_merge_checker.rb +0 -0
- data/lib/chef-dk/policyfile/chef_repo_cookbook_source.rb +0 -0
- data/lib/chef-dk/policyfile/chef_server_cookbook_source.rb +0 -0
- data/lib/chef-dk/policyfile/chef_server_lock_fetcher.rb +2 -2
- data/lib/chef-dk/policyfile/community_cookbook_source.rb +0 -0
- data/lib/chef-dk/policyfile/comparison_base.rb +0 -0
- data/lib/chef-dk/policyfile/cookbook_location_specification.rb +0 -0
- data/lib/chef-dk/policyfile/cookbook_locks.rb +1 -1
- data/lib/chef-dk/policyfile/cookbook_sources.rb +0 -0
- data/lib/chef-dk/policyfile/delivery_supermarket_source.rb +0 -0
- data/lib/chef-dk/policyfile/differ.rb +0 -0
- data/lib/chef-dk/policyfile/dsl.rb +1 -1
- data/lib/chef-dk/policyfile/git_lock_fetcher.rb +0 -0
- data/lib/chef-dk/policyfile/included_policies_cookbook_source.rb +0 -0
- data/lib/chef-dk/policyfile/lister.rb +0 -0
- data/lib/chef-dk/policyfile/local_lock_fetcher.rb +0 -0
- data/lib/chef-dk/policyfile/lock_applier.rb +0 -0
- data/lib/chef-dk/policyfile/lock_fetcher_mixin.rb +0 -0
- data/lib/chef-dk/policyfile/null_cookbook_source.rb +0 -0
- data/lib/chef-dk/policyfile/policyfile_location_specification.rb +0 -0
- data/lib/chef-dk/policyfile/read_cookbook_for_compat_mode_upload.rb +0 -0
- data/lib/chef-dk/policyfile/remote_lock_fetcher.rb +0 -0
- data/lib/chef-dk/policyfile/reports/install.rb +0 -0
- data/lib/chef-dk/policyfile/reports/table_printer.rb +0 -0
- data/lib/chef-dk/policyfile/reports/upload.rb +0 -0
- data/lib/chef-dk/policyfile/solution_dependencies.rb +1 -1
- data/lib/chef-dk/policyfile/source_uri.rb +0 -0
- data/lib/chef-dk/policyfile/storage_config.rb +0 -0
- data/lib/chef-dk/policyfile/undo_record.rb +0 -0
- data/lib/chef-dk/policyfile/undo_stack.rb +0 -0
- data/lib/chef-dk/policyfile/uploader.rb +0 -0
- data/lib/chef-dk/policyfile_compiler.rb +2 -4
- data/lib/chef-dk/policyfile_lock.rb +1 -3
- data/lib/chef-dk/policyfile_services/clean_policies.rb +0 -0
- data/lib/chef-dk/policyfile_services/clean_policy_cookbooks.rb +0 -0
- data/lib/chef-dk/policyfile_services/export_repo.rb +6 -6
- data/lib/chef-dk/policyfile_services/install.rb +0 -0
- data/lib/chef-dk/policyfile_services/push.rb +0 -0
- data/lib/chef-dk/policyfile_services/push_archive.rb +2 -2
- data/lib/chef-dk/policyfile_services/rm_policy.rb +0 -0
- data/lib/chef-dk/policyfile_services/rm_policy_group.rb +0 -0
- data/lib/chef-dk/policyfile_services/show_policy.rb +0 -0
- data/lib/chef-dk/policyfile_services/undelete.rb +0 -0
- data/lib/chef-dk/policyfile_services/update_attributes.rb +0 -0
- data/lib/chef-dk/service_exception_inspectors.rb +0 -0
- data/lib/chef-dk/service_exception_inspectors/base.rb +0 -0
- data/lib/chef-dk/service_exception_inspectors/http.rb +0 -0
- data/lib/chef-dk/service_exceptions.rb +0 -0
- data/lib/chef-dk/shell_out.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/Berksfile +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/README.md +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/kitchen.yml +1 -1
- data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/test-fixture-recipe.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/chefignore +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README-policy.md +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README.md +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/delivery-config.json +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/delivery-project.toml +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/gitignore +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/README.md +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/README.md +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/attributes/default.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/metadata.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/recipes/default.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/data_bags/README.md +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/data_bags/example/example_item.json +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/dot-chef-repo.txt +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/environments/README.md +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/environments/example.json +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/policyfiles/README.md +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/roles/README.md +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/roles/example.json +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper_policyfile.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/metadata.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/attribute.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/build_cookbook.rb +20 -20
- data/lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb +24 -16
- data/lib/chef-dk/skeletons/code_generator/recipes/cookbook_file.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/helpers.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/policyfile.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/recipe.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/repo.rb +7 -3
- data/lib/chef-dk/skeletons/code_generator/recipes/resource.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/template.rb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/CHANGELOG.md.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.all_rights.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.apachev2.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.gplv2.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.gplv3.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.mit.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/Policyfile.rb.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/README.md.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/attribute.rb.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/Berksfile.erb +1 -1
- data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/metadata.rb.erb +1 -1
- data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/recipe.rb.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/cookbook_file.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/helpers.rb.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/inspec_default_test.rb.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb +1 -1
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen_dokken.yml.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +1 -1
- data/lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb +1 -1
- data/lib/chef-dk/skeletons/code_generator/templates/default/recipe.rb.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/recipe_spec.rb.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/repo/gitignore.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/resource.rb.erb +0 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/template.erb +0 -0
- data/lib/chef-dk/ui.rb +0 -0
- data/lib/chef-dk/version.rb +1 -1
- data/lib/kitchen/provisioner/policyfile_zero.rb +0 -0
- data/spec/shared/a_file_generator.rb +0 -0
- data/spec/shared/a_generated_file.rb +0 -0
- data/spec/shared/command_with_ui_object.rb +0 -0
- data/spec/shared/custom_generator_cookbook.rb +0 -0
- data/spec/shared/fixture_cookbook_checksums.rb +1 -1
- data/spec/shared/setup_git_committer_config.rb +0 -0
- data/spec/shared/setup_git_cookbooks.rb +0 -0
- data/spec/spec_helper.rb +0 -4
- data/spec/test_helpers.rb +0 -0
- data/spec/unit/chef_runner_spec.rb +0 -0
- data/spec/unit/chef_server_api_multi_spec.rb +0 -0
- data/spec/unit/cli_spec.rb +0 -0
- data/spec/unit/command/base_spec.rb +24 -1
- data/spec/unit/command/clean_policy_cookbooks_spec.rb +0 -0
- data/spec/unit/command/clean_policy_revisions_spec.rb +0 -0
- data/spec/unit/command/delete_policy_group_spec.rb +0 -0
- data/spec/unit/command/delete_policy_spec.rb +0 -0
- data/spec/unit/command/diff_spec.rb +0 -0
- data/spec/unit/command/env_spec.rb +1 -1
- data/spec/unit/command/exec_spec.rb +1 -1
- data/spec/unit/command/export_spec.rb +0 -0
- data/spec/unit/command/generate_spec.rb +0 -0
- data/spec/unit/command/generator_commands/attribute_spec.rb +0 -0
- data/spec/unit/command/generator_commands/base_spec.rb +0 -0
- data/spec/unit/command/generator_commands/build_cookbook_spec.rb +15 -15
- data/spec/unit/command/generator_commands/chef_exts/generator_desc_resource_spec.rb +6 -26
- data/spec/unit/command/generator_commands/chef_exts/recipe_dsl_ext_spec.rb +0 -0
- data/spec/unit/command/generator_commands/cookbook_file_spec.rb +0 -0
- data/spec/unit/command/generator_commands/cookbook_spec.rb +200 -203
- data/spec/unit/command/generator_commands/generator_generator_spec.rb +7 -7
- data/spec/unit/command/generator_commands/helpers_spec.rb +0 -0
- data/spec/unit/command/generator_commands/policyfile_spec.rb +0 -0
- data/spec/unit/command/generator_commands/recipe_spec.rb +1 -2
- data/spec/unit/command/generator_commands/repo_spec.rb +8 -8
- data/spec/unit/command/generator_commands/resource_spec.rb +0 -0
- data/spec/unit/command/generator_commands/template_spec.rb +0 -0
- data/spec/unit/command/install_spec.rb +0 -0
- data/spec/unit/command/push_archive_spec.rb +0 -0
- data/spec/unit/command/push_spec.rb +0 -0
- data/spec/unit/command/shell_init_spec.rb +0 -0
- data/spec/unit/command/show_policy_spec.rb +0 -0
- data/spec/unit/command/undelete_spec.rb +0 -0
- data/spec/unit/command/update_spec.rb +0 -0
- data/spec/unit/command/verify_spec.rb +2 -3
- data/spec/unit/commands_map_spec.rb +0 -0
- data/spec/unit/component_test_spec.rb +0 -0
- data/spec/unit/configurable_spec.rb +0 -0
- data/spec/unit/cookbook_metadata_spec.rb +0 -0
- data/spec/unit/cookbook_profiler/git_spec.rb +0 -0
- data/spec/unit/cookbook_profiler/identifiers_spec.rb +3 -3
- data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_one.rb +0 -0
- data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_two.rb +0 -0
- data/spec/unit/fixtures/command/cli_test_command.rb +0 -0
- data/spec/unit/fixtures/command/explicit_path_example.rb +0 -0
- data/spec/unit/fixtures/configurable/test_config_loader.rb +0 -0
- data/spec/unit/fixtures/configurable/test_configurable.rb +0 -0
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml +0 -0
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/Berksfile +0 -0
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md +0 -0
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/chefignore +0 -0
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb +0 -0
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb +0 -0
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/.kitchen.yml +0 -0
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/Berksfile +0 -0
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/README.md +0 -0
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/chefignore +0 -0
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/metadata.rb +0 -0
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/recipes/default.rb +0 -0
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/Berksfile +0 -0
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/README.md +0 -0
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/chefignore +0 -0
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/{.kitchen.yml → kitchen.yml} +0 -0
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/metadata.rb +0 -0
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/recipes/default.rb +0 -0
- data/spec/unit/fixtures/cookbooks_api/chef_server_universe.json +0 -0
- data/spec/unit/fixtures/cookbooks_api/pruned_chef_server_universe.json +0 -0
- data/spec/unit/fixtures/cookbooks_api/pruned_small_universe.json +0 -0
- data/spec/unit/fixtures/cookbooks_api/small_universe.json +0 -0
- data/spec/unit/fixtures/cookbooks_api/universe.json +0 -0
- data/spec/unit/fixtures/cookbooks_api/update_fixtures.rb +0 -0
- data/spec/unit/fixtures/dev_cookbooks/README.md +0 -0
- data/spec/unit/fixtures/dev_cookbooks/bar-cookbook.gitbundle +0 -0
- data/spec/unit/fixtures/eg_omnibus_dir/missing_apps/bin/.keep +0 -0
- data/spec/unit/fixtures/eg_omnibus_dir/missing_apps/embedded/.keep +0 -0
- data/spec/unit/fixtures/eg_omnibus_dir/missing_apps/embedded/bin/.keep +0 -0
- data/spec/unit/fixtures/eg_omnibus_dir/missing_component/bin/.keep +0 -0
- data/spec/unit/fixtures/eg_omnibus_dir/missing_component/embedded/apps/berkshelf/.keep +0 -0
- data/spec/unit/fixtures/eg_omnibus_dir/missing_component/embedded/apps/test-kitchen/.keep +0 -0
- data/spec/unit/fixtures/eg_omnibus_dir/missing_component/embedded/bin/.keep +0 -0
- data/spec/unit/fixtures/eg_omnibus_dir/valid/bin/.keep +0 -0
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/chef-dk/.keep +0 -0
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/bin/.keep +0 -0
- data/spec/unit/fixtures/example_app/Policyfile.rb +0 -0
- data/spec/unit/fixtures/example_cookbook/.gitignore +0 -0
- data/spec/unit/fixtures/example_cookbook/.kitchen.yml +0 -0
- data/spec/unit/fixtures/example_cookbook/Berksfile +0 -0
- data/spec/unit/fixtures/example_cookbook/README.md +0 -0
- data/spec/unit/fixtures/example_cookbook/chefignore +0 -0
- data/spec/unit/fixtures/example_cookbook/metadata.rb +0 -0
- data/spec/unit/fixtures/example_cookbook/recipes/default.rb +0 -0
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/.gitignore +0 -0
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/.kitchen.yml +0 -0
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/Berksfile +0 -0
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/README.md +0 -0
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/chefignore +0 -0
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/metadata.json +0 -0
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/recipes/default.rb +0 -0
- data/spec/unit/fixtures/example_cookbook_no_metadata/.gitignore +0 -0
- data/spec/unit/fixtures/example_cookbook_no_metadata/.kitchen.yml +0 -0
- data/spec/unit/fixtures/example_cookbook_no_metadata/Berksfile +0 -0
- data/spec/unit/fixtures/example_cookbook_no_metadata/README.md +0 -0
- data/spec/unit/fixtures/example_cookbook_no_metadata/chefignore +0 -0
- data/spec/unit/fixtures/example_cookbook_no_metadata/recipes/default.rb +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/README.md +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/chefignore +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/metadata.rb +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/recipes/default.rb +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/Berksfile +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/README.md +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/chefignore +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/metadata.rb +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/recipes/default.rb +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/.kitchen.yml +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/Berksfile +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/README.md +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/chefignore +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/extra/extra_file.txt +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/metadata.rb +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/recipes/default.rb +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/metadata-missing/README.md +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb +0 -0
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb +0 -0
- data/spec/unit/generator_spec.rb +0 -0
- data/spec/unit/pager_spec.rb +0 -0
- data/spec/unit/policyfile/artifactory_cookbook_source_spec.rb +0 -0
- data/spec/unit/policyfile/attribute_merge_checker_spec.rb +0 -0
- data/spec/unit/policyfile/chef_repo_cookbook_source_spec.rb +0 -0
- data/spec/unit/policyfile/chef_server_cookbook_source_spec.rb +0 -0
- data/spec/unit/policyfile/chef_server_lock_fetcher_spec.rb +0 -0
- data/spec/unit/policyfile/community_cookbook_source_spec.rb +0 -0
- data/spec/unit/policyfile/comparison_base_spec.rb +0 -0
- data/spec/unit/policyfile/cookbook_location_specification_spec.rb +0 -0
- data/spec/unit/policyfile/cookbook_locks_spec.rb +0 -0
- data/spec/unit/policyfile/delivery_supermarket_source_spec.rb +0 -0
- data/spec/unit/policyfile/differ_spec.rb +0 -0
- data/spec/unit/policyfile/git_lock_fetcher_spec.rb +0 -0
- data/spec/unit/policyfile/included_policies_cookbook_source_spec.rb +0 -0
- data/spec/unit/policyfile/lister_spec.rb +0 -0
- data/spec/unit/policyfile/local_lock_fetcher_spec.rb +0 -0
- data/spec/unit/policyfile/lock_applier_spec.rb +0 -0
- data/spec/unit/policyfile/lock_fetcher_mixin_spec.rb +0 -0
- data/spec/unit/policyfile/null_cookbook_source_spec.rb +0 -0
- data/spec/unit/policyfile/read_cookbook_for_compat_mode_upload_spec.rb +0 -0
- data/spec/unit/policyfile/remote_lock_fetcher_spec.rb +0 -0
- data/spec/unit/policyfile/reports/install_spec.rb +0 -0
- data/spec/unit/policyfile/reports/upload_spec.rb +0 -0
- data/spec/unit/policyfile/solution_dependencies_spec.rb +0 -0
- data/spec/unit/policyfile/source_uri_spec.rb +0 -0
- data/spec/unit/policyfile/storage_config_spec.rb +0 -0
- data/spec/unit/policyfile/undo_record_spec.rb +0 -0
- data/spec/unit/policyfile/undo_stack_spec.rb +0 -0
- data/spec/unit/policyfile/uploader_spec.rb +0 -0
- data/spec/unit/policyfile_demands_spec.rb +0 -0
- data/spec/unit/policyfile_evaluation_spec.rb +0 -0
- data/spec/unit/policyfile_includes_dsl_spec.rb +0 -0
- data/spec/unit/policyfile_includes_spec.rb +0 -0
- data/spec/unit/policyfile_install_with_includes_spec.rb +0 -0
- data/spec/unit/policyfile_lock_build_spec.rb +2 -2
- data/spec/unit/policyfile_lock_install_spec.rb +0 -0
- data/spec/unit/policyfile_lock_serialization_spec.rb +0 -0
- data/spec/unit/policyfile_lock_validation_spec.rb +0 -0
- data/spec/unit/policyfile_services/clean_policies_spec.rb +0 -0
- data/spec/unit/policyfile_services/clean_policy_cookbooks_spec.rb +0 -0
- data/spec/unit/policyfile_services/export_repo_spec.rb +6 -6
- data/spec/unit/policyfile_services/install_spec.rb +0 -0
- data/spec/unit/policyfile_services/push_archive_spec.rb +2 -2
- data/spec/unit/policyfile_services/push_spec.rb +0 -0
- data/spec/unit/policyfile_services/rm_policy_group_spec.rb +0 -0
- data/spec/unit/policyfile_services/rm_policy_spec.rb +0 -0
- data/spec/unit/policyfile_services/show_policy_spec.rb +0 -0
- data/spec/unit/policyfile_services/undelete_spec.rb +0 -0
- data/spec/unit/policyfile_services/update_attributes_spec.rb +0 -0
- data/spec/unit/policyfile_services/update_spec.rb +0 -0
- data/spec/unit/service_exception_inspectors/base_spec.rb +0 -0
- data/spec/unit/service_exception_inspectors/http_spec.rb +1 -1
- data/spec/unit/shell_out_spec.rb +0 -0
- data/warning.txt +3 -2
- metadata +20 -19
- data/lib/chef-dk/command/generator_commands/app.rb +0 -106
- data/lib/chef-dk/skeletons/code_generator/recipes/app.rb +0 -87
- data/spec/unit/command/generator_commands/app_spec.rb +0 -166
- data/spec/unit/command/provision_spec.rb +0 -589
data/LICENSE
CHANGED
|
File without changes
|
data/Rakefile
CHANGED
|
File without changes
|
data/bin/chef
CHANGED
data/chef-dk.gemspec
CHANGED
|
@@ -29,7 +29,7 @@ Gem::Specification.new do |gem|
|
|
|
29
29
|
gem.license = "Apache-2.0"
|
|
30
30
|
gem.homepage = "https://www.chef.io/"
|
|
31
31
|
|
|
32
|
-
gem.required_ruby_version = ">= 2.
|
|
32
|
+
gem.required_ruby_version = ">= 2.5"
|
|
33
33
|
|
|
34
34
|
gem.files = %w{Rakefile LICENSE warning.txt} +
|
|
35
35
|
Dir.glob("Gemfile*") + # Includes Gemfile and locks
|
|
@@ -43,13 +43,13 @@ Gem::Specification.new do |gem|
|
|
|
43
43
|
gem.add_dependency "mixlib-shellout", ">= 2.0", "< 4.0"
|
|
44
44
|
gem.add_dependency "ffi-yajl", ">= 1.0", "< 3.0"
|
|
45
45
|
gem.add_dependency "minitar", "~> 0.6"
|
|
46
|
-
gem.add_dependency "chef", "~>
|
|
46
|
+
gem.add_dependency "chef", "~> 15.0"
|
|
47
47
|
gem.add_dependency "solve", "< 5.0", "> 2.0"
|
|
48
48
|
gem.add_dependency "addressable", ">= 2.3.5", "< 2.6"
|
|
49
49
|
gem.add_dependency "cookbook-omnifetch", "~> 0.5"
|
|
50
50
|
gem.add_dependency "diff-lcs", "~> 1.0"
|
|
51
51
|
gem.add_dependency "paint", "~> 1.0"
|
|
52
|
-
gem.add_dependency "
|
|
52
|
+
gem.add_dependency "license-acceptance", "~> 1.0", ">= 1.0.11"
|
|
53
53
|
|
|
54
54
|
%w{rspec-core rspec-expectations rspec-mocks}.each do |dev_gem|
|
|
55
55
|
gem.add_development_dependency dev_gem, "~> 3.0"
|
data/lib/chef-dk.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
@@ -37,12 +37,10 @@ ChefDK.commands do |c|
|
|
|
37
37
|
|
|
38
38
|
c.builtin "push-archive", :PushArchive, desc: "Push a policy archive to a policy group on the server"
|
|
39
39
|
|
|
40
|
-
c.builtin "show-policy", :ShowPolicy, desc: "Show policyfile objects on your Chef Server"
|
|
40
|
+
c.builtin "show-policy", :ShowPolicy, desc: "Show policyfile objects on your Chef Infra Server"
|
|
41
41
|
|
|
42
42
|
c.builtin "diff", :Diff, desc: "Generate an itemized diff of two Policyfile lock documents"
|
|
43
43
|
|
|
44
|
-
c.builtin "provision", :Provision, desc: "Provision VMs and clusters via cookbook"
|
|
45
|
-
|
|
46
44
|
c.builtin "export", :Export, desc: "Export a policy lock as a Chef Zero code repo"
|
|
47
45
|
|
|
48
46
|
c.builtin "clean-policy-revisions", :CleanPolicyRevisions, desc: "Delete unused policy revisions on the server"
|
data/lib/chef-dk/chef_runner.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/lib/chef-dk/cli.rb
CHANGED
|
@@ -57,7 +57,7 @@ module ChefDK
|
|
|
57
57
|
super() # mixlib-cli #initialize doesn't allow arguments
|
|
58
58
|
end
|
|
59
59
|
|
|
60
|
-
def run
|
|
60
|
+
def run(enforce_license: false)
|
|
61
61
|
sanity_check!
|
|
62
62
|
|
|
63
63
|
subcommand_name, *subcommand_params = argv
|
|
@@ -70,7 +70,7 @@ module ChefDK
|
|
|
70
70
|
handle_options
|
|
71
71
|
elsif have_command?(subcommand_name)
|
|
72
72
|
subcommand = instantiate_subcommand(subcommand_name)
|
|
73
|
-
exit_code = subcommand.run_with_default_options(subcommand_params)
|
|
73
|
+
exit_code = subcommand.run_with_default_options(enforce_license, subcommand_params)
|
|
74
74
|
exit normalized_exit_code(exit_code)
|
|
75
75
|
else
|
|
76
76
|
err "Unknown command `#{subcommand_name}'."
|
|
@@ -181,7 +181,6 @@ module ChefDK
|
|
|
181
181
|
def sanity_check!
|
|
182
182
|
# When installed outside of omnibus, trust the user to configure their PATH
|
|
183
183
|
return true unless omnibus_install?
|
|
184
|
-
|
|
185
184
|
paths = env[path_key].split(File::PATH_SEPARATOR)
|
|
186
185
|
paths.map! { |p| drive_upcase(Chef::Util::PathHelper.cleanpath(p)) }
|
|
187
186
|
embed_index = paths.index(drive_upcase(Chef::Util::PathHelper.cleanpath(omnibus_embedded_bin_dir)))
|
data/lib/chef-dk/command/base.rb
CHANGED
|
@@ -19,12 +19,15 @@ require "mixlib/cli"
|
|
|
19
19
|
require "chef-dk/helpers"
|
|
20
20
|
require "chef-dk/version"
|
|
21
21
|
require "chef/exceptions"
|
|
22
|
+
require "license_acceptance/acceptor"
|
|
23
|
+
require "license_acceptance/cli_flags/mixlib_cli"
|
|
22
24
|
|
|
23
25
|
module ChefDK
|
|
24
26
|
module Command
|
|
25
27
|
class Base
|
|
26
28
|
include Mixlib::CLI
|
|
27
29
|
include ChefDK::Helpers
|
|
30
|
+
include LicenseAcceptance::CLIFlags::MixlibCLI
|
|
28
31
|
|
|
29
32
|
option :help,
|
|
30
33
|
short: "-h",
|
|
@@ -47,7 +50,7 @@ module ChefDK
|
|
|
47
50
|
# In order to control this behavior, make sure the default options are
|
|
48
51
|
# handled here.
|
|
49
52
|
#
|
|
50
|
-
def run_with_default_options(params = [ ])
|
|
53
|
+
def run_with_default_options(enforce_license, params = [ ])
|
|
51
54
|
if needs_help?(params)
|
|
52
55
|
msg(opt_parser.to_s)
|
|
53
56
|
0
|
|
@@ -55,6 +58,7 @@ module ChefDK
|
|
|
55
58
|
msg("Chef Development Kit Version: #{ChefDK::VERSION}")
|
|
56
59
|
0
|
|
57
60
|
else
|
|
61
|
+
check_license_acceptance if enforce_license
|
|
58
62
|
run(params)
|
|
59
63
|
end
|
|
60
64
|
rescue Chef::Exceptions::ConfigurationError => e
|
|
@@ -74,6 +78,10 @@ module ChefDK
|
|
|
74
78
|
params.include?("-v") || params.include?("--version")
|
|
75
79
|
end
|
|
76
80
|
|
|
81
|
+
def check_license_acceptance
|
|
82
|
+
LicenseAcceptance::Acceptor.check_and_persist!("chef-dk", ChefDK::VERSION.to_s)
|
|
83
|
+
end
|
|
84
|
+
|
|
77
85
|
end
|
|
78
86
|
end
|
|
79
87
|
end
|
|
@@ -28,8 +28,8 @@ module ChefDK
|
|
|
28
28
|
banner(<<~BANNER)
|
|
29
29
|
Usage: chef clean-policy-cookbooks [options]
|
|
30
30
|
|
|
31
|
-
`chef clean-policy-cookbooks` deletes unused
|
|
32
|
-
are considered unused when they are not referenced by any
|
|
31
|
+
`chef clean-policy-cookbooks` deletes unused policyfile cookbooks. Cookbooks
|
|
32
|
+
are considered unused when they are not referenced by any policyfile revision
|
|
33
33
|
on the server. Note that cookbooks which are referenced by "orphaned" policy
|
|
34
34
|
revisions are not removed, so you may wish to run `chef clean-policy-revisions`
|
|
35
35
|
to remove orphaned policies before running this command.
|
|
@@ -70,7 +70,6 @@ module ChefDK
|
|
|
70
70
|
|
|
71
71
|
def run(params)
|
|
72
72
|
return 1 unless apply_params!(params)
|
|
73
|
-
|
|
74
73
|
clean_policy_cookbooks_service.run
|
|
75
74
|
0
|
|
76
75
|
rescue PolicyfileServiceError => e
|
|
@@ -28,9 +28,9 @@ module ChefDK
|
|
|
28
28
|
banner(<<~BANNER)
|
|
29
29
|
Usage: chef clean-policy-revisions [options]
|
|
30
30
|
|
|
31
|
-
`chef clean-policy-revisions` deletes orphaned
|
|
32
|
-
Server. Orphaned
|
|
33
|
-
therefore not in active use by any nodes. To list orphaned
|
|
31
|
+
`chef clean-policy-revisions` deletes orphaned policyfile revisions from the Chef
|
|
32
|
+
Server. Orphaned policyfile revisions are not associated to any group, and
|
|
33
|
+
therefore not in active use by any nodes. To list orphaned policyfile revisions
|
|
34
34
|
before deleting them, use `chef show-policy --orphans`.
|
|
35
35
|
|
|
36
36
|
See our detailed README for more information:
|
|
@@ -67,7 +67,6 @@ module ChefDK
|
|
|
67
67
|
|
|
68
68
|
def run(params)
|
|
69
69
|
return 1 unless apply_params!(params)
|
|
70
|
-
|
|
71
70
|
clean_policies_service.run
|
|
72
71
|
0
|
|
73
72
|
rescue PolicyfileServiceError => e
|
|
@@ -29,7 +29,7 @@ module ChefDK
|
|
|
29
29
|
Usage: chef delete-policy POLICY_NAME [options]
|
|
30
30
|
|
|
31
31
|
`chef delete-policy POLICY_NAME` deletes all revisions of the policy
|
|
32
|
-
`POLICY_NAME` on the configured Chef Server. All policy revisions will be
|
|
32
|
+
`POLICY_NAME` on the configured Chef Infra Server. All policy revisions will be
|
|
33
33
|
backed up locally, allowing you to undo this operation via the `chef undelete`
|
|
34
34
|
command.
|
|
35
35
|
|
|
@@ -29,7 +29,7 @@ module ChefDK
|
|
|
29
29
|
Usage: chef delete-policy-group POLICY_GROUP [options]
|
|
30
30
|
|
|
31
31
|
`chef delete-policy-group POLICY_GROUP` deletes the policy group POLICY_GROUP on
|
|
32
|
-
the configured Chef Server. Policy Revisions associated to the policy group are
|
|
32
|
+
the configured Chef Infra Server. Policy Revisions associated to the policy group are
|
|
33
33
|
not deleted. The state of the policy group will be backed up locally, allowing
|
|
34
34
|
you to undo this operation via the `chef undelete` command.
|
|
35
35
|
|
|
@@ -67,7 +67,6 @@ module ChefDK
|
|
|
67
67
|
|
|
68
68
|
def run(params)
|
|
69
69
|
return 1 unless apply_params!(params)
|
|
70
|
-
|
|
71
70
|
rm_policy_group_service.run
|
|
72
71
|
ui.msg("This operation can be reversed by running `chef undelete --last`.")
|
|
73
72
|
0
|
|
@@ -62,7 +62,6 @@ module ChefDK
|
|
|
62
62
|
def run(params = [])
|
|
63
63
|
return 1 unless apply_params!(params)
|
|
64
64
|
return 1 unless check_cookbook_path
|
|
65
|
-
|
|
66
65
|
IdDumper.new(ui, cookbook_path).run
|
|
67
66
|
end
|
|
68
67
|
|
|
@@ -72,9 +71,11 @@ module ChefDK
|
|
|
72
71
|
return false
|
|
73
72
|
end
|
|
74
73
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
mdrb_path = File.join(cookbook_path, "metadata.rb")
|
|
75
|
+
mdjson_path = File.join(cookbook_path, "metadata.json")
|
|
76
|
+
|
|
77
|
+
unless File.exist?(mdrb_path) || File.exist?(mdjson_path)
|
|
78
|
+
ui.err("Given cookbook path '#{cookbook_path}' does not appear to be a cookbook, it does not contain a metadata.rb or metadata.json")
|
|
78
79
|
return false
|
|
79
80
|
end
|
|
80
81
|
true
|
data/lib/chef-dk/command/diff.rb
CHANGED
|
@@ -57,7 +57,7 @@ module ChefDK
|
|
|
57
57
|
|
|
58
58
|
When no git-specific flag is given, `chef diff` either compares the
|
|
59
59
|
current lockfile revision on disk to one on the server or compares two
|
|
60
|
-
lockfiles on the server. Lockfiles on the Chef Server are specified by
|
|
60
|
+
lockfiles on the server. Lockfiles on the Chef Infra Server are specified by
|
|
61
61
|
Policy Group. Examples:
|
|
62
62
|
|
|
63
63
|
* `chef diff staging`: compares the current lock with the one currently
|
|
@@ -72,28 +72,28 @@ module ChefDK
|
|
|
72
72
|
option :git,
|
|
73
73
|
short: "-g GIT_REF",
|
|
74
74
|
long: "--git GIT_REF",
|
|
75
|
-
description: "Compare local lock against GIT_REF, or between two git commits
|
|
75
|
+
description: "Compare local lock against GIT_REF, or between two git commits"
|
|
76
76
|
|
|
77
77
|
option :head,
|
|
78
78
|
long: "--head",
|
|
79
|
-
description: "Compare local lock against last git commit
|
|
79
|
+
description: "Compare local lock against last git commit",
|
|
80
80
|
boolean: true
|
|
81
81
|
|
|
82
82
|
option :pager,
|
|
83
83
|
long: "--[no-]pager",
|
|
84
|
-
description: "Enable/disable paged diff ouput (default: enabled)
|
|
84
|
+
description: "Enable/disable paged diff ouput (default: enabled)",
|
|
85
85
|
default: true,
|
|
86
86
|
boolean: true
|
|
87
87
|
|
|
88
88
|
option :config_file,
|
|
89
89
|
short: "-c CONFIG_FILE",
|
|
90
90
|
long: "--config CONFIG_FILE",
|
|
91
|
-
description: "Path to configuration file
|
|
91
|
+
description: "Path to configuration file"
|
|
92
92
|
|
|
93
93
|
option :debug,
|
|
94
94
|
short: "-D",
|
|
95
95
|
long: "--debug",
|
|
96
|
-
description: "Enable stacktraces and other debug output
|
|
96
|
+
description: "Enable stacktraces and other debug output",
|
|
97
97
|
default: false
|
|
98
98
|
|
|
99
99
|
attr_accessor :ui
|
|
@@ -124,7 +124,6 @@ module ChefDK
|
|
|
124
124
|
|
|
125
125
|
def run(params = [])
|
|
126
126
|
return 1 unless apply_params!(params)
|
|
127
|
-
|
|
128
127
|
print_diff
|
|
129
128
|
0
|
|
130
129
|
rescue PolicyfileServiceError => e
|
|
@@ -153,7 +152,7 @@ module ChefDK
|
|
|
153
152
|
end
|
|
154
153
|
end
|
|
155
154
|
|
|
156
|
-
def differ(ui = self.ui)
|
|
155
|
+
def differ(ui = self.ui())
|
|
157
156
|
Policyfile::Differ.new(old_name: old_base.name,
|
|
158
157
|
old_lock: old_lock,
|
|
159
158
|
new_name: new_base.name,
|
|
@@ -290,7 +289,6 @@ module ChefDK
|
|
|
290
289
|
def policy_group_comparison?(args)
|
|
291
290
|
return false if args.empty?
|
|
292
291
|
return true if args.size > 1
|
|
293
|
-
|
|
294
292
|
!(args.first =~ /\.rb\Z/)
|
|
295
293
|
end
|
|
296
294
|
|
data/lib/chef-dk/command/env.rb
CHANGED
|
File without changes
|
data/lib/chef-dk/command/exec.rb
CHANGED
|
File without changes
|
data/lib/chef-dk/command/gem.rb
CHANGED
|
File without changes
|
|
@@ -20,7 +20,6 @@ require "chef-dk/command/generator_commands"
|
|
|
20
20
|
require "chef-dk/command/generator_commands/base"
|
|
21
21
|
require "chef-dk/command/generator_commands/cookbook_code_file"
|
|
22
22
|
require "chef-dk/command/generator_commands/cookbook"
|
|
23
|
-
require "chef-dk/command/generator_commands/app"
|
|
24
23
|
require "chef-dk/command/generator_commands/attribute"
|
|
25
24
|
require "chef-dk/command/generator_commands/cookbook_file"
|
|
26
25
|
require "chef-dk/command/generator_commands/helpers"
|
|
@@ -46,19 +45,17 @@ module ChefDK
|
|
|
46
45
|
generators << GeneratorCommand.new(name, class_name, description)
|
|
47
46
|
end
|
|
48
47
|
|
|
49
|
-
generator(:app, :App, "Generate an application repo - DEPRECATED")
|
|
50
48
|
generator(:cookbook, :Cookbook, "Generate a single cookbook")
|
|
51
49
|
generator(:recipe, :Recipe, "Generate a new recipe")
|
|
52
50
|
generator(:attribute, :Attribute, "Generate an attributes file")
|
|
53
51
|
generator(:template, :Template, "Generate a file template")
|
|
54
52
|
generator(:file, :CookbookFile, "Generate a cookbook file")
|
|
55
53
|
generator(:helpers, :Helpers, "Generate a cookbook helper file in libraries")
|
|
56
|
-
generator(:lwrp, :Resource, "Generate a lightweight resource provider (LWRP) - DEPRECATED")
|
|
57
54
|
generator(:resource, :Resource, "Generate a custom resource")
|
|
58
55
|
generator(:repo, :Repo, "Generate a Chef code repository")
|
|
59
56
|
generator(:policyfile, :Policyfile, "Generate a Policyfile for use with the install/push commands")
|
|
60
57
|
generator(:generator, :GeneratorGenerator, "Copy ChefDK's generator cookbook so you can customize it")
|
|
61
|
-
generator(:'build-cookbook', :BuildCookbook, "Generate a build cookbook for use with Workflow")
|
|
58
|
+
generator(:'build-cookbook', :BuildCookbook, "Generate a build cookbook for use with Chef Workflow (Delivery)")
|
|
62
59
|
|
|
63
60
|
def self.banner_headline
|
|
64
61
|
<<~E
|
|
@@ -86,7 +83,6 @@ module ChefDK
|
|
|
86
83
|
|
|
87
84
|
def run(params)
|
|
88
85
|
if ( generator_spec = generator_for(params[0]) )
|
|
89
|
-
puts "WARNING: The command 'chef generator #{params[0]}' is deprecated and will be removed from the next major release of Chef DK / Workstation (April 2019)\n\n" if %w{lwrp app}.include?(params[0])
|
|
90
86
|
params.shift
|
|
91
87
|
generator = GeneratorCommands.build(generator_spec.class_name, params)
|
|
92
88
|
generator.run
|
|
@@ -114,7 +110,6 @@ module ChefDK
|
|
|
114
110
|
# we delegate the request to the specified generator.
|
|
115
111
|
def needs_help?(params)
|
|
116
112
|
return false if have_generator?(params[0])
|
|
117
|
-
|
|
118
113
|
super
|
|
119
114
|
end
|
|
120
115
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -59,9 +59,9 @@ module ChefDK
|
|
|
59
59
|
|
|
60
60
|
def setup_context
|
|
61
61
|
super
|
|
62
|
-
Generator.add_attr_to_context(:
|
|
62
|
+
Generator.add_attr_to_context(:workflow_project_dir, workflow_project_dir)
|
|
63
63
|
|
|
64
|
-
Generator.add_attr_to_context(:
|
|
64
|
+
Generator.add_attr_to_context(:workflow_project_git_initialized, workflow_project_git_initialized?)
|
|
65
65
|
Generator.add_attr_to_context(:build_cookbook_parent_is_cookbook, build_cookbook_parent_is_cookbook?)
|
|
66
66
|
|
|
67
67
|
Generator.add_attr_to_context(:pipeline, pipeline)
|
|
@@ -76,13 +76,13 @@ module ChefDK
|
|
|
76
76
|
end
|
|
77
77
|
|
|
78
78
|
def build_cookbook_parent_is_cookbook?
|
|
79
|
-
metadata_json_path = File.join(
|
|
80
|
-
metadata_rb_path = File.join(
|
|
79
|
+
metadata_json_path = File.join(workflow_project_dir, "metadata.json")
|
|
80
|
+
metadata_rb_path = File.join(workflow_project_dir, "metadata.rb")
|
|
81
81
|
|
|
82
82
|
File.exist?(metadata_json_path) || File.exist?(metadata_rb_path)
|
|
83
83
|
end
|
|
84
84
|
|
|
85
|
-
def
|
|
85
|
+
def workflow_project_dir
|
|
86
86
|
project_dir = File.expand_path(cookbook_name_or_path, Dir.pwd)
|
|
87
87
|
# Detect if we were invoked with arguments like
|
|
88
88
|
#
|
|
@@ -103,8 +103,8 @@ module ChefDK
|
|
|
103
103
|
project_dir
|
|
104
104
|
end
|
|
105
105
|
|
|
106
|
-
def
|
|
107
|
-
File.exist?(File.join(
|
|
106
|
+
def workflow_project_git_initialized?
|
|
107
|
+
File.exist?(File.join(workflow_project_dir, ".git"))
|
|
108
108
|
end
|
|
109
109
|
|
|
110
110
|
def read_and_validate_params
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
# Copyright:: Copyright (c) 2016 Chef Software Inc.
|
|
2
|
+
# Copyright:: Copyright (c) 2016-2019 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");
|
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
#
|
|
17
17
|
|
|
18
18
|
require "chef/resource"
|
|
19
|
-
require "chef/provider"
|
|
20
19
|
|
|
21
20
|
module ChefDK
|
|
22
21
|
module ChefResource
|
|
@@ -28,58 +27,14 @@ module ChefDK
|
|
|
28
27
|
# As the name implies, it is used to describe the steps that the generator
|
|
29
28
|
# takes to create a cookbook.
|
|
30
29
|
class GeneratorDesc < Chef::Resource
|
|
30
|
+
resource_name :generator_desc
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
identity_attr(:message)
|
|
35
|
-
|
|
36
|
-
default_action(:write)
|
|
37
|
-
|
|
38
|
-
def initialize(name, run_context = nil)
|
|
39
|
-
super
|
|
40
|
-
@message = name
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def message(arg = nil)
|
|
44
|
-
set_or_return(
|
|
45
|
-
:message,
|
|
46
|
-
arg,
|
|
47
|
-
kind_of: String
|
|
48
|
-
)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
module ChefProvider
|
|
55
|
-
|
|
56
|
-
# Chef log provider, allows logging to chef's logs from recipes
|
|
57
|
-
class GeneratorDesc < Chef::Provider
|
|
58
|
-
|
|
59
|
-
provides :generator_desc
|
|
60
|
-
|
|
61
|
-
def whyrun_supported?
|
|
62
|
-
true
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
# No concept of a 'current' resource for logs, this is a no-op
|
|
66
|
-
#
|
|
67
|
-
# === Return
|
|
68
|
-
# true:: Always return true
|
|
69
|
-
def load_current_resource
|
|
70
|
-
true
|
|
71
|
-
end
|
|
32
|
+
property :message, String, name_property: true
|
|
72
33
|
|
|
73
34
|
# Write the log to Chef's log
|
|
74
|
-
|
|
75
|
-
# === Return
|
|
76
|
-
# true:: Always return true
|
|
77
|
-
def action_write
|
|
35
|
+
action :write do
|
|
78
36
|
run_context.events.subscribers.first.puts_line("- #{new_resource.message}")
|
|
79
|
-
new_resource.updated_by_last_action(true)
|
|
80
37
|
end
|
|
81
|
-
|
|
82
38
|
end
|
|
83
|
-
|
|
84
39
|
end
|
|
85
40
|
end
|