pe_rbac 0.5.0 → 1.0.0
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/.gitignore +1 -0
- data/README.md +2 -13
- data/lib/pe_rbac/action.rb +2 -1
- data/lib/pe_rbac/core.rb +20 -16
- data/lib/pe_rbac/permission.rb +2 -1
- data/lib/pe_rbac/role.rb +2 -1
- data/lib/pe_rbac/user.rb +3 -2
- data/lib/pe_rbac/version.rb +3 -2
- data/lib/pe_rbac.rb +2 -6
- data/pe_rbac.gemspec +3 -4
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 503aa91d25ea3f71e9e459d699ba276b157ed71a
|
4
|
+
data.tar.gz: ad6d237d94f56cea3db6a25d899e724a442326f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf191ff1d1b9cc99a622d6092cd740f4c96393a226e23e6cbeee44feafd6627746d185b3b69eedcbbb0e9673e316c3deaacc731fb5c088a00e196f1bdba0ba43
|
7
|
+
data.tar.gz: 8a20606fb82623317e05c1529da42d6cca1055ca515a94e768e3b6ea96c22ddf8e3355d92df91411608a4bd721c1b156d540a60bb75274cc0a3055bb7d9545d3
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
[](https://travis-ci.org/declarativesystems/pe_rbac)
|
2
2
|
# PeRbac
|
3
3
|
|
4
4
|
This gem lets you drive the Puppet Enterprise RBAC API from the command line or ruby. While you can of-course do the same thing using the [pltraining/rbac](https://forge.puppet.com/pltraining/rbac) forge module, this requires that you have:
|
@@ -16,11 +16,6 @@ Since this is often not the case, this gem provides a command line to do things
|
|
16
16
|
|
17
17
|
## Installation
|
18
18
|
|
19
|
-
Gem dependencies need G++ amongst other things. Easiest way to proceed:
|
20
|
-
```
|
21
|
-
yum groupinstall 'Development Tools'
|
22
|
-
```
|
23
|
-
|
24
19
|
Add this line to your application's Gemfile:
|
25
20
|
|
26
21
|
```ruby
|
@@ -80,10 +75,4 @@ After checking out the repo, run `bin/setup` to install dependencies. You can al
|
|
80
75
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
81
76
|
|
82
77
|
## Contributing
|
83
|
-
|
84
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/GeoffWilliams/pe_rbac.
|
85
|
-
|
86
|
-
|
87
|
-
## License
|
88
|
-
|
89
|
-
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
78
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/declarativesystems/pe_rbac.
|
data/lib/pe_rbac/action.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#
|
2
|
-
# Copyright
|
2
|
+
# Copyright 2017 Declarative Systems PTY LTD
|
3
|
+
# Copyright 2016 Puppet Inc.
|
3
4
|
#
|
4
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
6
|
# you may not use this file except in compliance with the License.
|
data/lib/pe_rbac/core.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#
|
2
|
-
# Copyright
|
2
|
+
# Copyright 2017 Declarative Systems PTY LTD
|
3
|
+
# Copyright 2016 Puppet Inc.
|
3
4
|
#
|
4
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
6
|
# you may not use this file except in compliance with the License.
|
@@ -14,6 +15,8 @@
|
|
14
15
|
# limitations under the License.
|
15
16
|
|
16
17
|
require 'escort'
|
18
|
+
require 'excon'
|
19
|
+
|
17
20
|
module PeRbac
|
18
21
|
module Core
|
19
22
|
@@ssldir = '/etc/puppetlabs/puppet/ssl'
|
@@ -74,23 +77,24 @@ module PeRbac
|
|
74
77
|
_payload=nil
|
75
78
|
end
|
76
79
|
begin
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
80
|
+
connection = Excon.new(url,
|
81
|
+
client_cert: conf[:cert],
|
82
|
+
client_key: conf[:key],
|
83
|
+
ssl_ca_file: conf[:cacert],
|
84
|
+
ssl_version: :TLSv1_2)
|
85
|
+
result = connection.request(method: method,
|
86
|
+
headers: {content_type: "application/json", accept: "application/json"},
|
87
|
+
body: _payload)
|
88
|
+
if result.status >= 300
|
89
|
+
# There doesn't seem to be a built-in way to check for error codes
|
90
|
+
# without individually specifying each allowable 'good' status (:expect..)
|
91
|
+
# so lets just check for anything that smells bad
|
92
|
+
result = false
|
93
|
+
end
|
94
|
+
rescue Excon::Error => e
|
95
|
+
Escort::Logger.error.error "Error (#{e.message}) for: #{url}, #{_payload}"
|
91
96
|
result = false
|
92
97
|
end
|
93
|
-
|
94
98
|
result
|
95
99
|
end
|
96
100
|
|
data/lib/pe_rbac/permission.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#
|
2
|
-
# Copyright
|
2
|
+
# Copyright 2017 Declarative Systems PTY LTD
|
3
|
+
# Copyright 2016 Puppet Inc.
|
3
4
|
#
|
4
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
6
|
# you may not use this file except in compliance with the License.
|
data/lib/pe_rbac/role.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#
|
2
|
-
# Copyright
|
2
|
+
# Copyright 2017 Declarative Systems PTY LTD
|
3
|
+
# Copyright 2016 Puppet Inc.
|
3
4
|
#
|
4
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
6
|
# you may not use this file except in compliance with the License.
|
data/lib/pe_rbac/user.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#
|
2
|
-
# Copyright
|
2
|
+
# Copyright 2017 Declarative Systems PTY LTD
|
3
|
+
# Copyright 2016 Puppet Inc.
|
3
4
|
#
|
4
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
6
|
# you may not use this file except in compliance with the License.
|
@@ -12,7 +13,7 @@
|
|
12
13
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
14
|
# See the License for the specific language governing permissions and
|
14
15
|
# limitations under the License.
|
15
|
-
|
16
|
+
require 'json'
|
16
17
|
require 'pe_rbac/core'
|
17
18
|
require 'pe_rbac/action'
|
18
19
|
|
data/lib/pe_rbac/version.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#
|
2
|
-
# Copyright
|
2
|
+
# Copyright 2017 Declarative Systems PTY LTD
|
3
|
+
# Copyright 2016 Puppet Inc.
|
3
4
|
#
|
4
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
6
|
# you may not use this file except in compliance with the License.
|
@@ -14,5 +15,5 @@
|
|
14
15
|
# limitations under the License.
|
15
16
|
|
16
17
|
module PeRbac
|
17
|
-
VERSION = "0.
|
18
|
+
VERSION = "1.0.0"
|
18
19
|
end
|
data/lib/pe_rbac.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#
|
2
|
-
# Copyright
|
2
|
+
# Copyright 2017 Declarative Systems PTY LTD
|
3
|
+
# Copyright 2016 Puppet Inc.
|
3
4
|
#
|
4
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
6
|
# you may not use this file except in compliance with the License.
|
@@ -13,11 +14,6 @@
|
|
13
14
|
# See the License for the specific language governing permissions and
|
14
15
|
# limitations under the License.
|
15
16
|
|
16
|
-
require "pe_rbac/version"
|
17
|
-
require 'restclient'
|
18
|
-
require 'socket'
|
19
|
-
require 'json'
|
20
|
-
|
21
17
|
module PeRbac
|
22
18
|
BASE_URI = '/rbac-api/v1'
|
23
19
|
|
data/pe_rbac.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.summary = %q{Ruby API for Puppet Enterprise RBAC}
|
13
13
|
spec.description = %q{Programatically do stuff with Puppet Enterprise RBAC}
|
14
14
|
spec.homepage = "https://github.com/geoffwilliams/pe_rbac"
|
15
|
-
spec.license = "Apache
|
15
|
+
spec.license = "Apache-2.0"
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
18
|
spec.bindir = "exe"
|
@@ -32,8 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_development_dependency "facter", "2.4.6"
|
33
33
|
|
34
34
|
|
35
|
-
spec.add_runtime_dependency "
|
35
|
+
spec.add_runtime_dependency "excon", "0.59.0"
|
36
36
|
spec.add_runtime_dependency "escort", "0.4.0"
|
37
|
-
spec.add_runtime_dependency "
|
38
|
-
|
37
|
+
spec.add_runtime_dependency "json_pure", "2.1.0"
|
39
38
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pe_rbac
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geoff Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -137,19 +137,19 @@ dependencies:
|
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: 2.4.6
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: excon
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - '='
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
145
|
+
version: 0.59.0
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - '='
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
152
|
+
version: 0.59.0
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: escort
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -165,19 +165,19 @@ dependencies:
|
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: 0.4.0
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
168
|
+
name: json_pure
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
171
|
- - '='
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: 2.0
|
173
|
+
version: 2.1.0
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
178
|
- - '='
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: 2.0
|
180
|
+
version: 2.1.0
|
181
181
|
description: Programatically do stuff with Puppet Enterprise RBAC
|
182
182
|
email:
|
183
183
|
- geoff@geoffwilliams.me.uk
|
@@ -207,7 +207,7 @@ files:
|
|
207
207
|
- pe_rbac.gemspec
|
208
208
|
homepage: https://github.com/geoffwilliams/pe_rbac
|
209
209
|
licenses:
|
210
|
-
- Apache
|
210
|
+
- Apache-2.0
|
211
211
|
metadata: {}
|
212
212
|
post_install_message:
|
213
213
|
rdoc_options: []
|