kitchen_hooks 1.6.2 → 1.6.3
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/Readme.md +12 -8
- data/VERSION +1 -1
- data/etc/commit-constraint.json +26 -0
- data/kitchen_hooks.gemspec +1 -0
- data/lib/kitchen_hooks/helpers.rb +6 -5
- metadata +19 -3
- /data/etc/{commit.json → commit-release.json} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41cdc71627aae3524cbbb5642a0cf9364f5aa376
|
4
|
+
data.tar.gz: a6882ae0519cb298638dd1ab76007794e26bf563
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 756af65131d98a742e2fb059368961e17a9ec1f0a4efce9ee2207770168c86e2fb162b658771facdddb739d3a686ce497c82be9a248211a768084086c8ec0174
|
7
|
+
data.tar.gz: 126a1a40db93e80992c4521cf5e032de4dd6613d8edaf0b4a85a47ed7c85e8e4cd21de206b8c53bd8137b8039942614ea8b52803402abe1dc71e59264d7d9647
|
data/Readme.md
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
# Kitchen Hooks 
|
2
2
|
|
3
|
-
The
|
4
|
-
|
3
|
+
The Kitchen Hooks provide a GitLab WebHoook for automated Chef Server uploads
|
4
|
+
following Kitchen standards.
|
5
5
|
|
6
6
|
|
7
7
|
## What?
|
8
8
|
|
9
|
-
So
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
So the Kitchen is this thing we have now in Operations at Blue Jeans Network to
|
10
|
+
help guide cookbook development. The Workflow sction of the docs prescribes how
|
11
|
+
to go about your day in Chef land including how to version, release, and deploy
|
12
|
+
changes to a Chef server.
|
13
13
|
|
14
14
|
But that's only _one_ Chef server. What if we want redundancy?
|
15
15
|
|
@@ -59,8 +59,8 @@ The new Hooks cover three scenarios:
|
|
59
59
|
when you want to update an environment with a later version of the realm.
|
60
60
|
|
61
61
|
Actions performed by Kitchen Hooks are stored in a [Daybreak](http://propublica.github.io/daybreak/)
|
62
|
-
database and presented as a timeline in the
|
63
|
-
|
62
|
+
database and presented as a timeline in the Web UI. Notifcations may be sent to
|
63
|
+
HipChat.
|
64
64
|
|
65
65
|
## Installation
|
66
66
|
|
@@ -88,6 +88,7 @@ Use the `server` command to start the WebHook receiver:
|
|
88
88
|
Listening on 0.0.0.0:80, CTRL+C to stop
|
89
89
|
...
|
90
90
|
|
91
|
+
|
91
92
|
## Configuration
|
92
93
|
|
93
94
|
The configuration file is just JSON. Hopefully it's obvious:
|
@@ -108,16 +109,19 @@ The configuration file is just JSON. Hopefully it's obvious:
|
|
108
109
|
The `server` command also exposes some options for Sinatra configuration. See
|
109
110
|
`kitchen_hooks help server`.
|
110
111
|
|
112
|
+
|
111
113
|
## Development
|
112
114
|
|
113
115
|
### TODO
|
114
116
|
|
115
117
|
* Use Ridley for data bag, role, and environment uploads to remove Chef dependency
|
116
118
|
|
119
|
+
|
117
120
|
### Changelog
|
118
121
|
|
119
122
|
### 1.6
|
120
123
|
|
124
|
+
* First public release
|
121
125
|
* Add requests to backlog for serial processing
|
122
126
|
|
123
127
|
#### 1.5
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.6.
|
1
|
+
1.6.3
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"before": "08f20548e398f634979047d0c8114260bcc2949a",
|
3
|
+
"after": "0835e7c74314cfe2aa9f98fe47338031b637ef95",
|
4
|
+
"ref": "refs/tags/bjn_catalyst_pilot",
|
5
|
+
"user_id": 645,
|
6
|
+
"user_name": "Sean Clemmer",
|
7
|
+
"repository": {
|
8
|
+
"name": "realm_catalyst",
|
9
|
+
"url": "git@git.bluejeansnet.com:chef/realm_catalyst.git",
|
10
|
+
"description": "",
|
11
|
+
"homepage": "http://git.bluejeansnet.com/chef/realm_catalyst"
|
12
|
+
},
|
13
|
+
"commits": [
|
14
|
+
{
|
15
|
+
"id": "0835e7c74314cfe2aa9f98fe47338031b637ef95",
|
16
|
+
"message": "XYZ",
|
17
|
+
"timestamp": "2014-11-25T18:30:57-08:00",
|
18
|
+
"url": "http://git.bluejeansnet.com/chef/realm_catalyst/commit/7b238ce9c6cff250db5a0b727b9661b618b82e1d",
|
19
|
+
"author": {
|
20
|
+
"name": "Sean Clemmer",
|
21
|
+
"email": "sclemmer@bluejeans.com"
|
22
|
+
}
|
23
|
+
}
|
24
|
+
],
|
25
|
+
"total_commits_count": 5
|
26
|
+
}
|
data/kitchen_hooks.gemspec
CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_runtime_dependency 'git', '~> 1.2'
|
23
23
|
s.add_runtime_dependency 'sinatra', '~> 1.4'
|
24
24
|
s.add_runtime_dependency 'ridley', '~> 4.1'
|
25
|
+
s.add_runtime_dependency 'pmap', '~> 1'
|
25
26
|
|
26
27
|
s.files = `git ls-files`.split("\n")
|
27
28
|
s.test_files = `git ls-files -- test/*`.split("\n")
|
@@ -8,6 +8,7 @@ require 'git'
|
|
8
8
|
require 'ridley'
|
9
9
|
require 'berkshelf'
|
10
10
|
require 'sinatra/base'
|
11
|
+
require 'pmap'
|
11
12
|
|
12
13
|
|
13
14
|
Celluloid.logger = nil
|
@@ -36,7 +37,7 @@ module KitchenHooks
|
|
36
37
|
$stdout.puts 'Applying constraints'
|
37
38
|
constraints = lockfile_constraints 'Berksfile.lock'
|
38
39
|
environment = tag_name event
|
39
|
-
knives.
|
40
|
+
knives.peach do |k|
|
40
41
|
apply_constraints constraints, environment, k
|
41
42
|
verify_constraints constraints, environment, k
|
42
43
|
end
|
@@ -92,7 +93,7 @@ module KitchenHooks
|
|
92
93
|
if File::exist? berksfile_lock
|
93
94
|
$stdout.puts 'Uploading dependencies'
|
94
95
|
berks_install berksfile
|
95
|
-
knives.
|
96
|
+
knives.peach do |knife|
|
96
97
|
berks_upload berksfile, knife
|
97
98
|
end
|
98
99
|
end
|
@@ -112,8 +113,8 @@ module KitchenHooks
|
|
112
113
|
with_each_knife_do 'upload roles --chef-repo-path .', knives
|
113
114
|
|
114
115
|
$stdout.puts 'Uploading environments'
|
115
|
-
Dir['environments/*'].
|
116
|
-
knives.
|
116
|
+
Dir['environments/*'].peach do |e|
|
117
|
+
knives.peach do |k|
|
117
118
|
upload_environment e, k
|
118
119
|
end
|
119
120
|
end
|
@@ -211,7 +212,7 @@ module KitchenHooks
|
|
211
212
|
end
|
212
213
|
|
213
214
|
def self.with_each_knife command, knives
|
214
|
-
knives.
|
215
|
+
knives.pmap do |k|
|
215
216
|
cmd = command % { knife: Shellwords::escape(k) }
|
216
217
|
$stdout.puts 'with_each_knife: %s' % cmd
|
217
218
|
system cmd
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen_hooks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Clemmer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hipchat
|
@@ -136,6 +136,20 @@ dependencies:
|
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '4.1'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: pmap
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '1'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '1'
|
139
153
|
description: GitLab WebHoook for automated Chef Server uploads.
|
140
154
|
email: sclemmer@bluejeans.com
|
141
155
|
executables:
|
@@ -150,7 +164,8 @@ files:
|
|
150
164
|
- Readme.md
|
151
165
|
- VERSION
|
152
166
|
- bin/kitchen_hooks
|
153
|
-
- etc/commit.json
|
167
|
+
- etc/commit-constraint.json
|
168
|
+
- etc/commit-release.json
|
154
169
|
- etc/config.json
|
155
170
|
- kitchen_hooks.gemspec
|
156
171
|
- lib/kitchen_hooks.rb
|
@@ -198,3 +213,4 @@ signing_key:
|
|
198
213
|
specification_version: 4
|
199
214
|
summary: GitLab WebHoook for automated Chef Server uploads
|
200
215
|
test_files: []
|
216
|
+
has_rdoc:
|
File without changes
|