chef-rundeck2 0.1.3 → 0.1.5
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 +5 -5
- data/.gitlab-ci.yml +2 -1
- data/CHANGELOG.md +5 -0
- data/chef-rundeck2.gemspec +1 -1
- data/config/auth.json +1 -7
- data/config/config.json +6 -7
- data/config/state.json +8 -65
- data/lib/chef-rundeck/api.rb +0 -25
- data/lib/chef-rundeck/cli.rb +0 -9
- data/lib/chef-rundeck/config.rb +0 -3
- data/lib/chef-rundeck/state.rb +2 -9
- data/lib/chef-rundeck/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 595d0044f61dfdaac6c9ccd57e1d7b90dc9868011e07102e8cbb2de72c37377d
|
|
4
|
+
data.tar.gz: 61a5b85b638ae5b661f3f6807900b5f5fdd0eea89751c669b9afd545ca2cea09
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 53d380e718942feb9bea3b9046246d84d8af1c7b6fa41aa56841b57a7a2e31dd8e5113ed78cb56511c4f086b7bc1b7ae2048365dcfea135e7c9fda9c6517e55c
|
|
7
|
+
data.tar.gz: 1b28b32ff216a616186ca6eb338d6f2a2cc1b4c9c49eb7fea84c4771addd019ddd46b6c57fd880f5be4084dfa6b88efbb0d8b8542d3e0bd69eeef896ec1e008e
|
data/.gitlab-ci.yml
CHANGED
|
@@ -26,7 +26,8 @@ release:Ruby 2.4:
|
|
|
26
26
|
script:
|
|
27
27
|
- bundle exec rubocop
|
|
28
28
|
- gem install dpl --no-document
|
|
29
|
-
-
|
|
29
|
+
- find . -type f -exec chmod o--w "{}" \;
|
|
30
|
+
- dpl --provider=rubygems --api-key=$RUBYGEMS_API_KEY --gem=chef-rundeck2
|
|
30
31
|
artifacts:
|
|
31
32
|
name: "chef-rundeck2-$CI_BUILD_REF_NAME"
|
|
32
33
|
paths:
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@ Chef-RunDeck2 Changelog
|
|
|
2
2
|
=========================
|
|
3
3
|
This file is used to list changes made in each version of the `chef-rundeck2` gem.
|
|
4
4
|
|
|
5
|
+
v0.1.5 (2017-12-31)
|
|
6
|
+
-------------------
|
|
7
|
+
### Fix
|
|
8
|
+
- Fix permissions on gem files
|
|
9
|
+
|
|
5
10
|
v0.1.3 (2017-04-26)
|
|
6
11
|
-------------------
|
|
7
12
|
### Enhancements
|
data/chef-rundeck2.gemspec
CHANGED
|
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
|
11
11
|
spec.authors = ['Brian Dwyer']
|
|
12
12
|
spec.email = ['bdwyer@IEEE.org']
|
|
13
13
|
|
|
14
|
-
spec.summary =
|
|
14
|
+
spec.summary = 'Chef Options Provider for RunDeck with Extras'
|
|
15
15
|
spec.homepage = 'https://github.com/bdwyertech/chef-rundeck2'
|
|
16
16
|
spec.license = 'MIT'
|
|
17
17
|
|
data/config/auth.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"bdwyer": {
|
|
3
|
-
"auth_key": "
|
|
3
|
+
"auth_key": "abcd",
|
|
4
4
|
"roles": [
|
|
5
5
|
"admin"
|
|
6
6
|
]
|
|
@@ -9,11 +9,5 @@
|
|
|
9
9
|
"roles": [
|
|
10
10
|
"alpha"
|
|
11
11
|
]
|
|
12
|
-
},
|
|
13
|
-
"vagrant": {
|
|
14
|
-
"roles": [
|
|
15
|
-
"alpha",
|
|
16
|
-
"test"
|
|
17
|
-
]
|
|
18
12
|
}
|
|
19
13
|
}
|
data/config/config.json
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"cache_timeout": 30,
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"auth_only": true,
|
|
3
|
+
"auth_file": "/tmp/auth.json",
|
|
4
|
+
"state_file": "/tmp/state.json",
|
|
5
|
+
"host": "localhost",
|
|
7
6
|
"port": 9125,
|
|
8
7
|
"environment": "production",
|
|
9
|
-
"chef_api_endpoint": "https://chef.
|
|
8
|
+
"chef_api_endpoint": "https://chef.contoso.com/organizations/contoso",
|
|
10
9
|
"chef_api_client": "rundeck-chef-client",
|
|
11
|
-
"chef_api_client_key": "~/.chef/
|
|
10
|
+
"chef_api_client_key": "~/.chef/CHEF_CONTOSO/rundeck-chef-client.pem",
|
|
12
11
|
"chef_api_admin": "bdwyertech",
|
|
13
|
-
"chef_api_admin_key": "~/.chef/
|
|
12
|
+
"chef_api_admin_key": "~/.chef/CHEF_CONTOSO/bdwyer.pem"
|
|
14
13
|
}
|
data/config/state.json
CHANGED
|
@@ -1,49 +1,8 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
|
-
"name": "
|
|
4
|
-
"created": "2016-
|
|
5
|
-
"creator": "bdweezy"
|
|
6
|
-
"type": "test"
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"name": "alpha-testing",
|
|
10
|
-
"created": "2016-06-08T13:01:57-04:00",
|
|
11
|
-
"creator": "bdweezy",
|
|
12
|
-
"type": "alpha",
|
|
13
|
-
"last_modified": [
|
|
14
|
-
"2016-06-18T20:16:11-04:00 - bdweezy",
|
|
15
|
-
"2016-06-18T13:08:56-04:00 - tinkle",
|
|
16
|
-
"2016-06-18T12:11:31-04:00 - tinkle",
|
|
17
|
-
"2016-06-18T12:11:30-04:00 - tinkle",
|
|
18
|
-
"2016-06-18T12:11:30-04:00 - tinkle",
|
|
19
|
-
"2016-06-18T12:11:30-04:00 - tinkle"
|
|
20
|
-
]
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"name": "alpha-testingg",
|
|
24
|
-
"created": "2016-06-18T20:27:45-04:00",
|
|
25
|
-
"creator": "bdweezy",
|
|
26
|
-
"type": "alpha"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"name": "alpha-testinggg",
|
|
30
|
-
"created": "2016-06-18T20:27:54-04:00",
|
|
31
|
-
"creator": "bdweezy",
|
|
32
|
-
"type": "alpha",
|
|
33
|
-
"protected": true
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"name": "alpha-testingggg",
|
|
37
|
-
"created": "2016-06-18T20:31:49-04:00",
|
|
38
|
-
"creator": "bdweezy",
|
|
39
|
-
"type": "alpha",
|
|
40
|
-
"protected": true
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"name": "alpha-testinggggg",
|
|
44
|
-
"created": "2016-06-18T20:31:56-04:00",
|
|
45
|
-
"creator": "bdweezy",
|
|
46
|
-
"type": "alpha"
|
|
3
|
+
"name": "Alpha-Bravo",
|
|
4
|
+
"created": "2016-05-28T12:04:54-04:00",
|
|
5
|
+
"creator": "bdweezy"
|
|
47
6
|
},
|
|
48
7
|
{
|
|
49
8
|
"name": "alpha-vagrant",
|
|
@@ -52,28 +11,12 @@
|
|
|
52
11
|
},
|
|
53
12
|
{
|
|
54
13
|
"name": "BD-MBPro.local",
|
|
55
|
-
"created": "2016-
|
|
56
|
-
"creator": "bdweezy"
|
|
57
|
-
"last_modified": [
|
|
58
|
-
"2016-06-08T11:15:10-04:00 - bdweezy",
|
|
59
|
-
"2016-06-08T11:15:09-04:00 - bdweezy",
|
|
60
|
-
"2016-06-08T11:15:09-04:00 - bdweezy",
|
|
61
|
-
"2016-06-08T11:15:09-04:00 - bdweezy",
|
|
62
|
-
"2016-06-08T11:15:08-04:00 - bdweezy",
|
|
63
|
-
"2016-06-08T11:15:07-04:00 - bdweezy"
|
|
64
|
-
]
|
|
14
|
+
"created": "2016-05-28T12:04:16-04:00",
|
|
15
|
+
"creator": "bdweezy"
|
|
65
16
|
},
|
|
66
17
|
{
|
|
67
|
-
"name": "
|
|
68
|
-
"created": "2016-
|
|
69
|
-
"creator": "
|
|
70
|
-
"last_modified": [
|
|
71
|
-
"2016-06-02T12:19:09-04:00 - DAVE!!!",
|
|
72
|
-
"2016-06-02T12:19:09-04:00 - DAVE!!!",
|
|
73
|
-
"2016-06-02T12:19:09-04:00 - DAVE!!!",
|
|
74
|
-
"2016-06-02T12:19:09-04:00 - DAVE!!!",
|
|
75
|
-
"2016-06-02T12:19:09-04:00 - DAVE!!!",
|
|
76
|
-
"2016-06-02T12:19:08-04:00 - DAVE!!!"
|
|
77
|
-
]
|
|
18
|
+
"name": "cloud-controller",
|
|
19
|
+
"created": "2016-05-28T12:05:24-04:00",
|
|
20
|
+
"creator": "vagrant"
|
|
78
21
|
}
|
|
79
22
|
]
|
data/lib/chef-rundeck/api.rb
CHANGED
|
@@ -188,35 +188,10 @@ module ChefRunDeck
|
|
|
188
188
|
|
|
189
189
|
# => Add Node to the State
|
|
190
190
|
post '/add/:node/:user' do |node, user|
|
|
191
|
-
# => Check If Exists and Authorized
|
|
192
|
-
if State.state.any? { |n| n[:name] == node }
|
|
193
|
-
unless Auth.admin? || Auth.creator?(node) || Auth.role_admin?(Chef.run_list(node))
|
|
194
|
-
status 401
|
|
195
|
-
return 'Unauthorized'.to_json
|
|
196
|
-
end
|
|
197
|
-
end
|
|
198
|
-
# => Add the Node
|
|
199
191
|
status 200
|
|
200
192
|
State.add_state(node, user, params).to_json
|
|
201
193
|
end
|
|
202
194
|
|
|
203
|
-
# => Check If Authorized for a Node
|
|
204
|
-
post '/auth/:node' do |node|
|
|
205
|
-
if State.state.any? { |n| n[:name] == node }
|
|
206
|
-
# => Check Authorization
|
|
207
|
-
if Auth.admin? || Auth.creator?(node) || Auth.role_admin?(Chef.run_list(node))
|
|
208
|
-
status 200
|
|
209
|
-
return 'OK. Authorization Successful'.to_json
|
|
210
|
-
else
|
|
211
|
-
status 401
|
|
212
|
-
return 'Unauthorized'.to_json
|
|
213
|
-
end
|
|
214
|
-
else
|
|
215
|
-
status 200
|
|
216
|
-
return "OK. #{node} not found in State".to_json
|
|
217
|
-
end
|
|
218
|
-
end
|
|
219
|
-
|
|
220
195
|
# => Delete Node from the Chef Server
|
|
221
196
|
post '/delete/:node' do |node|
|
|
222
197
|
unless State.state.any? { |n| n[:name] == node }
|
data/lib/chef-rundeck/cli.rb
CHANGED
|
@@ -105,15 +105,6 @@ module ChefRunDeck
|
|
|
105
105
|
# => Parse JSON Config File (If Specified and Exists)
|
|
106
106
|
json_config = Util.parse_json_config(cli.config[:config_file] || Config.config_file)
|
|
107
107
|
|
|
108
|
-
# => # => Flatten the JSON Config
|
|
109
|
-
# => if json_config && json_config[:chef]
|
|
110
|
-
# => json_config[:chef].each do |k, v|
|
|
111
|
-
# => next unless v && !v.empty?
|
|
112
|
-
# => json_config[:"chef_#{k}"] = v
|
|
113
|
-
# => end
|
|
114
|
-
# => json_config.delete(:chef)
|
|
115
|
-
# => end
|
|
116
|
-
|
|
117
108
|
# => Merge Configuration (CLI Wins)
|
|
118
109
|
config = [default, json_config, cli.config].compact.reduce(:merge)
|
|
119
110
|
|
data/lib/chef-rundeck/config.rb
CHANGED
|
@@ -43,9 +43,6 @@ module ChefRunDeck
|
|
|
43
43
|
# => Project Configuration File
|
|
44
44
|
define_setting :projects_file, File.join(root, 'config', 'projects.json')
|
|
45
45
|
|
|
46
|
-
# => Limit Deletions to only Authorized Users
|
|
47
|
-
define_setting :authorize_deletes, true
|
|
48
|
-
|
|
49
46
|
#
|
|
50
47
|
# => Chef API Configuration
|
|
51
48
|
#
|
data/lib/chef-rundeck/state.rb
CHANGED
|
@@ -49,19 +49,12 @@ module ChefRunDeck
|
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
# => Add Node to the State
|
|
52
|
-
def add_state(node, user, params)
|
|
52
|
+
def add_state(node, user, params)
|
|
53
53
|
# => Create a Node-State Object
|
|
54
54
|
(n = {}) && (n[:name] = node)
|
|
55
55
|
n[:created] = DateTime.now
|
|
56
56
|
n[:creator] = user
|
|
57
|
-
|
|
58
|
-
%w(type).each do |opt|
|
|
59
|
-
n[opt.to_sym] = params[opt] if params[opt]
|
|
60
|
-
end
|
|
61
|
-
# => Parse our Booleans
|
|
62
|
-
%w(protected).each do |opt|
|
|
63
|
-
n[opt.to_sym] = true if params[opt] && %w(true 1).any? { |x| params[opt].to_s.casecmp(x).zero? }
|
|
64
|
-
end
|
|
57
|
+
n[:type] = params['type'] if params['type']
|
|
65
58
|
# => Build the Updated State
|
|
66
59
|
update_state(n)
|
|
67
60
|
# => Return the Added Node
|
data/lib/chef-rundeck/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: chef-rundeck2
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Brian Dwyer
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2018-01-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: chef-api
|
|
@@ -192,8 +192,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
192
192
|
version: '0'
|
|
193
193
|
requirements: []
|
|
194
194
|
rubyforge_project:
|
|
195
|
-
rubygems_version: 2.
|
|
195
|
+
rubygems_version: 2.7.4
|
|
196
196
|
signing_key:
|
|
197
197
|
specification_version: 4
|
|
198
|
-
summary:
|
|
198
|
+
summary: Chef Options Provider for RunDeck with Extras
|
|
199
199
|
test_files: []
|