conjur-api 5.3.2 → 5.3.6
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/.github/CODEOWNERS +10 -0
- data/.gitleaks.toml +1 -1
- data/CHANGELOG.md +41 -1
- data/CONTRIBUTING.md +15 -23
- data/Dockerfile +2 -1
- data/Gemfile +1 -5
- data/Jenkinsfile +79 -35
- data/LICENSE +1 -1
- data/README.md +35 -2
- data/SECURITY.md +42 -0
- data/ci/submit-coverage +36 -0
- data/conjur-api.gemspec +5 -4
- data/docker-compose.yml +15 -3
- data/features/host.feature +39 -9
- data/features/step_definitions/api_steps.rb +14 -3
- data/features/step_definitions/policy_steps.rb +40 -0
- data/features/support/env.rb +3 -3
- data/features/user.feature +47 -6
- data/features_v4/support/env.rb +0 -2
- data/lib/conjur/acts_as_user.rb +5 -1
- data/lib/conjur/api/authn.rb +3 -3
- data/lib/conjur/api/resources.rb +2 -2
- data/lib/conjur/api/router/v4.rb +80 -23
- data/lib/conjur/api/router/v5.rb +87 -21
- data/lib/conjur/api.rb +0 -18
- data/lib/conjur/base.rb +19 -5
- data/lib/conjur/base_object.rb +14 -7
- data/lib/conjur/configuration.rb +45 -17
- data/lib/conjur/escape.rb +2 -3
- data/lib/conjur-api/version.rb +2 -2
- data/spec/api_spec.rb +59 -13
- data/spec/base_object_spec.rb +0 -1
- data/spec/configuration_spec.rb +25 -3
- data/spec/spec_helper.rb +4 -4
- data/spec/ssl_spec.rb +50 -26
- data/test.sh +10 -14
- metadata +35 -21
- data/.github/ISSUE_TEMPLATE/bug.md +0 -27
- data/.github/ISSUE_TEMPLATE/feature_request.md +0 -27
- data/bin/release +0 -43
- data/ci/codeclimate.dockerfile +0 -6
- data/spec/vendor/rest_client_spec.rb +0 -41
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: conjur-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.3.
|
4
|
+
version: 5.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
- Kevin Gilpin
|
7
|
+
- CyberArk Maintainers
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2021-12-12 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rest-client
|
@@ -31,14 +30,28 @@ dependencies:
|
|
31
30
|
requirements:
|
32
31
|
- - ">="
|
33
32
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
33
|
+
version: '4.2'
|
35
34
|
type: :runtime
|
36
35
|
prerelease: false
|
37
36
|
version_requirements: !ruby/object:Gem::Requirement
|
38
37
|
requirements:
|
39
38
|
- - ">="
|
40
39
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
40
|
+
version: '4.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: addressable
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 2.8.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 2.8.0
|
42
55
|
- !ruby/object:Gem::Dependency
|
43
56
|
name: rake
|
44
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -127,16 +140,22 @@ dependencies:
|
|
127
140
|
name: simplecov
|
128
141
|
requirement: !ruby/object:Gem::Requirement
|
129
142
|
requirements:
|
130
|
-
- - "
|
143
|
+
- - "~>"
|
131
144
|
- !ruby/object:Gem::Version
|
132
|
-
version: '0'
|
145
|
+
version: '0.17'
|
146
|
+
- - "<"
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '0.18'
|
133
149
|
type: :development
|
134
150
|
prerelease: false
|
135
151
|
version_requirements: !ruby/object:Gem::Requirement
|
136
152
|
requirements:
|
137
|
-
- - "
|
153
|
+
- - "~>"
|
138
154
|
- !ruby/object:Gem::Version
|
139
|
-
version: '0'
|
155
|
+
version: '0.17'
|
156
|
+
- - "<"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0.18'
|
140
159
|
- !ruby/object:Gem::Dependency
|
141
160
|
name: io-grab
|
142
161
|
requirement: !ruby/object:Gem::Requirement
|
@@ -209,17 +228,14 @@ dependencies:
|
|
209
228
|
version: '0'
|
210
229
|
description: Conjur API
|
211
230
|
email:
|
212
|
-
-
|
213
|
-
|
214
|
-
executables:
|
215
|
-
- release
|
231
|
+
- conj_maintainers@cyberark.com
|
232
|
+
executables: []
|
216
233
|
extensions: []
|
217
234
|
extra_rdoc_files: []
|
218
235
|
files:
|
219
236
|
- ".codeclimate.yml"
|
220
237
|
- ".dockerignore"
|
221
|
-
- ".github/
|
222
|
-
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
238
|
+
- ".github/CODEOWNERS"
|
223
239
|
- ".gitignore"
|
224
240
|
- ".gitleaks.toml"
|
225
241
|
- ".overcommit.yml"
|
@@ -236,11 +252,11 @@ files:
|
|
236
252
|
- LICENSE
|
237
253
|
- README.md
|
238
254
|
- Rakefile
|
255
|
+
- SECURITY.md
|
239
256
|
- bin/parse-changelog.sh
|
240
|
-
- bin/release
|
241
|
-
- ci/codeclimate.dockerfile
|
242
257
|
- ci/configure_v4.sh
|
243
258
|
- ci/configure_v5.sh
|
259
|
+
- ci/submit-coverage
|
244
260
|
- conjur-api.gemspec
|
245
261
|
- dev/Dockerfile.dev
|
246
262
|
- dev/docker-compose.yml
|
@@ -355,7 +371,6 @@ files:
|
|
355
371
|
- spec/spec_helper.rb
|
356
372
|
- spec/ssl_spec.rb
|
357
373
|
- spec/uri_escape_spec.rb
|
358
|
-
- spec/vendor/rest_client_spec.rb
|
359
374
|
- test.sh
|
360
375
|
- tmp/.keep
|
361
376
|
homepage: https://github.com/cyberark/conjur-api-ruby/
|
@@ -377,7 +392,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
377
392
|
- !ruby/object:Gem::Version
|
378
393
|
version: '0'
|
379
394
|
requirements: []
|
380
|
-
rubygems_version: 3.
|
395
|
+
rubygems_version: 3.1.6
|
381
396
|
signing_key:
|
382
397
|
specification_version: 4
|
383
398
|
summary: Conjur API
|
@@ -425,4 +440,3 @@ test_files:
|
|
425
440
|
- spec/spec_helper.rb
|
426
441
|
- spec/ssl_spec.rb
|
427
442
|
- spec/uri_escape_spec.rb
|
428
|
-
- spec/vendor/rest_client_spec.rb
|
@@ -1,27 +0,0 @@
|
|
1
|
-
---
|
2
|
-
name: Bug
|
3
|
-
about: Create a bug report to help us improve
|
4
|
-
title: ''
|
5
|
-
labels: component/api/ruby, kind/bug
|
6
|
-
assignees: ''
|
7
|
-
|
8
|
-
---
|
9
|
-
|
10
|
-
## Summary
|
11
|
-
A clear and concise description of what the bug is.
|
12
|
-
|
13
|
-
## Steps to Reproduce
|
14
|
-
Steps to reproduce the behavior:
|
15
|
-
1. Go to '...'
|
16
|
-
2. Click on '....'
|
17
|
-
3. Scroll down to '....'
|
18
|
-
4. See error
|
19
|
-
|
20
|
-
## Expected Results
|
21
|
-
A clear and concise description of what you expected to happen.
|
22
|
-
|
23
|
-
## Actual Results (including error logs, if applicable)
|
24
|
-
A clear and concise description of what actually did happen.
|
25
|
-
|
26
|
-
## Additional Information
|
27
|
-
Add any other context about the problem here.
|
@@ -1,27 +0,0 @@
|
|
1
|
-
---
|
2
|
-
name: Feature request
|
3
|
-
about: Suggest an idea for this project
|
4
|
-
title: ''
|
5
|
-
labels: kind/enhancement, component/api/ruby
|
6
|
-
assignees: ''
|
7
|
-
|
8
|
-
---
|
9
|
-
|
10
|
-
## Is your feature request related to a problem? Please describe.
|
11
|
-
|
12
|
-
A clear and concise description of what the problem is. Ex. `I would like to see [...] because [...]`.
|
13
|
-
Please include the intended use case and what the feature would improve on so that we can prioritize
|
14
|
-
the feature accordingly.
|
15
|
-
|
16
|
-
## Describe the solution you would like
|
17
|
-
|
18
|
-
A clear and concise description of what the desired end result(s) would be.
|
19
|
-
|
20
|
-
## Describe alternatives you have considered
|
21
|
-
|
22
|
-
A clear and concise description of any alternative solutions or features that may be related to this that
|
23
|
-
you have considered.
|
24
|
-
|
25
|
-
## Additional context
|
26
|
-
|
27
|
-
Add any other context information about the feature request here.
|
data/bin/release
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
#!/bin/bash -e
|
2
|
-
|
3
|
-
git fetch --tags
|
4
|
-
|
5
|
-
if [ "$(git rev-parse --abbrev-ref HEAD)" != "master" ]; then
|
6
|
-
echo "Must be on the master branch to releases. Please switch with 'git checkout master'."
|
7
|
-
exit 1
|
8
|
-
fi
|
9
|
-
|
10
|
-
version_file="$(cat lib/conjur-api/version.rb)"
|
11
|
-
re='VERSION = "([0-9]{1,}\.[0-9]{1,}\.[0-9]{1,})"'
|
12
|
-
if [[ "$version_file" =~ $re ]]; then
|
13
|
-
version="v${BASH_REMATCH[1]}"
|
14
|
-
else
|
15
|
-
echo "Failed to find a version in 'lib/conjur-api/version.rb'"
|
16
|
-
exit 1
|
17
|
-
fi
|
18
|
-
|
19
|
-
last_release=$(git describe --abbrev=0 --tags)
|
20
|
-
|
21
|
-
echo "The last release was: $last_release"
|
22
|
-
echo "The next release will be: $version"
|
23
|
-
|
24
|
-
if [ "$version" = "$last_release" ]; then
|
25
|
-
echo 'To release, the VERSION file must be incremented to the latest release number.'
|
26
|
-
exit 1
|
27
|
-
fi
|
28
|
-
|
29
|
-
if [[ ! $(git status --porcelain) ]]; then
|
30
|
-
echo 'Your Git is clean. Please update the lib/conjur-api/version.rb, and CHANGELOG.md before releasing. The script will handle commits and pushing.'
|
31
|
-
exit 1
|
32
|
-
fi
|
33
|
-
|
34
|
-
# Make sure we have the most recent changes, without destroying local changes.
|
35
|
-
git stash
|
36
|
-
git pull --rebase origin master
|
37
|
-
git stash pop
|
38
|
-
|
39
|
-
# Perform a commit, tag, and push. The tag needs to be present before the commit
|
40
|
-
# to insure Jenkins has what it needs to make a decision about a release.
|
41
|
-
git commit -am "$version"
|
42
|
-
git tag -a "$version" -m "$version release"
|
43
|
-
git push --follow-tags
|
data/ci/codeclimate.dockerfile
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
# Copyright (C) 2014 Conjur Inc
|
2
|
-
#
|
3
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
4
|
-
# this software and associated documentation files (the "Software"), to deal in
|
5
|
-
# the Software without restriction, including without limitation the rights to
|
6
|
-
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
7
|
-
# the Software, and to permit persons to whom the Software is furnished to do so,
|
8
|
-
# subject to the following conditions:
|
9
|
-
#
|
10
|
-
# The above copyright notice and this permission notice shall be included in all
|
11
|
-
# copies or substantial portions of the Software.
|
12
|
-
#
|
13
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
15
|
-
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
16
|
-
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
17
|
-
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
18
|
-
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
19
|
-
|
20
|
-
require 'spec_helper'
|
21
|
-
require 'tempfile'
|
22
|
-
|
23
|
-
# RestClient monkey patches MIME::Types, breaking it in certain situations.
|
24
|
-
# Let's make sure we monkey patch the monkey patch if necessary.
|
25
|
-
|
26
|
-
describe RestClient::Request do
|
27
|
-
shared_examples :restclient do
|
28
|
-
it "can be initialized" do
|
29
|
-
expect { RestClient::Request.new method: 'GET', url: 'http://example.com' }.to_not raise_error
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
context 'default arguments' do
|
34
|
-
let(:cache) { nil }
|
35
|
-
let(:lazy) { false }
|
36
|
-
it "sets cert_store to OpenSSL's default cert store" do
|
37
|
-
request = RestClient::Request.new(method: 'GET', url: 'http://example.com')
|
38
|
-
expect(request.ssl_opts[:cert_store]).to eq(OpenSSL::SSL::SSLContext::DEFAULT_CERT_STORE)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|