chef-rundeck2 0.1.3 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|