conjur-cli 6.2.1 → 6.2.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.
@@ -5,15 +5,34 @@ RSpec::Core::DSL.change_global_dsl do
5
5
 
6
6
  before do
7
7
  allow(cert_store).to receive(:add_file)
8
+ # Stub the constant OpenSSL::SSL::SSLContext::DEFAULT_CERT_STORE which is
9
+ # implicitly used in many places in the CLI and in conjur-api-ruby as the de facto
10
+ # cert store.
8
11
  stub_const 'OpenSSL::SSL::SSLContext::DEFAULT_CERT_STORE', cert_store
12
+
13
+ # Reset the rest_client_options defaults to avoid using expired rspec doubles.
14
+ #
15
+ # Conjur.configuration is a lazy-loaded singleton. There is single CLI instance
16
+ # shared across this test suite. When Conjur.configuration is loaded for the first
17
+ # time it assumes the defaults value for Conjur.configuration.rest_client_options
18
+ # of:
19
+ # {
20
+ # :ssl_cert_store => OpenSSL::SSL::SSLContext::DEFAULT_CERT_STORE
21
+ # }
22
+ #
23
+ # Notice above that each test case stubs the constant
24
+ # OpenSSL::SSL::SSLContext::DEFAULT_CERT_STORE with a double. Without further
25
+ # modification this means the first time the CLI is run and Conjur.configuration
26
+ # is loaded Conjur.configuration.rest_client_options[:ssl_cert_store] it is set to
27
+ # the double associated with the test case at that point in time. Since
28
+ # Conjur.configuration is only loaded once, without modification, that double will
29
+ # be retained and its usage will result in a RSpec::Mocks::ExpiredTestDoubleError.
30
+ # To avoid this for each test case we must reset
31
+ # Conjur.configuration.rest_client_options[:ssl_cert_store] with the double for
32
+ # the current test case.
33
+ Conjur.configuration.rest_client_options[:ssl_cert_store] = cert_store
9
34
  end
10
-
11
- let(:cert_store_options) do
12
- {
13
- ssl_cert_store: cert_store
14
- }
15
- end
16
-
35
+
17
36
  let(:invoke) do
18
37
  Conjur::CLI.error_device = $stderr
19
38
  # TODO: allow proper handling of description like "audit:send 'hello world'"
@@ -29,7 +29,13 @@ end
29
29
  shared_context "when logged in", logged_in: true do
30
30
  include_context "with mock authn"
31
31
  before do
32
- allow(api).to receive(:credentials) { {} }
32
+ allow(api).to receive(:credentials) do
33
+ {
34
+ :username => 'dknuth',
35
+ :headers => { :authorization => "fakeauth" },
36
+ }
37
+ end
38
+
33
39
  netrc[authn_host] = [username, api_key]
34
40
  allow(Conjur::Command).to receive_messages api: api
35
41
  end
@@ -47,7 +47,11 @@ class Conjur::Command::Users < Conjur::Command
47
47
  if api.username == options[:user]
48
48
  exit_now! 'To rotate the API key of the currently logged-in user, use this command without any flags or options'
49
49
  end
50
- puts api.resource([ Conjur.configuration.account, "user", options[:user] ].join(":")).rotate_api_key
50
+ user_resource_id = [Conjur.configuration.account, "user", options[:user]].join(":")
51
+ unless api.resource(user_resource_id).exists?
52
+ exit_now! "User '#{options[:user]}' not found"
53
+ end
54
+ puts api.resource(user_resource_id).rotate_api_key
51
55
  else
52
56
  username, password = Conjur::Authn.read_credentials
53
57
  new_api_key = Conjur::API.rotate_api_key username, password
@@ -19,6 +19,6 @@
19
19
  # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
20
  #
21
21
  module Conjur
22
- VERSION = '6.2.1'
22
+ VERSION = '6.2.5'
23
23
  ::Version=VERSION
24
24
  end
data/push-image CHANGED
@@ -1,28 +1,46 @@
1
- #!/bin/bash -eu
2
-
3
- # Push the 'cli:5' image to Dockerhub when on the 'master' branch
4
-
5
- cd "$(git rev-parse --show-toplevel)"
6
-
7
- IMAGE='cyberark/conjur-cli'
8
-
9
- function tag_and_push() {
10
- local image="$1"
11
- local tag="$2"
12
- local description="$3"
13
-
14
- echo "TAG = $tag, $description"
15
-
16
- docker tag "$image" "$image:$tag"
17
- docker push "$image:$tag"
18
- }
19
-
20
- version_tag="5-$(cat VERSION)"
21
-
22
- tag_and_push $IMAGE '5' 'latest image'
23
- tag_and_push $IMAGE '5-latest' 'same as "5"'
24
- tag_and_push $IMAGE $version_tag 'version-specific image'
25
-
26
- # push to legacy `conjurinc/cli5` tag
27
- docker tag "$IMAGE" conjurinc/cli5:latest
28
- docker push conjurinc/cli5:latest
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ readonly REGISTRY="cyberark"
6
+ readonly INTERNAL_REGISTRY="registry2.itci.conjur.net"
7
+ readonly VERSION="$(cat VERSION)"
8
+ readonly VERSION_TAG="5-${VERSION}"
9
+ readonly image_name="conjur-cli"
10
+ readonly full_image_name="${REGISTRY}/${image_name}:latest"
11
+
12
+ readonly TAGS=(
13
+ "5"
14
+ "5-latest"
15
+ "$VERSION_TAG"
16
+ )
17
+
18
+ # fetching tags is required for git_description to work
19
+ git fetch --tags
20
+ git_description=$(git describe)
21
+
22
+ # if it’s not a tagged commit, VERSION will have extra junk (i.e. -g666c4b2), so we won’t publish that commit
23
+ # only when tag matches the VERSION, push VERSION and latest releases
24
+ # and x and x.y releases
25
+ #Ex: v5-6.2.1
26
+ if [ "${git_description}" = "v${VERSION}" ]; then
27
+ echo "Revision ${git_description} matches version ${VERSION} exactly. Pushing to Dockerhub..."
28
+
29
+ for tag in "${TAGS[@]}"; do
30
+ echo "Tagging and pushing ${REGISTRY}/${image_name}:${tag}"
31
+
32
+ # push to dockerhub
33
+ docker tag "${full_image_name}" "${REGISTRY}/${image_name}:${tag}"
34
+ docker push "${REGISTRY}/${image_name}:${tag}"
35
+
36
+ # push to internal registry
37
+ # necessary because some cyberark teams/networks can't pull from dockerhub
38
+ docker tag "${full_image_name}" "${INTERNAL_REGISTRY}/${image_name}:${tag}"
39
+ docker push "${INTERNAL_REGISTRY}/${image_name}:${tag}"
40
+
41
+ done
42
+
43
+ # push to legacy `conjurinc/cli5` tag
44
+ docker tag "${full_image_name}" conjurinc/cli5:latest
45
+ docker push conjurinc/cli5:latest
46
+ fi
data/spec/authn_spec.rb CHANGED
@@ -37,11 +37,11 @@ describe Conjur::Authn do
37
37
  allow(ENV).to receive(:[]).with("CONJUR_AUTHN_LOGIN").and_return "the-login"
38
38
  allow(ENV).to receive(:[]).with("CONJUR_AUTHN_API_KEY").and_return "the-api-key"
39
39
  end
40
-
40
+
41
41
  context "login and API key" do
42
42
  it "are used to authn" do
43
43
  expect(Conjur::Authn.get_credentials).to eq([ "the-login", "the-api-key" ])
44
-
44
+
45
45
  expect(api.username).to eq('the-login')
46
46
  expect(api.api_key).to eq('the-api-key')
47
47
  end
@@ -94,7 +94,7 @@ describe Conjur::Authn do
94
94
  before do
95
95
  allow(Conjur::Config).to receive(:[]).with(:netrc_path).and_return path
96
96
  end
97
-
97
+
98
98
  context "with specified netrc_path" do
99
99
  let(:path) { "/a/dummy/netrc/path" }
100
100
  it "consults Conjur::Config for netrc_path" do
@@ -102,7 +102,7 @@ describe Conjur::Authn do
102
102
  expect(Conjur::Authn.netrc).to eq(netrc)
103
103
  end
104
104
  end
105
-
105
+
106
106
  context "without specified netrc_path" do
107
107
  let(:path) { nil }
108
108
  it "uses default netrc path" do
@@ -10,14 +10,14 @@ describe Conjur::Command::Authn do
10
10
  describe_command "#{cmd}" do
11
11
  it "prompts for username and password and logs in the user" do
12
12
  expect(Conjur::Authn).to receive(:ask_for_credentials).with({}).and_return [ "the-user", "the-api-key" ]
13
-
13
+
14
14
  expect { invoke }.to write("Logged in")
15
15
  end
16
16
  end
17
17
  describe_command "#{cmd} -u the-user" do
18
18
  it "prompts for password and logs in the user" do
19
19
  expect(Conjur::Authn).to receive(:ask_for_credentials).with({username: 'the-user'}).and_return [ "the-user", "the-api-key" ]
20
-
20
+
21
21
  expect { invoke }.to write("Logged in")
22
22
  end
23
23
  end
@@ -9,13 +9,21 @@ describe Conjur::Command::Hosts, logged_in: true do
9
9
  expect(RestClient::Request).to receive(:execute).with({
10
10
  method: :head,
11
11
  url: "https://core.example.com/api/resources/#{account}/host/redis001",
12
- headers: {}
12
+ headers: {
13
+ authorization: "fakeauth",
14
+ },
15
+ username: "dknuth",
16
+ ssl_cert_store: cert_store
13
17
  }).and_return true
14
18
  expect(RestClient::Request).to receive(:execute).with({
15
19
  method: :put,
16
20
  url: "https://core.example.com/api/authn/#{account}/api_key?role=#{account}:host:redis001",
17
- headers: {},
18
- payload: ''
21
+ headers: {
22
+ authorization: "fakeauth",
23
+ },
24
+ payload: '',
25
+ username: "dknuth",
26
+ ssl_cert_store: cert_store
19
27
  }).and_return double(:response, body: 'new api key')
20
28
  end
21
29
 
@@ -23,5 +31,20 @@ describe Conjur::Command::Hosts, logged_in: true do
23
31
  invoke
24
32
  end
25
33
  end
34
+
35
+ describe_command 'host rotate_api_key --host non-existing' do
36
+ before do
37
+ expect(RestClient::Request).to receive(:execute).with({
38
+ method: :head,
39
+ url: "https://core.example.com/api/resources/#{account}/host/non-existing",
40
+ headers: {authorization: "fakeauth"},
41
+ username: username,
42
+ ssl_cert_store: cert_store
43
+ }).and_raise RestClient::ResourceNotFound
44
+ end
45
+ it 'rotate_api_key with non-existing --host option' do
46
+ expect { invoke }.to raise_error(GLI::CustomExit, /Host 'non-existing' not found/i)
47
+ end
48
+ end
26
49
  end
27
50
  end
@@ -1,49 +1,36 @@
1
1
  require 'spec_helper'
2
2
  require 'highline'
3
3
 
4
- GITHUB_FP = "SHA1 Fingerprint=CA:06:F5:6B:25:8B:7A:0D:4F:2B:05:47:09:39:47:86:51:15:19:84"
4
+ GITHUB_FP = "SHA1 Fingerprint=84:63:B3:A9:29:12:CC:FD:1D:31:47:05:98:9B:EC:13:99:37:D0:D7"
5
5
  GITHUB_CERT = <<EOF
6
6
  -----BEGIN CERTIFICATE-----
7
- MIIHQjCCBiqgAwIBAgIQCgYwQn9bvO1pVzllk7ZFHzANBgkqhkiG9w0BAQsFADB1
8
- MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
9
- d3cuZGlnaWNlcnQuY29tMTQwMgYDVQQDEytEaWdpQ2VydCBTSEEyIEV4dGVuZGVk
10
- IFZhbGlkYXRpb24gU2VydmVyIENBMB4XDTE4MDUwODAwMDAwMFoXDTIwMDYwMzEy
11
- MDAwMFowgccxHTAbBgNVBA8MFFByaXZhdGUgT3JnYW5pemF0aW9uMRMwEQYLKwYB
12
- BAGCNzwCAQMTAlVTMRkwFwYLKwYBBAGCNzwCAQITCERlbGF3YXJlMRAwDgYDVQQF
13
- Ewc1MTU3NTUwMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQG
14
- A1UEBxMNU2FuIEZyYW5jaXNjbzEVMBMGA1UEChMMR2l0SHViLCBJbmMuMRMwEQYD
15
- VQQDEwpnaXRodWIuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
16
- xjyq8jyXDDrBTyitcnB90865tWBzpHSbindG/XqYQkzFMBlXmqkzC+FdTRBYyneZ
17
- w5Pz+XWQvL+74JW6LsWNc2EF0xCEqLOJuC9zjPAqbr7uroNLghGxYf13YdqbG5oj
18
- /4x+ogEG3dF/U5YIwVr658DKyESMV6eoYV9mDVfTuJastkqcwero+5ZAKfYVMLUE
19
- sMwFtoTDJFmVf6JlkOWwsxp1WcQ/MRQK1cyqOoUFUgYylgdh3yeCDPeF22Ax8AlQ
20
- xbcaI+GwfQL1FB7Jy+h+KjME9lE/UpgV6Qt2R1xNSmvFCBWu+NFX6epwFP/JRbkM
21
- fLz0beYFUvmMgLtwVpEPSwIDAQABo4IDeTCCA3UwHwYDVR0jBBgwFoAUPdNQpdag
22
- re7zSmAKZdMh1Pj41g8wHQYDVR0OBBYEFMnCU2FmnV+rJfQmzQ84mqhJ6kipMCUG
23
- A1UdEQQeMByCCmdpdGh1Yi5jb22CDnd3dy5naXRodWIuY29tMA4GA1UdDwEB/wQE
24
- AwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdQYDVR0fBG4wbDA0
25
- oDKgMIYuaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL3NoYTItZXYtc2VydmVyLWcy
26
- LmNybDA0oDKgMIYuaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL3NoYTItZXYtc2Vy
27
- dmVyLWcyLmNybDBLBgNVHSAERDBCMDcGCWCGSAGG/WwCATAqMCgGCCsGAQUFBwIB
28
- FhxodHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BTMAcGBWeBDAEBMIGIBggrBgEF
29
- BQcBAQR8MHowJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBS
30
- BggrBgEFBQcwAoZGaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0
31
- U0hBMkV4dGVuZGVkVmFsaWRhdGlvblNlcnZlckNBLmNydDAMBgNVHRMBAf8EAjAA
32
- MIIBfgYKKwYBBAHWeQIEAgSCAW4EggFqAWgAdgCkuQmQtBhYFIe7E6LMZ3AKPDWY
33
- BPkb37jjd80OyA3cEAAAAWNBYm0KAAAEAwBHMEUCIQDRZp38cTWsWH2GdBpe/uPT
34
- Wnsu/m4BEC2+dIcvSykZYgIgCP5gGv6yzaazxBK2NwGdmmyuEFNSg2pARbMJlUFg
35
- U5UAdgBWFAaaL9fC7NP14b1Esj7HRna5vJkRXMDvlJhV1onQ3QAAAWNBYm0tAAAE
36
- AwBHMEUCIQCi7omUvYLm0b2LobtEeRAYnlIo7n6JxbYdrtYdmPUWJQIgVgw1AZ51
37
- vK9ENinBg22FPxb82TvNDO05T17hxXRC2IYAdgC72d+8H4pxtZOUI5eqkntHOFeV
38
- CqtS6BqQlmQ2jh7RhQAAAWNBYm3fAAAEAwBHMEUCIQChzdTKUU2N+XcqcK0OJYrN
39
- 8EYynloVxho4yPk6Dq3EPgIgdNH5u8rC3UcslQV4B9o0a0w204omDREGKTVuEpxG
40
- eOQwDQYJKoZIhvcNAQELBQADggEBAHAPWpanWOW/ip2oJ5grAH8mqQfaunuCVE+v
41
- ac+88lkDK/LVdFgl2B6kIHZiYClzKtfczG93hWvKbST4NRNHP9LiaQqdNC17e5vN
42
- HnXVUGw+yxyjMLGqkgepOnZ2Rb14kcTOGp4i5AuJuuaMwXmCo7jUwPwfLe1NUlVB
43
- Kqg6LK0Hcq4K0sZnxE8HFxiZ92WpV2AVWjRMEc/2z2shNoDvxvFUYyY1Oe67xINk
44
- myQKc+ygSBZzyLnXSFVWmHr3u5dcaaQGGAR42v6Ydr4iL38Hd4dOiBma+FXsXBIq
45
- WUjbST4VXmdaol7uzFMojA4zkxQDZAvF5XgJlAFadfySna/teik=
46
- -----END CERTIFICATE-----
7
+ MIIFBjCCBK2gAwIBAgIQDovzdw2S0Zbwu2H5PEFmvjAKBggqhkjOPQQDAjBnMQsw
8
+ CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xPzA9BgNVBAMTNkRp
9
+ Z2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIFRMUyBIeWJyaWQgRUNDIFNIQTI1NiAyMDIw
10
+ IENBMTAeFw0yMTAzMjUwMDAwMDBaFw0yMjAzMzAyMzU5NTlaMGYxCzAJBgNVBAYT
11
+ AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv
12
+ MRUwEwYDVQQKEwxHaXRIdWIsIEluYy4xEzARBgNVBAMTCmdpdGh1Yi5jb20wWTAT
13
+ BgcqhkjOPQIBBggqhkjOPQMBBwNCAASt9vd1sdNJVApdEHG93CUGSyIcoiNOn6H+
14
+ udCMvTm8DCPHz5GmkFrYRasDE77BI3q5xMidR/aW4Ll2a1A2ZvcNo4IDOjCCAzYw
15
+ HwYDVR0jBBgwFoAUUGGmoNI1xBEqII0fD6xC8M0pz0swHQYDVR0OBBYEFCexfp+7
16
+ JplQ2PPDU1v+MRawux5yMCUGA1UdEQQeMByCCmdpdGh1Yi5jb22CDnd3dy5naXRo
17
+ dWIuY29tMA4GA1UdDwEB/wQEAwIHgDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYB
18
+ BQUHAwIwgbEGA1UdHwSBqTCBpjBRoE+gTYZLaHR0cDovL2NybDMuZGlnaWNlcnQu
19
+ Y29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZVRMU0h5YnJpZEVDQ1NIQTI1NjIwMjBD
20
+ QTEuY3JsMFGgT6BNhktodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNlcnRI
21
+ aWdoQXNzdXJhbmNlVExTSHlicmlkRUNDU0hBMjU2MjAyMENBMS5jcmwwPgYDVR0g
22
+ BDcwNTAzBgZngQwBAgIwKTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2Vy
23
+ dC5jb20vQ1BTMIGSBggrBgEFBQcBAQSBhTCBgjAkBggrBgEFBQcwAYYYaHR0cDov
24
+ L29jc3AuZGlnaWNlcnQuY29tMFoGCCsGAQUFBzAChk5odHRwOi8vY2FjZXJ0cy5k
25
+ aWdpY2VydC5jb20vRGlnaUNlcnRIaWdoQXNzdXJhbmNlVExTSHlicmlkRUNDU0hB
26
+ MjU2MjAyMENBMS5jcnQwDAYDVR0TAQH/BAIwADCCAQUGCisGAQQB1nkCBAIEgfYE
27
+ gfMA8QB2ACl5vvCeOTkh8FZzn2Old+W+V32cYAr4+U1dJlwlXceEAAABeGq/vRoA
28
+ AAQDAEcwRQIhAJ7miER//DRFnDJNn6uUhgau3WMt4vVfY5dGigulOdjXAiBIVCfR
29
+ xjK1v4F31+sVaKzyyO7JAa0fzDQM7skQckSYWQB3ACJFRQdZVSRWlj+hL/H3bYbg
30
+ IyZjrcBLf13Gg1xu4g8CAAABeGq/vTkAAAQDAEgwRgIhAJgAEkoJQRivBlwo7x67
31
+ 3oVsf1ip096WshZqmRCuL/JpAiEA3cX4rb3waLDLq4C48NSoUmcw56PwO/m2uwnQ
32
+ prb+yh0wCgYIKoZIzj0EAwIDRwAwRAIgK+Kv7G+/KkWkNZg3PcQFp866Z7G6soxo
33
+ a4etSZ+SRlYCIBSiXS20Wc+yjD111nPzvQUCfsP4+DKZ3K+2GKsERD6d
47
34
  EOF
48
35
 
49
36
  describe Conjur::Command::Init do
@@ -12,7 +12,8 @@ describe Conjur::Command::Users, logged_in: true do
12
12
  user: username,
13
13
  password: api_key,
14
14
  headers: { },
15
- payload: "new-password"
15
+ payload: "new-password",
16
+ ssl_cert_store: cert_store
16
17
  })
17
18
  end
18
19
 
@@ -40,7 +41,8 @@ describe Conjur::Command::Users, logged_in: true do
40
41
  user: username,
41
42
  password: api_key,
42
43
  headers: {},
43
- payload: ''
44
+ payload: '',
45
+ ssl_cert_store: cert_store
44
46
  }).and_return double(:response, body: 'new api key')
45
47
  expect(Conjur::Authn).to receive(:save_credentials).with({
46
48
  username: username,
@@ -52,5 +54,19 @@ describe Conjur::Command::Users, logged_in: true do
52
54
  invoke
53
55
  end
54
56
  end
57
+ describe_command 'user rotate_api_key --user non-existing' do
58
+ before do
59
+ expect(RestClient::Request).to receive(:execute).with({
60
+ method: :head,
61
+ url: "https://core.example.com/api/resources/#{account}/user/non-existing",
62
+ headers: {authorization: "fakeauth"},
63
+ username: username,
64
+ ssl_cert_store: cert_store
65
+ }).and_raise RestClient::ResourceNotFound
66
+ end
67
+ it 'rotate_api_key with non-existing --user option' do
68
+ expect { invoke }.to raise_error(GLI::CustomExit, /User 'non-existing' not found/i)
69
+ end
70
+ end
55
71
  end
56
72
  end
data/spec/spec_helper.rb CHANGED
@@ -4,8 +4,11 @@ require 'tempfile'
4
4
  require 'ostruct'
5
5
 
6
6
  require "simplecov"
7
- SimpleCov.start
8
-
7
+
8
+ SimpleCov.start do
9
+ command_name "#{ENV['RUBY_VERSION']}"
10
+ end
11
+
9
12
  def post_response(id, attributes = {})
10
13
  attributes[:id] = id
11
14
 
data/test.sh CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/bin/bash -ex
2
2
 
3
- : ${RUBY_VERSION=2.2.5}
3
+ : ${RUBY_VERSION=2.7}
4
4
 
5
5
  # My local RUBY_VERSION is set to ruby-#.#.# so this allows running locally.
6
6
  RUBY_VERSION=$(cut -d '-' -f 2 <<< $RUBY_VERSION)
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: conjur-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.1
4
+ version: 6.2.5
5
5
  platform: ruby
6
6
  authors:
7
- - Rafal Rzepecki
8
- - Kevin Gilpin
7
+ - Conjur Maintainers
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2019-05-22 00:00:00.000000000 Z
11
+ date: 2021-09-29 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activesupport
@@ -45,6 +44,20 @@ dependencies:
45
44
  - - "~>"
46
45
  - !ruby/object:Gem::Version
47
46
  version: '5.3'
47
+ - !ruby/object:Gem::Dependency
48
+ name: deep_merge
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.0'
48
61
  - !ruby/object:Gem::Dependency
49
62
  name: gli
50
63
  requirement: !ruby/object:Gem::Requirement
@@ -65,14 +78,14 @@ dependencies:
65
78
  requirements:
66
79
  - - "~>"
67
80
  - !ruby/object:Gem::Version
68
- version: '1.7'
81
+ version: '2.0'
69
82
  type: :runtime
70
83
  prerelease: false
71
84
  version_requirements: !ruby/object:Gem::Requirement
72
85
  requirements:
73
86
  - - "~>"
74
87
  - !ruby/object:Gem::Version
75
- version: '1.7'
88
+ version: '2.0'
76
89
  - !ruby/object:Gem::Dependency
77
90
  name: netrc
78
91
  requirement: !ruby/object:Gem::Requirement
@@ -88,19 +101,19 @@ dependencies:
88
101
  - !ruby/object:Gem::Version
89
102
  version: '0.10'
90
103
  - !ruby/object:Gem::Dependency
91
- name: deep_merge
104
+ name: table_print
92
105
  requirement: !ruby/object:Gem::Requirement
93
106
  requirements:
94
107
  - - "~>"
95
108
  - !ruby/object:Gem::Version
96
- version: '1.0'
109
+ version: '1.5'
97
110
  type: :runtime
98
111
  prerelease: false
99
112
  version_requirements: !ruby/object:Gem::Requirement
100
113
  requirements:
101
114
  - - "~>"
102
115
  - !ruby/object:Gem::Version
103
- version: '1.0'
116
+ version: '1.5'
104
117
  - !ruby/object:Gem::Dependency
105
118
  name: xdg
106
119
  requirement: !ruby/object:Gem::Requirement
@@ -116,35 +129,7 @@ dependencies:
116
129
  - !ruby/object:Gem::Version
117
130
  version: 2.2.3
118
131
  - !ruby/object:Gem::Dependency
119
- name: table_print
120
- requirement: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '1.5'
125
- type: :runtime
126
- prerelease: false
127
- version_requirements: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '1.5'
132
- - !ruby/object:Gem::Dependency
133
- name: rspec
134
- requirement: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: '3.0'
139
- type: :development
140
- prerelease: false
141
- version_requirements: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '3.0'
146
- - !ruby/object:Gem::Dependency
147
- name: simplecov
132
+ name: addressable
148
133
  requirement: !ruby/object:Gem::Requirement
149
134
  requirements:
150
135
  - - ">="
@@ -186,19 +171,19 @@ dependencies:
186
171
  - !ruby/object:Gem::Version
187
172
  version: '1.0'
188
173
  - !ruby/object:Gem::Dependency
189
- name: rake
174
+ name: cucumber-api
190
175
  requirement: !ruby/object:Gem::Requirement
191
176
  requirements:
192
- - - "~>"
177
+ - - ">="
193
178
  - !ruby/object:Gem::Version
194
- version: '10.0'
179
+ version: '0'
195
180
  type: :development
196
181
  prerelease: false
197
182
  version_requirements: !ruby/object:Gem::Requirement
198
183
  requirements:
199
- - - "~>"
184
+ - - ">="
200
185
  - !ruby/object:Gem::Version
201
- version: '10.0'
186
+ version: '0'
202
187
  - !ruby/object:Gem::Dependency
203
188
  name: io-grab
204
189
  requirement: !ruby/object:Gem::Requirement
@@ -228,7 +213,7 @@ dependencies:
228
213
  - !ruby/object:Gem::Version
229
214
  version: '0'
230
215
  - !ruby/object:Gem::Dependency
231
- name: cucumber-api
216
+ name: pry-byebug
232
217
  requirement: !ruby/object:Gem::Requirement
233
218
  requirements:
234
219
  - - ">="
@@ -242,37 +227,56 @@ dependencies:
242
227
  - !ruby/object:Gem::Version
243
228
  version: '0'
244
229
  - !ruby/object:Gem::Dependency
245
- name: addressable
230
+ name: rake
246
231
  requirement: !ruby/object:Gem::Requirement
247
232
  requirements:
248
- - - ">="
233
+ - - "~>"
249
234
  - !ruby/object:Gem::Version
250
- version: '0'
235
+ version: 12.3.3
251
236
  type: :development
252
237
  prerelease: false
253
238
  version_requirements: !ruby/object:Gem::Requirement
254
239
  requirements:
255
- - - ">="
240
+ - - "~>"
256
241
  - !ruby/object:Gem::Version
257
- version: '0'
242
+ version: 12.3.3
258
243
  - !ruby/object:Gem::Dependency
259
- name: pry-byebug
244
+ name: rspec
260
245
  requirement: !ruby/object:Gem::Requirement
261
246
  requirements:
262
- - - ">="
247
+ - - "~>"
263
248
  - !ruby/object:Gem::Version
264
- version: '0'
249
+ version: '3.0'
265
250
  type: :development
266
251
  prerelease: false
267
252
  version_requirements: !ruby/object:Gem::Requirement
268
253
  requirements:
269
- - - ">="
254
+ - - "~>"
270
255
  - !ruby/object:Gem::Version
271
- version: '0'
256
+ version: '3.0'
257
+ - !ruby/object:Gem::Dependency
258
+ name: simplecov
259
+ requirement: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - "~>"
262
+ - !ruby/object:Gem::Version
263
+ version: '0.17'
264
+ - - "<"
265
+ - !ruby/object:Gem::Version
266
+ version: '0.18'
267
+ type: :development
268
+ prerelease: false
269
+ version_requirements: !ruby/object:Gem::Requirement
270
+ requirements:
271
+ - - "~>"
272
+ - !ruby/object:Gem::Version
273
+ version: '0.17'
274
+ - - "<"
275
+ - !ruby/object:Gem::Version
276
+ version: '0.18'
272
277
  description:
273
278
  email:
274
- - rafal@conjur.net
275
- - kgilpin@conjur.net
279
+ - conj_maintainers@cyberark.com
276
280
  executables:
277
281
  - _conjur
278
282
  - conjur
@@ -280,23 +284,32 @@ extensions: []
280
284
  extra_rdoc_files: []
281
285
  files:
282
286
  - ".dockerignore"
287
+ - ".github/CODEOWNERS"
288
+ - ".github/ISSUE_TEMPLATE/bug.md"
289
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
290
+ - ".github/PULL_REQUEST_TEMPLATE.md"
283
291
  - ".gitignore"
292
+ - ".gitleaks.toml"
284
293
  - ".kateproject"
285
294
  - ".overcommit.yml"
286
295
  - ".project"
287
296
  - ".rubocop.yml"
288
297
  - APPLIANCE_VERSION
289
298
  - CHANGELOG.md
299
+ - CONTRIBUTING.md
290
300
  - Gemfile
291
301
  - Humanfile.md
292
302
  - Jenkinsfile
293
- - LICENSE.md
303
+ - LICENSE
304
+ - NOTICES.txt
294
305
  - PUBLISH.md
295
306
  - README.md
296
307
  - Rakefile
308
+ - SECURITY.md
297
309
  - VERSION
298
310
  - bin/_conjur
299
311
  - bin/conjur
312
+ - bin/parse-changelog.sh
300
313
  - build-deb.sh
301
314
  - build-standalone
302
315
  - ci/cli-test.sh
@@ -304,6 +317,7 @@ files:
304
317
  - ci/package.sh
305
318
  - ci/publish.sh
306
319
  - ci/secrets/publish.yml
320
+ - ci/submit-coverage
307
321
  - ci/test.sh
308
322
  - ci/wait_for_server.sh
309
323
  - conjur-cli.gemspec
@@ -398,9 +412,9 @@ files:
398
412
  - spec/spec_helper.rb
399
413
  - standalone.entrypoint
400
414
  - test.sh
401
- homepage: https://github.com/conjurinc/cli-ruby
415
+ homepage: https://github.com/cyberark/conjur-cli
402
416
  licenses:
403
- - MIT
417
+ - Apache 2.0
404
418
  metadata: {}
405
419
  post_install_message:
406
420
  rdoc_options: []
@@ -417,7 +431,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
417
431
  - !ruby/object:Gem::Version
418
432
  version: '0'
419
433
  requirements: []
420
- rubygems_version: 3.0.3
434
+ rubygems_version: 3.1.6
421
435
  signing_key:
422
436
  specification_version: 4
423
437
  summary: Conjur command line interface