stove 6.0.0 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +5 -5
  2. data/lib/stove/version.rb +1 -1
  3. metadata +10 -70
  4. data/.gitignore +0 -19
  5. data/.travis.yml +0 -20
  6. data/CHANGELOG.md +0 -161
  7. data/Gemfile +0 -5
  8. data/README.md +0 -129
  9. data/Rakefile +0 -24
  10. data/bin/stove +0 -5
  11. data/features/plugins/community.feature +0 -41
  12. data/features/plugins/git.feature +0 -40
  13. data/features/step_definitions/community_steps.rb +0 -23
  14. data/features/step_definitions/config_steps.rb +0 -7
  15. data/features/step_definitions/cookbook_steps.rb +0 -47
  16. data/features/step_definitions/cucumber_steps.rb +0 -12
  17. data/features/step_definitions/git_steps.rb +0 -67
  18. data/features/support/env.rb +0 -34
  19. data/features/support/stove.pem +0 -27
  20. data/features/support/stove/git.rb +0 -68
  21. data/spec/fixtures/integration_cookbook/attributes/default.rb +0 -1
  22. data/spec/fixtures/integration_cookbook/metadata.rb +0 -2
  23. data/spec/fixtures/integration_cookbook/recipes/default.rb +0 -1
  24. data/spec/integration/artifactory_spec.rb +0 -90
  25. data/spec/integration/cookbook_spec.rb +0 -43
  26. data/spec/spec_helper.rb +0 -28
  27. data/spec/support/generators.rb +0 -133
  28. data/spec/unit/artifactory_spec.rb +0 -131
  29. data/spec/unit/cookbook/metadata_spec.rb +0 -176
  30. data/spec/unit/error_spec.rb +0 -133
  31. data/stove.gemspec +0 -34
  32. data/templates/errors/abstract_method.erb +0 -5
  33. data/templates/errors/artifactory_key_validation_failed.erb +0 -11
  34. data/templates/errors/git_clean_validation_failed.erb +0 -1
  35. data/templates/errors/git_failed.erb +0 -5
  36. data/templates/errors/git_repository_validation_failed.erb +0 -3
  37. data/templates/errors/git_tagging_failed.erb +0 -5
  38. data/templates/errors/git_up_to_date_validation_failed.erb +0 -7
  39. data/templates/errors/metadata_not_found.erb +0 -1
  40. data/templates/errors/server_unavailable.erb +0 -1
  41. data/templates/errors/stove_error.erb +0 -1
  42. data/templates/errors/supermarket_already_exists.erb +0 -5
  43. data/templates/errors/supermarket_key_validation_failed.erb +0 -3
  44. data/templates/errors/supermarket_username_validation_failed.erb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 390277d48cb42db0d622b67242398c2356a64caa
4
- data.tar.gz: 5d62fb5adb3ab6433d2dd3a2cae863833e52ebda
2
+ SHA256:
3
+ metadata.gz: a02f84d6448ce355b1ca66b8de0ca076cacb92df063130a8548b6b59870db190
4
+ data.tar.gz: baefc030628c7d94803724a48c2ff1f1d671d42fc1b4225d3c625ee67777a8a2
5
5
  SHA512:
6
- metadata.gz: 5434acb284472d0f408b3e14215942faa47acb190a88147b1d651a54520d19bdd7e55fa5c6932af26de61f4baadf37c676c7e3413bce4d24c834172789812906
7
- data.tar.gz: c9df46d77f1c1b61aa22e865ad1df556d8b34f87927019bdc877b3ec5ba0a0cb84459d0f94bc680c867a4a4a816ad5c9009fdf8f579126d205775c020e9cec15
6
+ metadata.gz: e3089c199dde23f5d8496972b6366191d641025956b27362b9ed34098598ee7e132391ca8be8f386cc2d7563881fa6ec171bbb2accc794cf80f082d05de41585
7
+ data.tar.gz: 8483257e1b371ba837cf5387576edf29966acae8ac7451433ba221b175385eebfa8b8e7b750525e356bfad724fe675c02ae5afd187f0a3cd1751b000ad478fab
data/lib/stove/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Stove
2
- VERSION = '6.0.0'
2
+ VERSION = '6.1.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stove
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0
4
+ version: 6.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seth Vargo
8
+ - Tim Smith
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2017-09-13 00:00:00.000000000 Z
12
+ date: 2018-12-03 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: chef-api
@@ -139,29 +140,12 @@ dependencies:
139
140
  description: A utility for releasing Chef community cookbooks
140
141
  email:
141
142
  - sethvargo@gmail.com
142
- executables:
143
- - stove
143
+ - tsmith84@gmail.com
144
+ executables: []
144
145
  extensions: []
145
146
  extra_rdoc_files: []
146
147
  files:
147
- - ".gitignore"
148
- - ".travis.yml"
149
- - CHANGELOG.md
150
- - Gemfile
151
148
  - LICENSE
152
- - README.md
153
- - Rakefile
154
- - bin/stove
155
- - features/plugins/community.feature
156
- - features/plugins/git.feature
157
- - features/step_definitions/community_steps.rb
158
- - features/step_definitions/config_steps.rb
159
- - features/step_definitions/cookbook_steps.rb
160
- - features/step_definitions/cucumber_steps.rb
161
- - features/step_definitions/git_steps.rb
162
- - features/support/env.rb
163
- - features/support/stove.pem
164
- - features/support/stove/git.rb
165
149
  - lib/stove.rb
166
150
  - lib/stove/artifactory.rb
167
151
  - lib/stove/cli.rb
@@ -186,33 +170,9 @@ files:
186
170
  - lib/stove/util.rb
187
171
  - lib/stove/validator.rb
188
172
  - lib/stove/version.rb
189
- - spec/fixtures/integration_cookbook/attributes/default.rb
190
- - spec/fixtures/integration_cookbook/metadata.rb
191
- - spec/fixtures/integration_cookbook/recipes/default.rb
192
- - spec/integration/artifactory_spec.rb
193
- - spec/integration/cookbook_spec.rb
194
- - spec/spec_helper.rb
195
- - spec/support/generators.rb
196
- - spec/unit/artifactory_spec.rb
197
- - spec/unit/cookbook/metadata_spec.rb
198
- - spec/unit/error_spec.rb
199
- - stove.gemspec
200
- - templates/errors/abstract_method.erb
201
- - templates/errors/artifactory_key_validation_failed.erb
202
- - templates/errors/git_clean_validation_failed.erb
203
- - templates/errors/git_failed.erb
204
- - templates/errors/git_repository_validation_failed.erb
205
- - templates/errors/git_tagging_failed.erb
206
- - templates/errors/git_up_to_date_validation_failed.erb
207
- - templates/errors/metadata_not_found.erb
208
- - templates/errors/server_unavailable.erb
209
- - templates/errors/stove_error.erb
210
- - templates/errors/supermarket_already_exists.erb
211
- - templates/errors/supermarket_key_validation_failed.erb
212
- - templates/errors/supermarket_username_validation_failed.erb
213
- homepage: https://github.com/sethvargo/stove
173
+ homepage: https://github.com/tas50/stove
214
174
  licenses:
215
- - Apache 2.0
175
+ - Apache-2.0
216
176
  metadata: {}
217
177
  post_install_message:
218
178
  rdoc_options: []
@@ -222,7 +182,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
222
182
  requirements:
223
183
  - - ">="
224
184
  - !ruby/object:Gem::Version
225
- version: '2.1'
185
+ version: '2.2'
226
186
  required_rubygems_version: !ruby/object:Gem::Requirement
227
187
  requirements:
228
188
  - - ">="
@@ -230,28 +190,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
230
190
  version: '0'
231
191
  requirements: []
232
192
  rubyforge_project:
233
- rubygems_version: 2.6.13
193
+ rubygems_version: 2.7.8
234
194
  signing_key:
235
195
  specification_version: 4
236
196
  summary: A command-line utility for releasing Chef community cookbooks
237
- test_files:
238
- - features/plugins/community.feature
239
- - features/plugins/git.feature
240
- - features/step_definitions/community_steps.rb
241
- - features/step_definitions/config_steps.rb
242
- - features/step_definitions/cookbook_steps.rb
243
- - features/step_definitions/cucumber_steps.rb
244
- - features/step_definitions/git_steps.rb
245
- - features/support/env.rb
246
- - features/support/stove.pem
247
- - features/support/stove/git.rb
248
- - spec/fixtures/integration_cookbook/attributes/default.rb
249
- - spec/fixtures/integration_cookbook/metadata.rb
250
- - spec/fixtures/integration_cookbook/recipes/default.rb
251
- - spec/integration/artifactory_spec.rb
252
- - spec/integration/cookbook_spec.rb
253
- - spec/spec_helper.rb
254
- - spec/support/generators.rb
255
- - spec/unit/artifactory_spec.rb
256
- - spec/unit/cookbook/metadata_spec.rb
257
- - spec/unit/error_spec.rb
197
+ test_files: []
data/.gitignore DELETED
@@ -1,19 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
18
- .rspec
19
- vendor/
data/.travis.yml DELETED
@@ -1,20 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- sudo: false
4
-
5
- rvm:
6
- - 2.1.9
7
- - 2.2.6
8
- - 2.3.3
9
-
10
- branches:
11
- only:
12
- - master
13
-
14
- bundler_args: --jobs 7
15
-
16
- before_script:
17
- - git config --global user.email "ci@traivs-ci.org"
18
- - git config --global user.name "Travis CI"
19
-
20
- script: bundle exec rake
data/CHANGELOG.md DELETED
@@ -1,161 +0,0 @@
1
- # Stove CHANGELOG
2
-
3
- This is the Changelog for the Stove gem.
4
-
5
- ## v6.0.0
6
-
7
- ### Breaking Changes
8
-
9
- - All references to the Community site have been renamed to Supermarket. This includes the name of the `community` plugin and all `Community` classes references within the code. This should not be a breaking change unless your developing against stove as a library.
10
- - The long ago deprecated `bake` command has been removed.
11
-
12
- ### Other Changes
13
-
14
- - Git tagging errors now include more useful error messaging.
15
- - The help command now better describes `--no-git` and `--endpoint` flags.
16
- - For developers running stove from the git repository, the application now properly loads stove from the repository instead of from an installed gem.
17
-
18
- ## v5.2.0 (2017-05-12)
19
-
20
- - Support for uploading to Artifactory
21
-
22
- ## v5.1.0 (2017-03-31)
23
-
24
- - Match Chef's metadata behavior with chef_version and ohai_version to allow version constraints like '>= 12.5', '< 14'
25
- - Allow having gem version in cookbook metadata.json
26
- - Better align gem version logic with how Chef handles it
27
-
28
- ## v5.0.0 (2017-03-22)
29
-
30
- - Enable pushing extended metadata for Chef 12 by default
31
- - Add gem metadata to the extended metadata whitelist
32
- - Use git porcelain vs. -s to avoid having local git configs interfere with stove functionality
33
- - Only populate the extended metadata if the fields are actually present in the metadata
34
- - Support for Ruby 2.0 has been dropped as Ruby 2.0 has been EOL'd
35
-
36
- ## v4.1.1 (2016-06-02)
37
-
38
- - Don't delete the metadata.json file if there isn't a metadata.rb
39
-
40
- ## v4.1.0 (2016-06-02)
41
-
42
- - Support uploading cookbooks to Supermarket that lack a metadata.rb, but have a metadata.json
43
-
44
- ## v4.0.0 (2016-05-05)
45
-
46
- - This version of stove now requires Ruby 2.0 or later
47
-
48
- ## v3.2.8 (2015-11-19)
49
-
50
- - Add endpoint config to the .stove config file for users of private Supermarkets
51
- - Add option --no-ssl-verify to skip SSL verification
52
- - Add chef_version and ohai_version metadata when extended-metadata is enabled
53
- - Add CONTRIBUTING.md, MAINTAINERS.md and .foodcritic to the file whitelist
54
-
55
- ## v3.2.7 (2015-04-16)
56
-
57
- - Use chef.io instead of getchef.com
58
- - Ignore `vendor/` directory
59
- - Do not publish extended metadata fields like `issues_url` and `source_url` by default (GH-64, GH-72). These fields can be optionally added using the new `--extended-metadata` flag.
60
- - Add support for Ruby 2.2
61
- - Use binmode when reading and writing the tgz (GH-64)
62
-
63
- ## v3.2.6 (2015-03-18)
64
-
65
- - Include new metadata methods for Supermarket
66
-
67
- ## v3.2.5 (2014-12-19)
68
-
69
- - Fix a bug with line endings when generating tarballs
70
-
71
- ## v3.2.4 (2014-12-07)
72
-
73
- - Add support for `issues_url` and `source_url` metadata attributes
74
-
75
- ## v3.2.3 (2014-10-12)
76
-
77
- - Only upload fully-compiled metadata (i.e. only upload metadata.json, not metadata.rb)
78
-
79
- ## v3.2.2 (2014-08-07)
80
-
81
- - Fix a bug where files beginning with a dot (`.`) were not packaged
82
-
83
- ## v3.2.1 (2014-07-16)
84
-
85
- - Fix a critical bug where nested directories are flattened
86
-
87
- ## v3.2.0 (2014-07-15)
88
-
89
- **This version has been removed from Rubygems**
90
-
91
- - Add the ability to "yank" (delete) a cookbook from the Supermarket
92
- - Remove the `--category` flag (it is no longer honored)
93
- - Fix a bug where the `resources/` folder was not uploaded
94
- - Fix a bug when the cookbook name is not the same as the metdata name in the uploaded tarball
95
-
96
- ## v3.1.0 (2014-07-10)
97
-
98
- **This version has been removed from Rubygems**
99
-
100
- - Use the generated tempfile directly (instead of writing to disk and creating File objects)
101
- - Add a default version constraint ('>= 0.0.0')
102
- - Only package Ruby files under `recipes/` and similar directories
103
- - Dynamically generate the metadata.json in memory (save disk IO)
104
- - Use Rubygem's TarWrtier instead of minitar (removed dependency)
105
- - Bump version of Chef API to support tempfile IO objects
106
-
107
- ## v3.0.0 (2014-07-07)
108
-
109
- - Add support for signed git tags
110
- - Require Ruby 1.9+
111
- - Remove i18n in favor of ERB
112
- - Remove solve gem
113
- - Remove GitHub functionality
114
- - Remove JIRA functionality
115
- - Remove bump and devodd functionality
116
- - Clear up confusion on Gemfile vs not Gemfile
117
- - Always read tarball objects as binary
118
- - End tempfiles in the correct extension (needed to detect mime_types)
119
- - Bump required version of ChefAPI gem
120
- - Remove unused errors and code
121
- - Improved documentation
122
- - Remove editor files (`.swp`, etc) before packaging
123
- - Upgrade to RSpec 3
124
- - Improve test coverage
125
- - Publish to Supermarket by default
126
-
127
- ## v2.0.0 (2014-04-04)
128
-
129
- - Completely refactor the runner for speed optimizations
130
- - Introduce a new configuration file format
131
- - Add i18n support
132
- - Add Filters and validations that execute before any commands are run
133
- - Autoload plugins and actions
134
- - Improve help output by grouping options
135
- - Trap Signal interrupts cleanly
136
- - Remove formatters
137
- - Switch to logify
138
- - Introduce significantly more logging and log levels
139
- - Remove HTTParty & Jiralicious in favor or Faraday
140
- - Improve rake task to automatically perfom a minor bump when no version if given
141
- - Persist data across the cookbook object
142
- - Use singleton classes to save memory and loadtime
143
-
144
- ## v1.1.0
145
-
146
- - Check if the git remote is in sync with local branch before pushing
147
- - Add support for bumping devodd releases
148
- - Add a custom rake task
149
- - Add ability to publish GitHub releases
150
- - Fix CLI bug that didn't allow options to parse
151
- - Add logging during release process
152
- - Fix error where the community site does not give an adequate response
153
- - Retry uploads 3 times in case the community site is being lame
154
-
155
- ## v1.0.1
156
-
157
- - Fix a bug where `--log-level` was being ignored
158
-
159
- ## v1.0.0
160
-
161
- - Initial release
data/Gemfile DELETED
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
- gemspec
3
-
4
- # this maintains compatiblity with Ruby 2.1
5
- gem 'rack', '< 2'
data/README.md DELETED
@@ -1,129 +0,0 @@
1
- # Stove
2
-
3
- [![Gem Version](http://img.shields.io/gem/v/stove.svg?style=flat-square)][gem] [![Build Status](http://img.shields.io/travis/sethvargo/stove.svg?style=flat-square)][travis]
4
-
5
- A utility for releasing and managing Chef Cookbooks. It will:
6
-
7
- - Tag and push a new release to git
8
- - Upload the cookbook to a private or public Supermarket
9
-
10
- ## Why?
11
-
12
- Existing tools to package cookbooks (such as [Knife Community](https://github.com/miketheman/knife-community) and `knife cookbook site share`) require a dependency on Chef. Because of their dependency on Chef, they enforce the use of a "cookbook repo". Especially with the evolution of [Berkshelf](https://github.com/RiotGames/berkshelf), cookbooks are individualized artifacts and are often contained in their own repositories. [stove](https://github.com/sethvargo/stove) is **cookbook-centric, rather than Chef-centric**.
13
-
14
- ## Installation
15
-
16
- 1. Add Stove to your project's Gemfile:
17
-
18
- ```
19
- gem 'stove'
20
- ```
21
-
22
- 2. Run the `bundle` command to install:
23
-
24
- ```
25
- $ bundle install --binstubs
26
- ```
27
-
28
- ## Configuration
29
-
30
- Stove requires your username and private key to upload a cookbook. You can pass these to each command call, or you can set them Stove:
31
-
32
- ```bash
33
- $ stove login --username sethvargo --key ~/.chef/sethvargo.pem
34
- ```
35
-
36
- These values will be saved in Stove's configuration file (`~/.stove`) and persisted across your workstation.
37
-
38
- The default publishing endpoint is the [Chef Supermarket](https://supermarket.chef.io), but this is configurable. If you want to publish to an internal Supermarket, you can specify the `--endpoint` value:
39
-
40
- ```bash
41
- $ stove --endpoint https://internal-supermarket.example.com/api/v1
42
- ```
43
-
44
- Please note: depending on which version of Chef and which version of Supermarket you are running, you may support the new "extended" metadata fields. By default, Stove writes these new fields when uploading cookbooks, which require Chef 12 or later. If you would like to retain compatibility with Chef 11 you can disable extended metadata with `--no-extended-metadata`:
45
-
46
- ```bash
47
- $ stove --no-extended-metadata
48
- ```
49
-
50
- ## Usage
51
-
52
- There are two ways to use Stove. You can either use the `stove` command directly or use the embedded rake task.
53
-
54
- ### Command
55
-
56
- Execute the `stove` command from inside the root of a cookbook:
57
-
58
- ```bash
59
- $ bin/stove
60
- ```
61
-
62
- This will package (as a tarball) the cookbook in the current working directory, tag a new version, push to git, and publish to a cookbook share.
63
-
64
- ### Rake task
65
-
66
- If you are familiar with the Bundler approach to publishing Ruby gems, this approach will feel very familiar. Simply add the following to your `Rakefile`:
67
-
68
- ```ruby
69
- require 'stove/rake_task'
70
- Stove::RakeTask.new
71
- ```
72
-
73
- And then use rake to publish the cookbook:
74
-
75
- ```bash
76
- $ bin/rake publish
77
- ```
78
-
79
- ## Artifactory Support
80
-
81
- In addition to uploading to a standard [Supermarket](https://github.com/chef/supermarket) server, Stove can upload to an Artifactory repository [configured to be in Chef mode](https://www.jfrog.com/confluence/display/RTF/Chef+Cookbook+Repositories).
82
-
83
- You specify the URL to upload to via `--artifactory`, which you can find the URL Artifactory repository configuration. Your API key can be specified either in the `$ARTIFACTORY_API_KEY` environment variable or via `--artifactory-key`:
84
-
85
- ```bash
86
- # API key in $ARTIFACTORY_API_KEY
87
- $ stove --artifactory https://artifactory.example.com/api/chef/nameofrepo
88
- # API key in a file
89
- $ stove --artifactory https://artifactory.example.com/api/chef/nameofrepo --artifactory-key=@path/to/key/file
90
- # API key on the command line
91
- $ stove --artifactory https://artifactory.example.com/api/chef/nameofrepo --artifactory-key=XZg6tefUZYfiglmSbQ1s1e6habk
92
- ```
93
-
94
- ## Contributing
95
-
96
- 1. Fork it
97
- 2. Create your feature branch (`git checkout -b my-new-feature`)
98
- 3. Commit your changes (`git commit -am 'Add some feature'`)
99
- 4. Push to the branch (`git push origin my-new-feature`)
100
- 5. Create new Pull Request
101
-
102
- ## See Also
103
-
104
- - [Knife Community](https://github.com/miketheman/knife-community)
105
- - [Emeril](https://github.com/fnichol/emeril)
106
-
107
- ## License & Authors
108
-
109
- - Author: Seth Vargo (sethvargo@gmail.com)
110
-
111
- ```text
112
- Copyright 2013-2014 Seth Vargo <sethvargo@gmail.com>
113
- Copyright 2013-2014 Chef Software, Inc
114
-
115
- Licensed under the Apache License, Version 2.0 (the "License");
116
- you may not use this file except in compliance with the License.
117
- You may obtain a copy of the License at
118
-
119
- http://www.apache.org/licenses/LICENSE-2.0
120
-
121
- Unless required by applicable law or agreed to in writing, software
122
- distributed under the License is distributed on an "AS IS" BASIS,
123
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
124
- See the License for the specific language governing permissions and
125
- limitations under the License.
126
- ```
127
-
128
- [gem]: https://rubygems.org/gems/stove
129
- [travis]: http://travis-ci.org/sethvargo/stove