chef-cli 3.0.36 → 3.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/Gemfile +2 -2
 - data/chef-cli.gemspec +1 -1
 - data/lib/chef-cli/cli.rb +1 -5
 - data/lib/chef-cli/command/generator_commands/generator_generator.rb +1 -1
 - data/lib/chef-cli/command/shell_init.rb +1 -1
 - data/lib/chef-cli/configurable.rb +1 -1
 - data/lib/chef-cli/cookbook_profiler/git.rb +4 -8
 - data/lib/chef-cli/policyfile/artifactory_cookbook_source.rb +5 -1
 - data/lib/chef-cli/policyfile/differ.rb +1 -1
 - data/lib/chef-cli/service_exceptions.rb +1 -0
 - data/lib/chef-cli/skeletons/code_generator/recipes/cookbook_file.rb +1 -1
 - data/lib/chef-cli/skeletons/code_generator/templates/default/kitchen.yml.erb +1 -1
 - data/lib/chef-cli/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +1 -1
 - data/lib/chef-cli/version.rb +1 -1
 - data/spec/test_helpers.rb +1 -1
 - data/spec/unit/command/generator_commands/cookbook_spec.rb +2 -2
 - data/spec/unit/command/generator_commands/generator_generator_spec.rb +1 -1
 - data/spec/unit/policyfile/artifactory_cookbook_source_spec.rb +27 -1
 - data/spec/unit/policyfile/undo_stack_spec.rb +2 -2
 - data/spec/unit/policyfile_install_with_includes_spec.rb +1 -1
 - data/spec/unit/policyfile_lock_build_spec.rb +1 -1
 - data/spec/unit/policyfile_lock_install_spec.rb +1 -1
 - data/spec/unit/policyfile_lock_validation_spec.rb +1 -1
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 589401fa72480dd7b3e4ad63f7023af6ad9cc312c105978667d7b164df0144ad
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: de56186f0f6a2e9fe5e2aa1b21abe467dc97548710e1a92bec0adaa5d7c82a64
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: de377459543532084875b808fd2b7c0ab897fe2bae2b54bca4f82c90a59c565f1d0a04c8ccaf19710a5b9982d09a6bf2f805371b83a7ae77ae68656e0b1299d4
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 64e33de89273df76855c56b599e4b8da396df569c7c787100f3b22640675dfbb47ad5dd9546b20eb072e1cebd2ffce29687297e0ee94962758745cbf26d4ead9
         
     | 
    
        data/Gemfile
    CHANGED
    
    | 
         @@ -13,8 +13,8 @@ group :test do 
     | 
|
| 
       13 
13 
     | 
    
         
             
              gem "rspec", "~> 3.8"
         
     | 
| 
       14 
14 
     | 
    
         
             
              gem "rspec-expectations", "~> 3.8"
         
     | 
| 
       15 
15 
     | 
    
         
             
              gem "rspec-mocks", "~> 3.8"
         
     | 
| 
       16 
     | 
    
         
            -
              gem "cookstyle", " 
     | 
| 
       17 
     | 
    
         
            -
              gem "chefstyle", "1.2 
     | 
| 
      
 16 
     | 
    
         
            +
              gem "cookstyle", "=7.7.2" # this forces dependabot PRs to open which triggers cookstyle CI on the chef generate command
         
     | 
| 
      
 17 
     | 
    
         
            +
              gem "chefstyle", "=1.6.2"
         
     | 
| 
       18 
18 
     | 
    
         
             
              gem "test-kitchen", "> 2.5"
         
     | 
| 
       19 
19 
     | 
    
         
             
              if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.6")
         
     | 
| 
       20 
20 
     | 
    
         
             
                gem "chef-zero", "~> 14"
         
     | 
    
        data/chef-cli.gemspec
    CHANGED
    
    
    
        data/lib/chef-cli/cli.rb
    CHANGED
    
    
| 
         @@ -86,7 +86,7 @@ module ChefCLI 
     | 
|
| 
       86 
86 
     | 
    
         
             
                      # chefcli.generator_cookbook would make this command copy the custom
         
     | 
| 
       87 
87 
     | 
    
         
             
                      # generator, but that doesn't make sense because the user can easily
         
     | 
| 
       88 
88 
     | 
    
         
             
                      # do that anyway.
         
     | 
| 
       89 
     | 
    
         
            -
                      File.expand_path(" 
     | 
| 
      
 89 
     | 
    
         
            +
                      File.expand_path("../../skeletons/code_generator", __dir__)
         
     | 
| 
       90 
90 
     | 
    
         
             
                    end
         
     | 
| 
       91 
91 
     | 
    
         | 
| 
       92 
92 
     | 
    
         
             
                    private
         
     | 
| 
         @@ -142,7 +142,7 @@ module ChefCLI 
     | 
|
| 
       142 
142 
     | 
    
         
             
                  end
         
     | 
| 
       143 
143 
     | 
    
         | 
| 
       144 
144 
     | 
    
         
             
                  def expand_completion_template_path(basename)
         
     | 
| 
       145 
     | 
    
         
            -
                    File.join(File.expand_path(" 
     | 
| 
      
 145 
     | 
    
         
            +
                    File.join(File.expand_path("../completions", __dir__), basename)
         
     | 
| 
       146 
146 
     | 
    
         
             
                  end
         
     | 
| 
       147 
147 
     | 
    
         | 
| 
       148 
148 
     | 
    
         
             
                  def shell_completion_template_context
         
     | 
| 
         @@ -33,7 +33,7 @@ class Chef::Config 
     | 
|
| 
       33 
33 
     | 
    
         
             
                # instead of `chefcli.generator_cookbook`).
         
     | 
| 
       34 
34 
     | 
    
         
             
                config_strict_mode(true)
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
     | 
    
         
            -
                default(:generator_cookbook, File.expand_path(" 
     | 
| 
      
 36 
     | 
    
         
            +
                default(:generator_cookbook, File.expand_path("skeletons/code_generator", __dir__))
         
     | 
| 
       37 
37 
     | 
    
         | 
| 
       38 
38 
     | 
    
         
             
                config_context(:generator) do
         
     | 
| 
       39 
39 
     | 
    
         
             
                  config_strict_mode(true)
         
     | 
| 
         @@ -120,14 +120,10 @@ module ChefCLI 
     | 
|
| 
       120 
120 
     | 
    
         
             
                    @unborn_branch = false
         
     | 
| 
       121 
121 
     | 
    
         
             
                    branch
         
     | 
| 
       122 
122 
     | 
    
         
             
                  rescue Mixlib::ShellOut::ShellCommandFailed => e
         
     | 
| 
       123 
     | 
    
         
            -
                    #  
     | 
| 
       124 
     | 
    
         
            -
                     
     | 
| 
       125 
     | 
    
         
            -
             
     | 
| 
       126 
     | 
    
         
            -
                     
     | 
| 
       127 
     | 
    
         
            -
                      # if we got here, but verify_ref_cmd didn't error, we don't know why
         
     | 
| 
       128 
     | 
    
         
            -
                      # the original git command failed, so re-raise.
         
     | 
| 
       129 
     | 
    
         
            -
                      raise e
         
     | 
| 
       130 
     | 
    
         
            -
                    end
         
     | 
| 
      
 123 
     | 
    
         
            +
                    # "unborn" branch, i.e. one with no commits or
         
     | 
| 
      
 124 
     | 
    
         
            +
                    # verify_ref_cmd didn't error, we don't know why
         
     | 
| 
      
 125 
     | 
    
         
            +
                    # the original git command failed, so re-raise.
         
     | 
| 
      
 126 
     | 
    
         
            +
                    unborn_branch_ref || raise(e)
         
     | 
| 
       131 
127 
     | 
    
         
             
                  end
         
     | 
| 
       132 
128 
     | 
    
         | 
| 
       133 
129 
     | 
    
         
             
                  def unborn_branch_ref
         
     | 
| 
         @@ -82,10 +82,14 @@ module ChefCLI 
     | 
|
| 
       82 
82 
     | 
    
         
             
                    "artifactory(#{uri})"
         
     | 
| 
       83 
83 
     | 
    
         
             
                  end
         
     | 
| 
       84 
84 
     | 
    
         | 
| 
      
 85 
     | 
    
         
            +
                  def artifactory_api_key
         
     | 
| 
      
 86 
     | 
    
         
            +
                    chef_config&.artifactory_api_key || ENV["ARTIFACTORY_API_KEY"]
         
     | 
| 
      
 87 
     | 
    
         
            +
                  end
         
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
       85 
89 
     | 
    
         
             
                  private
         
     | 
| 
       86 
90 
     | 
    
         | 
| 
       87 
91 
     | 
    
         
             
                  def http_connection_for(base_url)
         
     | 
| 
       88 
     | 
    
         
            -
                    headers = { "X-Jfrog-Art-API" =>  
     | 
| 
      
 92 
     | 
    
         
            +
                    headers = { "X-Jfrog-Art-API" => artifactory_api_key }
         
     | 
| 
       89 
93 
     | 
    
         
             
                    @http_connections[base_url] ||= Chef::HTTP::Simple.new(base_url, headers: headers)
         
     | 
| 
       90 
94 
     | 
    
         
             
                  end
         
     | 
| 
       91 
95 
     | 
    
         | 
| 
         @@ -4,7 +4,7 @@ driver: 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            ## The forwarded_port port feature lets you connect to ports on the VM guest via
         
     | 
| 
       6 
6 
     | 
    
         
             
            ## localhost on the host.
         
     | 
| 
       7 
     | 
    
         
            -
            ## see also: https://www.vagrantup.com/docs/networking/forwarded_ports 
     | 
| 
      
 7 
     | 
    
         
            +
            ## see also: https://www.vagrantup.com/docs/networking/forwarded_ports
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            #  network:
         
     | 
| 
       10 
10 
     | 
    
         
             
            #    - ["forwarded_port", {guest: 80, host: 8080}]
         
     | 
| 
         @@ -4,7 +4,7 @@ driver: 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            ## The forwarded_port port feature lets you connect to ports on the VM guest via
         
     | 
| 
       6 
6 
     | 
    
         
             
            ## localhost on the host.
         
     | 
| 
       7 
     | 
    
         
            -
            ## see also: https://www.vagrantup.com/docs/networking/forwarded_ports 
     | 
| 
      
 7 
     | 
    
         
            +
            ## see also: https://www.vagrantup.com/docs/networking/forwarded_ports
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            #  network:
         
     | 
| 
       10 
10 
     | 
    
         
             
            #    - ["forwarded_port", {guest: 80, host: 8080}]
         
     | 
    
        data/lib/chef-cli/version.rb
    CHANGED
    
    
    
        data/spec/test_helpers.rb
    CHANGED
    
    
| 
         @@ -562,7 +562,7 @@ describe ChefCLI::Command::GeneratorCommands::Cookbook do 
     | 
|
| 
       562 
562 
     | 
    
         | 
| 
       563 
563 
     | 
    
         
             
                        ## The forwarded_port port feature lets you connect to ports on the VM guest via
         
     | 
| 
       564 
564 
     | 
    
         
             
                        ## localhost on the host.
         
     | 
| 
       565 
     | 
    
         
            -
                        ## see also: https://www.vagrantup.com/docs/networking/forwarded_ports 
     | 
| 
      
 565 
     | 
    
         
            +
                        ## see also: https://www.vagrantup.com/docs/networking/forwarded_ports
         
     | 
| 
       566 
566 
     | 
    
         | 
| 
       567 
567 
     | 
    
         
             
                        #  network:
         
     | 
| 
       568 
568 
     | 
    
         
             
                        #    - ["forwarded_port", {guest: 80, host: 8080}]
         
     | 
| 
         @@ -645,7 +645,7 @@ describe ChefCLI::Command::GeneratorCommands::Cookbook do 
     | 
|
| 
       645 
645 
     | 
    
         | 
| 
       646 
646 
     | 
    
         
             
                        ## The forwarded_port port feature lets you connect to ports on the VM guest via
         
     | 
| 
       647 
647 
     | 
    
         
             
                        ## localhost on the host.
         
     | 
| 
       648 
     | 
    
         
            -
                        ## see also: https://www.vagrantup.com/docs/networking/forwarded_ports 
     | 
| 
      
 648 
     | 
    
         
            +
                        ## see also: https://www.vagrantup.com/docs/networking/forwarded_ports
         
     | 
| 
       649 
649 
     | 
    
         | 
| 
       650 
650 
     | 
    
         
             
                        #  network:
         
     | 
| 
       651 
651 
     | 
    
         
             
                        #    - ["forwarded_port", {guest: 80, host: 8080}]
         
     | 
| 
         @@ -26,7 +26,7 @@ describe ChefCLI::Command::GeneratorCommands::GeneratorGenerator do 
     | 
|
| 
       26 
26 
     | 
    
         
             
              let(:stdout_io) { StringIO.new }
         
     | 
| 
       27 
27 
     | 
    
         
             
              let(:stderr_io) { StringIO.new }
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
              let(:repo_root) { File.expand_path(" 
     | 
| 
      
 29 
     | 
    
         
            +
              let(:repo_root) { File.expand_path("../../../..", __dir__) }
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
              let(:builtin_generator_path) { File.join(repo_root, "lib/chef-cli/skeletons/code_generator") }
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
         @@ -20,8 +20,9 @@ require "chef-cli/policyfile/source_uri" 
     | 
|
| 
       20 
20 
     | 
    
         
             
            require "chef-cli/policyfile/artifactory_cookbook_source"
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
            describe ChefCLI::Policyfile::ArtifactoryCookbookSource do
         
     | 
| 
       23 
     | 
    
         
            -
              subject { described_class.new(cookbook_source) }
         
     | 
| 
      
 23 
     | 
    
         
            +
              subject { described_class.new(cookbook_source, chef_config: config) }
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
      
 25 
     | 
    
         
            +
              let(:config) { nil }
         
     | 
| 
       25 
26 
     | 
    
         
             
              let(:cookbook_source) { "https://supermarket.chef.io/api/v1" }
         
     | 
| 
       26 
27 
     | 
    
         | 
| 
       27 
28 
     | 
    
         
             
              let(:http_connection) { double("Chef::HTTP::Simple") }
         
     | 
| 
         @@ -56,4 +57,29 @@ describe ChefCLI::Policyfile::ArtifactoryCookbookSource do 
     | 
|
| 
       56 
57 
     | 
    
         
             
                  expect(subject.source_options_for("apache2", "1.10.4")).to eq(expected_opts)
         
     | 
| 
       57 
58 
     | 
    
         
             
                end
         
     | 
| 
       58 
59 
     | 
    
         
             
              end
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
              describe "#artifactory_api_key" do
         
     | 
| 
      
 62 
     | 
    
         
            +
                before do
         
     | 
| 
      
 63 
     | 
    
         
            +
                  ENV["ARTIFACTORY_API_KEY"] = "test"
         
     | 
| 
      
 64 
     | 
    
         
            +
                end
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
                context "when config is not present" do
         
     | 
| 
      
 67 
     | 
    
         
            +
                  let(:config) { nil }
         
     | 
| 
      
 68 
     | 
    
         
            +
                  it "should get artifactory key from the env" do
         
     | 
| 
      
 69 
     | 
    
         
            +
                    expect(subject.artifactory_api_key).to eq("test")
         
     | 
| 
      
 70 
     | 
    
         
            +
                  end
         
     | 
| 
      
 71 
     | 
    
         
            +
                end
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
      
 73 
     | 
    
         
            +
                context "when config is present" do
         
     | 
| 
      
 74 
     | 
    
         
            +
                  let(:config) { double("Chef::Config") }
         
     | 
| 
      
 75 
     | 
    
         
            +
                  it "should get artifactory key from config when key is present" do
         
     | 
| 
      
 76 
     | 
    
         
            +
                    expect(config).to receive(:artifactory_api_key).and_return "test1"
         
     | 
| 
      
 77 
     | 
    
         
            +
                    expect(subject.artifactory_api_key).to eq("test1")
         
     | 
| 
      
 78 
     | 
    
         
            +
                  end
         
     | 
| 
      
 79 
     | 
    
         
            +
                  it "should get artifactory key from env when config is present but has a nil key" do
         
     | 
| 
      
 80 
     | 
    
         
            +
                    expect(config).to receive(:artifactory_api_key).and_return nil
         
     | 
| 
      
 81 
     | 
    
         
            +
                    expect(subject.artifactory_api_key).to eq("test")
         
     | 
| 
      
 82 
     | 
    
         
            +
                  end
         
     | 
| 
      
 83 
     | 
    
         
            +
                end
         
     | 
| 
      
 84 
     | 
    
         
            +
              end
         
     | 
| 
       59 
85 
     | 
    
         
             
            end
         
     | 
| 
         @@ -223,7 +223,7 @@ describe ChefCLI::Policyfile::UndoStack do 
     | 
|
| 
       223 
223 
     | 
    
         
             
                  end
         
     | 
| 
       224 
224 
     | 
    
         | 
| 
       225 
225 
     | 
    
         
             
                  it "removes the oldest record" do
         
     | 
| 
       226 
     | 
    
         
            -
                    oldest_record_file = undo_stack_files. 
     | 
| 
      
 226 
     | 
    
         
            +
                    oldest_record_file = undo_stack_files.min
         
     | 
| 
       227 
227 
     | 
    
         | 
| 
       228 
228 
     | 
    
         
             
                    undo_stack.push(incremented_undo_record(11))
         
     | 
| 
       229 
229 
     | 
    
         | 
| 
         @@ -251,7 +251,7 @@ describe ChefCLI::Policyfile::UndoStack do 
     | 
|
| 
       251 
251 
     | 
    
         
             
                    end
         
     | 
| 
       252 
252 
     | 
    
         | 
| 
       253 
253 
     | 
    
         
             
                    it "removes the oldest record" do
         
     | 
| 
       254 
     | 
    
         
            -
                      oldest_record_file = undo_stack_files. 
     | 
| 
      
 254 
     | 
    
         
            +
                      oldest_record_file = undo_stack_files.min
         
     | 
| 
       255 
255 
     | 
    
         | 
| 
       256 
256 
     | 
    
         
             
                      undo_stack.push(incremented_undo_record(11))
         
     | 
| 
       257 
257 
     | 
    
         | 
| 
         @@ -19,7 +19,7 @@ require "spec_helper" 
     | 
|
| 
       19 
19 
     | 
    
         
             
            require "shared/setup_git_cookbooks"
         
     | 
| 
       20 
20 
     | 
    
         
             
            require "shared/fixture_cookbook_checksums"
         
     | 
| 
       21 
21 
     | 
    
         
             
            require "chef-cli/policyfile/storage_config"
         
     | 
| 
       22 
     | 
    
         
            -
            require "chef-cli/policyfile_lock 
     | 
| 
      
 22 
     | 
    
         
            +
            require "chef-cli/policyfile_lock"
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
            describe ChefCLI::PolicyfileLock, "building a lockfile", :skip_on_windows do
         
     | 
| 
       25 
25 
     | 
    
         | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: chef-cli
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 3.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 3.0.40
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Chef Software, Inc.
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2021- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2021-02-05 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: mixlib-cli
         
     |