chef-cli 3.0.4 → 3.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +8 -3
  3. data/chef-cli.gemspec +2 -3
  4. data/lib/chef-cli/cli.rb +7 -1
  5. data/lib/chef-cli/command/generator_commands/chef_exts/generator_desc_resource.rb +1 -0
  6. data/lib/chef-cli/command/update.rb +1 -1
  7. data/lib/chef-cli/cookbook_profiler/git.rb +1 -1
  8. data/lib/chef-cli/policyfile/chef_server_lock_fetcher.rb +1 -1
  9. data/lib/chef-cli/policyfile/cookbook_locks.rb +2 -2
  10. data/lib/chef-cli/policyfile/delivery_supermarket_source.rb +1 -1
  11. data/lib/chef-cli/policyfile/local_lock_fetcher.rb +1 -1
  12. data/lib/chef-cli/policyfile/policyfile_location_specification.rb +1 -1
  13. data/lib/chef-cli/policyfile/read_cookbook_for_compat_mode_upload.rb +2 -2
  14. data/lib/chef-cli/policyfile_compiler.rb +1 -1
  15. data/lib/chef-cli/policyfile_lock.rb +1 -2
  16. data/lib/chef-cli/skeletons/code_generator/files/default/chefignore +13 -7
  17. data/lib/chef-cli/skeletons/code_generator/metadata.rb +1 -1
  18. data/lib/chef-cli/skeletons/code_generator/templates/default/build_cookbook/metadata.rb.erb +1 -1
  19. data/lib/chef-cli/skeletons/code_generator/templates/default/metadata.rb.erb +1 -1
  20. data/lib/chef-cli/version.rb +1 -1
  21. data/lib/kitchen/provisioner/chef_zero_capture.rb +3 -4
  22. data/lib/kitchen/provisioner/policyfile_zero.rb +1 -2
  23. data/spec/unit/command/clean_policy_cookbooks_spec.rb +2 -2
  24. data/spec/unit/command/env_spec.rb +1 -1
  25. data/spec/unit/command/exec_spec.rb +1 -1
  26. data/spec/unit/command/generator_commands/build_cookbook_spec.rb +1 -1
  27. data/spec/unit/commands_map_spec.rb +4 -4
  28. data/spec/unit/kitchen/provisioner/chef_zero_capture_spec.rb +0 -1
  29. data/spec/unit/policyfile_includes_spec.rb +0 -1
  30. data/spec/unit/policyfile_install_with_includes_spec.rb +0 -1
  31. data/spec/unit/policyfile_lock_build_spec.rb +0 -1
  32. metadata +11 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8ef75d64aed76476f1ca99d5e36ebba9d39f408dd2a7dfc842929e0b74e6b44
4
- data.tar.gz: 246b506ff8bae1577ffdeac5888f26d94fa45223fe02c0236d82d2ab0cfed326
3
+ metadata.gz: 32790ab3b088b47eecb22d5be42cb45915584d117687f6133f689fa7ae40b9b4
4
+ data.tar.gz: 3225502afa9009b0fb4d7cec8d0e1c5a2de851c8bcc982ef26a985e1e6e2aed1
5
5
  SHA512:
6
- metadata.gz: a2105386dd0b2fd89e09e9ba027c3da1b2557cb3cb5ff1a655215d936e5224034ded81d07e08f65c5971228b7391277e9ecf7ebaafd46933de16fe105882c68a
7
- data.tar.gz: 9ba7a7cd5f85f3e577710621f701f266750e25ac24383ef688f821599642fa7b61e25bb3ff6f0fc7ef88a75a981269449e5c6b675852aca91b936210c51f05bf
6
+ metadata.gz: 79d8e068694829682f02159f01ab4aeb38930ce9a1f967fb90dc89958a0870c0ad4b804f1a75da6dcc36174dafae0d18569ca3a20cb4448a1f55db23bc83baee
7
+ data.tar.gz: 7a708060fc06c798514384e6ac4f8367a138d0d37aae8cda9ccb5cecabff6c0a953880801f808e12774b6210c18d3c4dde761fe98b5a8a7c18a4d07f8b8864bb
data/Gemfile CHANGED
@@ -13,13 +13,18 @@ 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"
16
+ gem "cookstyle", "6.13.3" # this forces dependabot PRs to open which triggers cookstyle CI on the chef generate command
17
+ gem "chefstyle", "1.2.0"
18
+ gem "test-kitchen", "> 2.5"
19
+ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.6")
20
+ gem "chef-zero", "~> 14"
21
+ gem "chef", "~> 15"
22
+ end
18
23
  end
19
24
 
20
25
  group :development do
21
26
  gem "pry"
22
27
  gem "pry-byebug"
23
- gem "pry-stack_explorer"
28
+ gem "pry-stack_explorer", "~> 0.4.0"
24
29
  gem "rb-readline"
25
30
  end
@@ -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.7"
32
+ gem.required_ruby_version = ">= 2.5"
33
33
 
34
34
  gem.files = %w{Rakefile LICENSE} +
35
35
  Dir.glob("Gemfile*") + # Includes Gemfile and locks
@@ -47,8 +47,7 @@ Gem::Specification.new do |gem|
47
47
  gem.add_dependency "solve", "< 5.0", "> 2.0"
48
48
  gem.add_dependency "addressable", ">= 2.3.5", "< 2.8"
49
49
  gem.add_dependency "cookbook-omnifetch", "~> 0.5"
50
- gem.add_dependency "diff-lcs", "~> 1.0"
50
+ gem.add_dependency "diff-lcs", ">= 1.0", "< 1.4" # 1.4 changes the output
51
51
  gem.add_dependency "paint", ">= 1", "< 3"
52
52
  gem.add_dependency "license-acceptance", "~> 1.0", ">= 1.0.11"
53
- gem.add_development_dependency "test-kitchen", "> 2.5"
54
53
  end
@@ -122,7 +122,13 @@ module ChefCLI
122
122
  "Test Kitchen": "kitchen",
123
123
  "Cookstyle": "cookstyle",
124
124
  }.each do |name, cli|
125
- result = Bundler.with_unbundled_env { shell_out("#{cli} --version") }
125
+ # @todo when Ruby 2.5/2.6 support goes away this if statement can go away
126
+ if Gem::Version.new(Bundler::VERSION) >= Gem::Version.new("2")
127
+ result = Bundler.with_unbundled_env { shell_out("#{cli} --version") }
128
+ else
129
+ result = Bundler.with_clean_env { shell_out("#{cli} --version") }
130
+ end
131
+
126
132
  if result.exitstatus != 0
127
133
  msg("#{name} version: ERROR")
128
134
  else
@@ -28,6 +28,7 @@ module ChefCLI
28
28
  # takes to create a cookbook.
29
29
  class GeneratorDesc < Chef::Resource
30
30
  resource_name :generator_desc
31
+ provides :generator_desc
31
32
 
32
33
  property :message, String, name_property: true
33
34
 
@@ -70,7 +70,7 @@ module ChefCLI
70
70
 
71
71
  option :exclude_deps,
72
72
  long: "--exclude-deps",
73
- description: "Only update cookbooks explicitely mentioned on the command line",
73
+ description: "Only update cookbooks explicitly mentioned on the command line",
74
74
  boolean: true,
75
75
  default: false
76
76
 
@@ -31,7 +31,7 @@ module ChefCLI
31
31
  @unborn_branch_ref = nil
32
32
  end
33
33
 
34
- # @return [Hash] Hashed used for pinning cookbook versions within a Policfile.lock
34
+ # @return [Hash] Hashed used for pinning cookbook versions within a Policyfile.lock
35
35
  def profile_data
36
36
  {
37
37
  "scm" => "git",
@@ -67,7 +67,7 @@ module ChefCLI
67
67
  errors.empty?
68
68
  end
69
69
 
70
- # Check the options provided when craeting this class for errors
70
+ # Check the options provided when creating this class for errors
71
71
  #
72
72
  # @return [Array<String>] A list of errors found
73
73
  def errors
@@ -400,8 +400,8 @@ module ChefCLI
400
400
 
401
401
  dot_git = Pathname.new(".git")
402
402
  Pathname.new(cookbook_path).ascend do |parent_dir|
403
- possbile_git_dir = parent_dir + dot_git
404
- if possbile_git_dir.exist?
403
+ possible_git_dir = parent_dir + dot_git
404
+ if possible_git_dir.exist?
405
405
  @cookbook_in_git_repo = true
406
406
  break
407
407
  end
@@ -39,7 +39,7 @@ module ChefCLI
39
39
  # * Version numbers for cookbooks that pass through the Ci pipeline always
40
40
  # increase over time (so that largest version number == newest)
41
41
  #
42
- # In the future, alternative approaches may be persued to achieve the goal
42
+ # In the future, alternative approaches may be pursued to achieve the goal
43
43
  # of continuously integrating at the cookbook level without imposing those
44
44
  # constraints.
45
45
  #
@@ -48,7 +48,7 @@ module ChefCLI
48
48
  errors.empty?
49
49
  end
50
50
 
51
- # Check the options provided when craeting this class for errors
51
+ # Check the options provided when creating this class for errors
52
52
  #
53
53
  # @return [Array<String>] A list of errors found
54
54
  def errors
@@ -85,7 +85,7 @@ module ChefCLI
85
85
  errors.empty?
86
86
  end
87
87
 
88
- # Check the options provided when craeting this class for errors
88
+ # Check the options provided when creating this class for errors
89
89
  #
90
90
  # @return [Array<String>] A list of errors found
91
91
  def errors
@@ -89,9 +89,9 @@ module ChefCLI
89
89
  @cookbook_version ||=
90
90
  begin
91
91
  cookbook_version = loader.cookbook_version
92
- # TODO: dont do this for non-compat mode
92
+ # TODO: don't do this for non-compat mode
93
93
  cookbook_version.version = version_override
94
- # TODO: dont do this either
94
+ # TODO: don't do this either
95
95
 
96
96
  # Fixup manifest.
97
97
  # What happens is, the 'manifest' representation of cookbook
@@ -274,7 +274,7 @@ module ChefCLI
274
274
  # compared to an unmodified copy upstream. For example, the community site
275
275
  # may have a cookbook "apache2" at version "1.10.4", which the user has
276
276
  # forked on github and modified the dependencies without changing the
277
- # version number. To accomodate this, the local_artifacts_graph should be
277
+ # version number. To accommodate this, the local_artifacts_graph should be
278
278
  # merged over the upstream's artifacts graph.
279
279
  def local_artifacts_graph
280
280
  cookbook_location_specs.inject({}) do |local_artifacts, (cookbook_name, cookbook_location_spec)|
@@ -1,4 +1,3 @@
1
- # -*- coding: UTF-8 -*-
2
1
  #
3
2
  # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
4
3
  # License:: Apache License, Version 2.0
@@ -362,7 +361,7 @@ module ChefCLI
362
361
  # doubles give 15-17 digits of precision, so we err on the safe side
363
362
  # and only use 15 digits in the string conversion. We use the `g`
364
363
  # format, which is a documented-enough "do what I mean" where floats
365
- # >= 0.1 and < precsion are represented as floating point literals, and
364
+ # >= 0.1 and < precision are represented as floating point literals, and
366
365
  # other numbers use the exponent notation with a lowercase 'e'. Note
367
366
  # that both Ruby and Erlang document what their `g` does but have some
368
367
  # differences both subtle and non-subtle:
@@ -9,10 +9,7 @@ ehthumbs.db
9
9
  Icon?
10
10
  nohup.out
11
11
  Thumbs.db
12
-
13
- # SASS #
14
- ########
15
- .sass-cache
12
+ .envrc
16
13
 
17
14
  # EDITORS #
18
15
  ###########
@@ -26,11 +23,11 @@ Thumbs.db
26
23
  *.tmproj
27
24
  *~
28
25
  \#*
29
- mkmf.log
30
26
  REVISION
31
27
  TAGS*
32
28
  tmtags
33
29
  .vscode
30
+ .editorconfig
34
31
 
35
32
  ## COMPILED ##
36
33
  ##############
@@ -43,22 +40,29 @@ tmtags
43
40
  *.so
44
41
  */rdoc/
45
42
  a.out
43
+ mkmf.log
46
44
 
47
45
  # Testing #
48
46
  ###########
49
47
  .circleci/*
50
48
  .codeclimate.yml
49
+ .delivery/*
51
50
  .foodcritic
52
51
  .kitchen*
52
+ .mdlrc
53
+ .overcommit.yml
53
54
  .rspec
54
55
  .rubocop.yml
55
56
  .travis.yml
56
57
  .watchr
58
+ .yamllint
57
59
  azure-pipelines.yml
60
+ Dangerfile
58
61
  examples/*
59
62
  features/*
60
63
  Guardfile
61
64
  kitchen.yml*
65
+ mlc_config.json
62
66
  Procfile
63
67
  Rakefile
64
68
  spec/*
@@ -71,6 +75,7 @@ test/*
71
75
  .gitconfig
72
76
  .github/*
73
77
  .gitignore
78
+ .gitkeep
74
79
  .gitmodules
75
80
  .svn
76
81
  */.bzr/*
@@ -98,10 +103,11 @@ Policyfile.lock.json
98
103
 
99
104
  # Documentation #
100
105
  #############
101
- CHANGELOG*
106
+ CODE_OF_CONDUCT*
102
107
  CONTRIBUTING*
108
+ documentation/*
103
109
  TESTING*
104
- CODE_OF_CONDUCT*
110
+ UPGRADING*
105
111
 
106
112
  # Vagrant #
107
113
  ###########
@@ -4,4 +4,4 @@ maintainer_email 'dev@chef.io'
4
4
  license 'Apache-2.0'
5
5
  description 'Generates Chef code for Chef CLI'
6
6
  version '0.1.0'
7
- chef_version '>= 14.0'
7
+ chef_version '>= 15.0'
@@ -3,7 +3,7 @@ maintainer '<%= copyright_holder %>'
3
3
  maintainer_email '<%= email %>'
4
4
  license '<%= license %>'
5
5
  version '0.1.0'
6
- chef_version '>= 14.0'
6
+ chef_version '>= 15.0'
7
7
  <% if build_cookbook_parent_is_cookbook -%>
8
8
 
9
9
  depends 'delivery-truck'
@@ -4,7 +4,7 @@ maintainer_email '<%= email %>'
4
4
  license '<%= @spdx_license %>'
5
5
  description 'Installs/Configures <%= cookbook_name %>'
6
6
  version '0.1.0'
7
- chef_version '>= 14.0'
7
+ chef_version '>= 15.0'
8
8
 
9
9
  # The `issues_url` points to the location where issues for this cookbook are
10
10
  # tracked. A `View Issues` link will be displayed on this cookbook's page when
@@ -16,5 +16,5 @@
16
16
  #
17
17
 
18
18
  module ChefCLI
19
- VERSION = "3.0.4".freeze
19
+ VERSION = "3.0.14".freeze
20
20
  end
@@ -1,4 +1,3 @@
1
- # -*- encoding: utf-8 -*-
2
1
  #
3
2
  # Author:: Marc Paradise <marc@chef.io>
4
3
  #
@@ -45,7 +44,7 @@ module Kitchen
45
44
  #
46
45
  # This provisioner does not do any cookbook dependency
47
46
  # resolution and will not pull in external cookbooks. All cookbooks
48
- # or cookbook artificats + policy data as captured from the live node and are
47
+ # or cookbook artifacts + policy data as captured from the live node and are
49
48
  # expected to be available for chef-zero to provide to the client.
50
49
  class ChefZeroCapture < ChefZero
51
50
  # Declaring these ensure that they're available to the sandbox - it's initialized
@@ -55,7 +54,7 @@ module Kitchen
55
54
  default_config :cookbook_artifacts_path, "cookbook_artifacts"
56
55
 
57
56
  # This will load policyfile/berkshelf. We don't want either - the client resolves all
58
- # dependencies from chef-zero, exactly as preppped in the captured repository.
57
+ # dependencies from chef-zero, exactly as prepped in the captured repository.
59
58
  def load_needed_dependencies!; end
60
59
 
61
60
  def create_sandbox
@@ -73,7 +72,7 @@ module Kitchen
73
72
  end
74
73
 
75
74
  # Overriding the private ProviderChefZero#default_config_rb
76
- # so that we can add additional configuratoin required for chef-zeor
75
+ # so that we can add additional configuration required for chef-zero
77
76
  # to be able to locate our policies/, policy groups, and cookbook artifacts
78
77
  # at run-time.
79
78
  def default_config_rb
@@ -1,4 +1,3 @@
1
- # -*- encoding: utf-8 -*-
2
1
  #
3
2
  # Author:: Fletcher Nichol (<fnichol@nichol.ca>)
4
3
  #
@@ -54,7 +53,7 @@ module Kitchen
54
53
  # @author Daniel DeLeo <dan@chef.io>
55
54
  class PolicyfileZero < ChefBase
56
55
 
57
- # This provsioner will forcibly set the following config options:
56
+ # This provisioner will forcibly set the following config options:
58
57
  # * `use_policyfile`: `true`
59
58
  # * `versioned_cookbooks`: `true`
60
59
  # * `deployment_group`: `POLICY_NAME-local`
@@ -50,9 +50,9 @@ describe ChefCLI::Command::CleanPolicyCookbooks do
50
50
 
51
51
  context "when given a path to the config" do
52
52
 
53
- let(:params) { %w{ -c ~/otherstuff/config.rb } }
53
+ let(:params) { %w{ -c ~/other_stuff/config.rb } }
54
54
 
55
- let(:config_arg) { "~/otherstuff/config.rb" }
55
+ let(:config_arg) { "~/other_stuff/config.rb" }
56
56
 
57
57
  before do
58
58
  expect(chef_config_loader).to receive(:load)
@@ -69,7 +69,7 @@ describe ChefCLI::Command::Env do
69
69
  it "output should be valid yaml" do
70
70
  expect { yaml }.not_to raise_error
71
71
  end
72
- it "Workstation version should indicate that that we're not runnign from a WS install" do
72
+ it "Workstation version should indicate that that we're not running from a WS install" do
73
73
  expect(yaml).to have_key ChefCLI::Dist::PRODUCT
74
74
  expect(yaml[ChefCLI::Dist::PRODUCT]["Version"]).to eql "Not running from within Workstation"
75
75
  end
@@ -59,7 +59,7 @@ describe ChefCLI::Command::Exec do
59
59
  before do
60
60
  allow(Gem).to receive(:ruby).and_return(ruby_path)
61
61
 
62
- # Using a fake path separator to keep to prevent people from accidently
62
+ # Using a fake path separator to keep to prevent people from accidentally
63
63
  # getting things correct on their system. This enforces that, in general,
64
64
  # you should use the path separator ruby is telling you to use.
65
65
  stub_const("File::PATH_SEPARATOR", "<>")
@@ -198,7 +198,7 @@ describe ChefCLI::Command::GeneratorCommands::BuildCookbook do
198
198
  maintainer_email 'you@example.com'
199
199
  license 'all_rights'
200
200
  version '0.1.0'
201
- chef_version '>= 14.0'
201
+ chef_version '>= 15.0'
202
202
 
203
203
  depends 'delivery-truck'
204
204
  METADATA
@@ -25,7 +25,7 @@ describe ChefCLI::CommandsMap do
25
25
 
26
26
  before do
27
27
  mapping.builtin("example", :Example)
28
- mapping.builtin("hypenated-example", :HyphenatedExample)
28
+ mapping.builtin("hyphenated-example", :HyphenatedExample)
29
29
  mapping.builtin("explicit-path-example", :ExplicitPathExample, require_path: "unit/fixtures/command/explicit_path_example")
30
30
  mapping.builtin("documented-example", :DocumentedExample, desc: "I have documentation")
31
31
  end
@@ -34,16 +34,16 @@ describe ChefCLI::CommandsMap do
34
34
  expect(mapping.have_command?("example")).to be true
35
35
  end
36
36
 
37
- it "infers a non-hypenated command's require path" do
37
+ it "infers a non-hyphenated command's require path" do
38
38
  expect(mapping.spec_for("example").require_path).to eq("chef-cli/command/example")
39
39
  end
40
40
 
41
41
  it "infers a hyphenated command's require path" do
42
- expect(mapping.spec_for("hypenated-example").require_path).to eq("chef-cli/command/hypenated_example")
42
+ expect(mapping.spec_for("hyphenated-example").require_path).to eq("chef-cli/command/hyphenated_example")
43
43
  end
44
44
 
45
45
  it "lists the available commands" do
46
- expect(mapping.command_names).to match_array(%w{example hypenated-example explicit-path-example documented-example})
46
+ expect(mapping.command_names).to match_array(%w{example hyphenated-example explicit-path-example documented-example})
47
47
  end
48
48
 
49
49
  it "keeps the docstring of a command" do
@@ -1,4 +1,3 @@
1
- # -*- encoding: utf-8 -*-
2
1
  #
3
2
  # Author:: Marc Paradsie <marc.paradise@gmail.com>
4
3
  #
@@ -1,4 +1,3 @@
1
- # -*- coding: UTF-8 -*-
2
1
  #
3
2
  # Copyright:: Copyright (c) 2014-2018, Chef Software Inc.
4
3
  # License:: Apache License, Version 2.0
@@ -1,4 +1,3 @@
1
- # -*- coding: UTF-8 -*-
2
1
  #
3
2
  # Copyright:: Copyright (c) 2017 Chef Software Inc.
4
3
  # License:: Apache License, Version 2.0
@@ -1,4 +1,3 @@
1
- # -*- coding: UTF-8 -*-
2
1
  #
3
2
  # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
4
3
  # License:: Apache License, Version 2.0
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
4
+ version: 3.0.14
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: 2020-05-29 00:00:00.000000000 Z
11
+ date: 2020-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mixlib-cli
@@ -156,16 +156,22 @@ dependencies:
156
156
  name: diff-lcs
157
157
  requirement: !ruby/object:Gem::Requirement
158
158
  requirements:
159
- - - "~>"
159
+ - - ">="
160
160
  - !ruby/object:Gem::Version
161
161
  version: '1.0'
162
+ - - "<"
163
+ - !ruby/object:Gem::Version
164
+ version: '1.4'
162
165
  type: :runtime
163
166
  prerelease: false
164
167
  version_requirements: !ruby/object:Gem::Requirement
165
168
  requirements:
166
- - - "~>"
169
+ - - ">="
167
170
  - !ruby/object:Gem::Version
168
171
  version: '1.0'
172
+ - - "<"
173
+ - !ruby/object:Gem::Version
174
+ version: '1.4'
169
175
  - !ruby/object:Gem::Dependency
170
176
  name: paint
171
177
  requirement: !ruby/object:Gem::Requirement
@@ -206,20 +212,6 @@ dependencies:
206
212
  - - ">="
207
213
  - !ruby/object:Gem::Version
208
214
  version: 1.0.11
209
- - !ruby/object:Gem::Dependency
210
- name: test-kitchen
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - ">"
214
- - !ruby/object:Gem::Version
215
- version: '2.5'
216
- type: :development
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - ">"
221
- - !ruby/object:Gem::Version
222
- version: '2.5'
223
215
  description: A streamlined development and deployment workflow for Chef platform.
224
216
  email:
225
217
  - info@chef.io
@@ -608,7 +600,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
608
600
  requirements:
609
601
  - - ">="
610
602
  - !ruby/object:Gem::Version
611
- version: '2.7'
603
+ version: '2.5'
612
604
  required_rubygems_version: !ruby/object:Gem::Requirement
613
605
  requirements:
614
606
  - - ">="