pe_rbac 0.5.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
[![Build Status](https://travis-ci.org/
|
1
|
+
[![Build Status](https://travis-ci.org/declarativesystems/pe_rbac.svg?branch=master)](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: []
|