conjur-cli 4.28.2 → 4.29.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/.dockerignore +8 -0
- data/.gitignore +2 -0
- data/.overcommit.yml +10 -0
- data/.rubocop.yml +14 -0
- data/CHANGELOG.md +16 -0
- data/Dockerfile +10 -0
- data/Gemfile +2 -0
- data/Rakefile +1 -1
- data/acceptance-features/audit/audit_event_send.feature +46 -43
- data/acceptance-features/audit/send.feature +0 -19
- data/acceptance-features/authentication/login.feature +0 -2
- data/acceptance-features/authentication/logout.feature +0 -3
- data/acceptance-features/authorization/resource/check.feature +6 -4
- data/acceptance-features/authorization/resource/create.feature +4 -2
- data/acceptance-features/authorization/resource/exists.feature +8 -6
- data/acceptance-features/authorization/resource/give.feature +3 -1
- data/acceptance-features/authorization/resource/show.feature +3 -1
- data/acceptance-features/authorization/role/graph.feature +0 -1
- data/acceptance-features/conjurenv/check.feature +3 -10
- data/acceptance-features/conjurenv/run.feature +3 -3
- data/acceptance-features/conjurenv/template.feature +1 -1
- data/acceptance-features/directory/hostfactory/create.feature +13 -0
- data/acceptance-features/directory/hostfactory/tokens.feature +16 -0
- data/acceptance-features/directory/layer/retire.feature +43 -0
- data/acceptance-features/directory/user/update_password.feature +0 -1
- data/acceptance-features/directory/variable/value.feature +3 -2
- data/acceptance-features/dsl/policy_owner.feature +21 -7
- data/acceptance-features/dsl/resource_owner.feature +4 -4
- data/acceptance-features/pubkeys/add.feature +4 -2
- data/acceptance-features/pubkeys/names.feature +6 -3
- data/acceptance-features/pubkeys/show.feature +4 -2
- data/acceptance-features/step_definitions/{cli.rb → cli_steps.rb} +18 -4
- data/acceptance-features/step_definitions/user_steps.rb +13 -12
- data/acceptance-features/support/env.rb +0 -1
- data/acceptance-features/support/hooks.rb +11 -14
- data/acceptance-features/support/world.rb +16 -18
- data/build-deb.sh +19 -0
- data/ci/test.sh +19 -0
- data/conjur.gemspec +9 -12
- data/debify.sh +4 -0
- data/distrib/bin/_conjur +3 -0
- data/distrib/bin/conjur +3 -0
- data/distrib/bin/conjurize +3 -0
- data/distrib/bin/jsonfield +3 -0
- data/features/conjurize.feature +25 -25
- data/features/support/env.rb +5 -1
- data/features/support/hooks.rb +0 -1
- data/jenkins.sh +29 -1
- data/lib/conjur/cli.rb +27 -4
- data/lib/conjur/command.rb +36 -0
- data/lib/conjur/command/audit.rb +12 -0
- data/lib/conjur/command/bootstrap.rb +5 -9
- data/lib/conjur/command/host_factories.rb +187 -0
- data/lib/conjur/command/hosts.rb +82 -2
- data/lib/conjur/command/layers.rb +28 -0
- data/lib/conjur/command/resources.rb +1 -0
- data/lib/conjur/command/rspec/mock_services.rb +1 -1
- data/lib/conjur/command/server.rb +67 -0
- data/lib/conjur/command/users.rb +67 -12
- data/lib/conjur/command/variables.rb +101 -14
- data/lib/conjur/conjurize.rb +25 -69
- data/lib/conjur/conjurize/script.rb +133 -0
- data/lib/conjur/version.rb +1 -1
- data/publish.sh +6 -0
- data/spec/command/elevate_spec.rb +1 -1
- data/spec/command/host_factories_spec.rb +38 -0
- data/spec/command/hosts_spec.rb +86 -22
- data/spec/command/users_spec.rb +51 -3
- data/spec/command/variable_expiration_spec.rb +174 -0
- data/spec/command/variables_spec.rb +1 -1
- data/spec/conjurize_spec.rb +70 -0
- metadata +61 -64
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'conjur/command/variables'
|
|
3
|
+
|
|
4
|
+
describe Conjur::Command::Variables, :logged_in => true do
|
|
5
|
+
def invoke_silently
|
|
6
|
+
real_stderr = $stderr
|
|
7
|
+
$stderr = StringIO.new
|
|
8
|
+
begin
|
|
9
|
+
invoke
|
|
10
|
+
ensure
|
|
11
|
+
$stderr = real_stderr
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
let (:variable) { double(:name => 'foo') }
|
|
16
|
+
let (:incompatible_server_msg) { /not supported/ }
|
|
17
|
+
|
|
18
|
+
context "expiring a variable" do
|
|
19
|
+
|
|
20
|
+
let (:duration) { nil }
|
|
21
|
+
|
|
22
|
+
context "with valid arguments" do
|
|
23
|
+
before do
|
|
24
|
+
expect(RestClient::Request).to receive(:execute).with({
|
|
25
|
+
:method => :post,
|
|
26
|
+
:url => 'https://core.example.com/api/variables/foo/expiration',
|
|
27
|
+
:headers => {},
|
|
28
|
+
:payload => {:duration => duration}
|
|
29
|
+
}).and_return(double('response', :body => '{}'))
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
shared_examples 'it sets variable expiration' do
|
|
33
|
+
it do
|
|
34
|
+
expect {invoke}.to write
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
describe_command 'variable:expire --now foo' do
|
|
39
|
+
let (:duration) { 'P0Y' }
|
|
40
|
+
it_behaves_like 'it sets variable expiration'
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
describe_command 'variable:expire --days 1 foo' do
|
|
44
|
+
let (:duration) { 'P1D' }
|
|
45
|
+
it_behaves_like 'it sets variable expiration'
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe_command 'variable:expire --months 1 foo' do
|
|
49
|
+
let (:duration) { 'P1M' }
|
|
50
|
+
it_behaves_like 'it sets variable expiration'
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
describe_command 'variable:expire --in PT1M foo' do
|
|
54
|
+
let (:duration) { 'PT1M' }
|
|
55
|
+
it_behaves_like 'it sets variable expiration'
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
describe_command 'variable:expire --now --days 1 foo' do
|
|
61
|
+
it "fails" do
|
|
62
|
+
expect { invoke_silently }.to raise_error GLI::CustomExit
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
describe_command 'variable:expire' do
|
|
68
|
+
it 'should fail' do
|
|
69
|
+
expect { invoke_silently }.to raise_error RuntimeError
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
context "getting variable expirations" do
|
|
76
|
+
context "with valid arguments" do
|
|
77
|
+
let (:expected_params) { nil }
|
|
78
|
+
let (:expected_headers) { {}.tap {|h| h.merge!(:params => expected_params) if expected_params} }
|
|
79
|
+
before do
|
|
80
|
+
expect(RestClient::Request).to receive(:execute).with({
|
|
81
|
+
:method => :get,
|
|
82
|
+
:url => 'https://core.example.com/api/variables/expirations',
|
|
83
|
+
:headers => expected_headers
|
|
84
|
+
}).and_return(double('response', :body => '[]'))
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
shared_examples 'it writes expiration list' do
|
|
88
|
+
it do
|
|
89
|
+
expect { invoke }.to write "[\n\n]\n"
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
describe_command 'variable:expirations' do
|
|
94
|
+
it_behaves_like 'it writes expiration list'
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
describe_command 'variable:expirations --days 1' do
|
|
98
|
+
let (:expected_params) { { :duration => 'P1D' } }
|
|
99
|
+
it_behaves_like 'it writes expiration list'
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
describe_command 'variable:expirations --months 1' do
|
|
103
|
+
let (:expected_params) { { :duration => 'P1M' } }
|
|
104
|
+
it_behaves_like 'it writes expiration list'
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
describe_command 'variable:expirations --in P1D' do
|
|
108
|
+
let (:expected_params) { { :duration => 'P1D' } }
|
|
109
|
+
it_behaves_like 'it writes expiration list'
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
let(:certificate) do
|
|
116
|
+
OpenSSL::X509::Certificate.new.tap do |cert|
|
|
117
|
+
key = OpenSSL::PKey::RSA.new 512
|
|
118
|
+
cert.public_key = key.public_key
|
|
119
|
+
cert.not_before = Time.now
|
|
120
|
+
cert.not_after = 1.minute.from_now
|
|
121
|
+
cert.sign key, OpenSSL::Digest::SHA256.new
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
let(:certfile) do
|
|
126
|
+
Tempfile.new("cert").tap do |file|
|
|
127
|
+
file.write certificate.to_pem
|
|
128
|
+
file.close
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
context 'connecting to incompatible server version while' do
|
|
133
|
+
before do
|
|
134
|
+
allow(Conjur.config).to receive_messages \
|
|
135
|
+
cert_file: certfile.path,
|
|
136
|
+
appliance_url: core_host
|
|
137
|
+
|
|
138
|
+
expect(RestClient::Request).to receive(:execute).with({
|
|
139
|
+
:method => :get,
|
|
140
|
+
:url => "https://core.example.com/info",
|
|
141
|
+
:headers => {}
|
|
142
|
+
}).and_raise(RestClient::ResourceNotFound)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
context 'setting variable expiration' do
|
|
146
|
+
describe_command 'variable:expire --days 1 foo' do
|
|
147
|
+
it 'should display error message' do
|
|
148
|
+
expect(RestClient::Request).to receive(:execute).with({
|
|
149
|
+
:method => :post,
|
|
150
|
+
:url => "https://core.example.com/api/variables/foo/expiration",
|
|
151
|
+
:headers => {},
|
|
152
|
+
:payload => anything
|
|
153
|
+
}).and_raise(RestClient::ResourceNotFound)
|
|
154
|
+
expect { invoke }.to raise_error(RestClient::ResourceNotFound)
|
|
155
|
+
.and write(incompatible_server_msg).to(:stderr)
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
context 'getting variable expirations' do
|
|
161
|
+
describe_command 'variable:expirations' do
|
|
162
|
+
it 'should display error message' do
|
|
163
|
+
expect(RestClient::Request).to receive(:execute).with({
|
|
164
|
+
:method => :get,
|
|
165
|
+
:url => 'https://core.example.com/api/variables/expirations',
|
|
166
|
+
:headers => {}
|
|
167
|
+
}).and_raise(RestClient::ResourceNotFound)
|
|
168
|
+
expect { invoke }.to raise_error(RestClient::ResourceNotFound)
|
|
169
|
+
.and write(incompatible_server_msg).to(:stderr)
|
|
170
|
+
end
|
|
171
|
+
end
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
3
|
describe Conjur::Command::Variables, logged_in: true do
|
|
4
|
-
let(:host) { 'https://core.example.com' }
|
|
4
|
+
let(:host) { 'https://core.example.com/api' }
|
|
5
5
|
let(:collection_url) { "#{host}/variables" }
|
|
6
6
|
let(:mime_type) { 'text/plain' }
|
|
7
7
|
let(:kind) { 'secret' }
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
require "spec_helper"
|
|
2
|
+
require "conjur/conjurize"
|
|
3
|
+
|
|
4
|
+
describe Conjur::Conjurize do
|
|
5
|
+
let(:certificate) do
|
|
6
|
+
OpenSSL::X509::Certificate.new.tap do |cert|
|
|
7
|
+
key = OpenSSL::PKey::RSA.new 512
|
|
8
|
+
cert.public_key = key.public_key
|
|
9
|
+
cert.not_before = Time.now
|
|
10
|
+
cert.not_after = 1.minute.from_now
|
|
11
|
+
cert.sign key, OpenSSL::Digest::SHA256.new
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
let(:certfile) do
|
|
16
|
+
Tempfile.new("cert").tap do |file|
|
|
17
|
+
file.write certificate.to_pem
|
|
18
|
+
file.close
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
let(:host_id) { "somehostid" }
|
|
23
|
+
let(:api_key) { "very_secret_key" }
|
|
24
|
+
let(:account) { "testacct" }
|
|
25
|
+
let(:appliance_url) { "https://example.com" }
|
|
26
|
+
|
|
27
|
+
before do
|
|
28
|
+
allow(Conjur.config).to receive_messages \
|
|
29
|
+
account: account,
|
|
30
|
+
cert_file: certfile.path,
|
|
31
|
+
appliance_url: appliance_url
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe ".generate" do
|
|
35
|
+
it "puts all the relevant data in the script" do
|
|
36
|
+
script = Conjur::Conjurize.generate "id" => host_id, "api_key" => api_key
|
|
37
|
+
expect(script).to include host_id, api_key, account, certificate.to_pem
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
it "dumps JSON if required" do
|
|
41
|
+
allow(Conjur::Conjurize).to receive_messages options: { json: true }
|
|
42
|
+
expect(
|
|
43
|
+
JSON.load(
|
|
44
|
+
Conjur::Conjurize.generate(
|
|
45
|
+
"id" => host_id,
|
|
46
|
+
"api_key" => api_key
|
|
47
|
+
)
|
|
48
|
+
)
|
|
49
|
+
).to eq \
|
|
50
|
+
"id" => host_id,
|
|
51
|
+
"api_key" => api_key,
|
|
52
|
+
"account" => account,
|
|
53
|
+
"certificate" => certificate.to_pem.strip,
|
|
54
|
+
"appliance_url" => appliance_url
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
describe ".configuration" do
|
|
59
|
+
it "gathers all the configuration options" do
|
|
60
|
+
expect(
|
|
61
|
+
Conjur::Conjurize.configuration("id" => host_id, "api_key" => api_key)
|
|
62
|
+
).to eq \
|
|
63
|
+
"id" => host_id,
|
|
64
|
+
"api_key" => api_key,
|
|
65
|
+
"account" => account,
|
|
66
|
+
"certificate" => certificate.to_pem.strip,
|
|
67
|
+
"appliance_url" => appliance_url
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: conjur-cli
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.29.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rafal Rzepecki
|
|
@@ -9,36 +9,36 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2016-02-05 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activesupport
|
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
|
17
17
|
requirements:
|
|
18
|
-
- -
|
|
18
|
+
- - ~>
|
|
19
19
|
- !ruby/object:Gem::Version
|
|
20
|
-
version: '
|
|
20
|
+
version: '4.2'
|
|
21
21
|
type: :runtime
|
|
22
22
|
prerelease: false
|
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
24
24
|
requirements:
|
|
25
|
-
- -
|
|
25
|
+
- - ~>
|
|
26
26
|
- !ruby/object:Gem::Version
|
|
27
|
-
version: '
|
|
27
|
+
version: '4.2'
|
|
28
28
|
- !ruby/object:Gem::Dependency
|
|
29
29
|
name: conjur-api
|
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
|
31
31
|
requirements:
|
|
32
32
|
- - ~>
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
|
-
version: '4.
|
|
34
|
+
version: '4.20'
|
|
35
35
|
type: :runtime
|
|
36
36
|
prerelease: false
|
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
38
38
|
requirements:
|
|
39
39
|
- - ~>
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
|
-
version: '4.
|
|
41
|
+
version: '4.20'
|
|
42
42
|
- !ruby/object:Gem::Dependency
|
|
43
43
|
name: gli
|
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -57,16 +57,16 @@ dependencies:
|
|
|
57
57
|
name: highline
|
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
|
59
59
|
requirements:
|
|
60
|
-
- -
|
|
60
|
+
- - ~>
|
|
61
61
|
- !ruby/object:Gem::Version
|
|
62
|
-
version: '
|
|
62
|
+
version: '1.7'
|
|
63
63
|
type: :runtime
|
|
64
64
|
prerelease: false
|
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
|
66
66
|
requirements:
|
|
67
|
-
- -
|
|
67
|
+
- - ~>
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: '
|
|
69
|
+
version: '1.7'
|
|
70
70
|
- !ruby/object:Gem::Dependency
|
|
71
71
|
name: netrc
|
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -85,58 +85,58 @@ dependencies:
|
|
|
85
85
|
name: methadone
|
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
|
87
87
|
requirements:
|
|
88
|
-
- -
|
|
88
|
+
- - ~>
|
|
89
89
|
- !ruby/object:Gem::Version
|
|
90
|
-
version: '
|
|
90
|
+
version: '1.9'
|
|
91
91
|
type: :runtime
|
|
92
92
|
prerelease: false
|
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
|
94
94
|
requirements:
|
|
95
|
-
- -
|
|
95
|
+
- - ~>
|
|
96
96
|
- !ruby/object:Gem::Version
|
|
97
|
-
version: '
|
|
97
|
+
version: '1.9'
|
|
98
98
|
- !ruby/object:Gem::Dependency
|
|
99
99
|
name: deep_merge
|
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
|
101
101
|
requirements:
|
|
102
|
-
- -
|
|
102
|
+
- - ~>
|
|
103
103
|
- !ruby/object:Gem::Version
|
|
104
|
-
version: '0'
|
|
104
|
+
version: '1.0'
|
|
105
105
|
type: :runtime
|
|
106
106
|
prerelease: false
|
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
|
108
108
|
requirements:
|
|
109
|
-
- -
|
|
109
|
+
- - ~>
|
|
110
110
|
- !ruby/object:Gem::Version
|
|
111
|
-
version: '0'
|
|
111
|
+
version: '1.0'
|
|
112
112
|
- !ruby/object:Gem::Dependency
|
|
113
113
|
name: xdg
|
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
|
115
115
|
requirements:
|
|
116
|
-
- -
|
|
116
|
+
- - ~>
|
|
117
117
|
- !ruby/object:Gem::Version
|
|
118
|
-
version: '
|
|
118
|
+
version: '2.2'
|
|
119
119
|
type: :runtime
|
|
120
120
|
prerelease: false
|
|
121
121
|
version_requirements: !ruby/object:Gem::Requirement
|
|
122
122
|
requirements:
|
|
123
|
-
- -
|
|
123
|
+
- - ~>
|
|
124
124
|
- !ruby/object:Gem::Version
|
|
125
|
-
version: '
|
|
125
|
+
version: '2.2'
|
|
126
126
|
- !ruby/object:Gem::Dependency
|
|
127
127
|
name: cas_rest_client
|
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
|
129
129
|
requirements:
|
|
130
|
-
- -
|
|
130
|
+
- - ~>
|
|
131
131
|
- !ruby/object:Gem::Version
|
|
132
|
-
version: '
|
|
132
|
+
version: '1.3'
|
|
133
133
|
type: :runtime
|
|
134
134
|
prerelease: false
|
|
135
135
|
version_requirements: !ruby/object:Gem::Requirement
|
|
136
136
|
requirements:
|
|
137
|
-
- -
|
|
137
|
+
- - ~>
|
|
138
138
|
- !ruby/object:Gem::Version
|
|
139
|
-
version: '
|
|
139
|
+
version: '1.3'
|
|
140
140
|
- !ruby/object:Gem::Dependency
|
|
141
141
|
name: rspec
|
|
142
142
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -171,14 +171,14 @@ dependencies:
|
|
|
171
171
|
requirements:
|
|
172
172
|
- - ~>
|
|
173
173
|
- !ruby/object:Gem::Version
|
|
174
|
-
version: 0.
|
|
174
|
+
version: 0.12.0
|
|
175
175
|
type: :development
|
|
176
176
|
prerelease: false
|
|
177
177
|
version_requirements: !ruby/object:Gem::Requirement
|
|
178
178
|
requirements:
|
|
179
179
|
- - ~>
|
|
180
180
|
- !ruby/object:Gem::Version
|
|
181
|
-
version: 0.
|
|
181
|
+
version: 0.12.0
|
|
182
182
|
- !ruby/object:Gem::Dependency
|
|
183
183
|
name: ci_reporter_rspec
|
|
184
184
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -197,16 +197,16 @@ dependencies:
|
|
|
197
197
|
name: ci_reporter_cucumber
|
|
198
198
|
requirement: !ruby/object:Gem::Requirement
|
|
199
199
|
requirements:
|
|
200
|
-
- -
|
|
200
|
+
- - ~>
|
|
201
201
|
- !ruby/object:Gem::Version
|
|
202
|
-
version: '0'
|
|
202
|
+
version: '1.0'
|
|
203
203
|
type: :development
|
|
204
204
|
prerelease: false
|
|
205
205
|
version_requirements: !ruby/object:Gem::Requirement
|
|
206
206
|
requirements:
|
|
207
|
-
- -
|
|
207
|
+
- - ~>
|
|
208
208
|
- !ruby/object:Gem::Version
|
|
209
|
-
version: '0'
|
|
209
|
+
version: '1.0'
|
|
210
210
|
- !ruby/object:Gem::Dependency
|
|
211
211
|
name: rake
|
|
212
212
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -249,34 +249,6 @@ dependencies:
|
|
|
249
249
|
- - '>='
|
|
250
250
|
- !ruby/object:Gem::Version
|
|
251
251
|
version: '0'
|
|
252
|
-
- !ruby/object:Gem::Dependency
|
|
253
|
-
name: conjur-asset-audit-send
|
|
254
|
-
requirement: !ruby/object:Gem::Requirement
|
|
255
|
-
requirements:
|
|
256
|
-
- - '>='
|
|
257
|
-
- !ruby/object:Gem::Version
|
|
258
|
-
version: '0'
|
|
259
|
-
type: :development
|
|
260
|
-
prerelease: false
|
|
261
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
262
|
-
requirements:
|
|
263
|
-
- - '>='
|
|
264
|
-
- !ruby/object:Gem::Version
|
|
265
|
-
version: '0'
|
|
266
|
-
- !ruby/object:Gem::Dependency
|
|
267
|
-
name: conjur-asset-host-factory
|
|
268
|
-
requirement: !ruby/object:Gem::Requirement
|
|
269
|
-
requirements:
|
|
270
|
-
- - '>='
|
|
271
|
-
- !ruby/object:Gem::Version
|
|
272
|
-
version: '0'
|
|
273
|
-
type: :development
|
|
274
|
-
prerelease: false
|
|
275
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
276
|
-
requirements:
|
|
277
|
-
- - '>='
|
|
278
|
-
- !ruby/object:Gem::Version
|
|
279
|
-
version: '0'
|
|
280
252
|
description:
|
|
281
253
|
email:
|
|
282
254
|
- rafal@conjur.net
|
|
@@ -289,11 +261,15 @@ executables:
|
|
|
289
261
|
extensions: []
|
|
290
262
|
extra_rdoc_files: []
|
|
291
263
|
files:
|
|
264
|
+
- .dockerignore
|
|
292
265
|
- .githooks/pre_commit/run_specs.rb
|
|
293
266
|
- .gitignore
|
|
294
267
|
- .kateproject
|
|
268
|
+
- .overcommit.yml
|
|
295
269
|
- .project
|
|
270
|
+
- .rubocop.yml
|
|
296
271
|
- CHANGELOG.md
|
|
272
|
+
- Dockerfile
|
|
297
273
|
- Gemfile
|
|
298
274
|
- LICENSE
|
|
299
275
|
- PUBLISH.md
|
|
@@ -328,9 +304,12 @@ files:
|
|
|
328
304
|
- acceptance-features/directory/group/retire.feature
|
|
329
305
|
- acceptance-features/directory/host/create.feature
|
|
330
306
|
- acceptance-features/directory/host/retire.feature
|
|
307
|
+
- acceptance-features/directory/hostfactory/create.feature
|
|
308
|
+
- acceptance-features/directory/hostfactory/tokens.feature
|
|
331
309
|
- acceptance-features/directory/layer/create.feature
|
|
332
310
|
- acceptance-features/directory/layer/hosts-add.feature
|
|
333
311
|
- acceptance-features/directory/layer/hosts-remove.feature
|
|
312
|
+
- acceptance-features/directory/layer/retire.feature
|
|
334
313
|
- acceptance-features/directory/user/create.feature
|
|
335
314
|
- acceptance-features/directory/user/retire.feature
|
|
336
315
|
- acceptance-features/directory/user/update_password.feature
|
|
@@ -347,7 +326,7 @@ files:
|
|
|
347
326
|
- acceptance-features/pubkeys/delete.feature
|
|
348
327
|
- acceptance-features/pubkeys/names.feature
|
|
349
328
|
- acceptance-features/pubkeys/show.feature
|
|
350
|
-
- acceptance-features/step_definitions/
|
|
329
|
+
- acceptance-features/step_definitions/cli_steps.rb
|
|
351
330
|
- acceptance-features/step_definitions/graph_steps.rb
|
|
352
331
|
- acceptance-features/step_definitions/user_steps.rb
|
|
353
332
|
- acceptance-features/support/env.rb
|
|
@@ -357,7 +336,15 @@ files:
|
|
|
357
336
|
- bin/conjur
|
|
358
337
|
- bin/conjurize
|
|
359
338
|
- bin/jsonfield
|
|
339
|
+
- build-deb.sh
|
|
340
|
+
- ci/Dockerfile.fpm
|
|
341
|
+
- ci/test.sh
|
|
360
342
|
- conjur.gemspec
|
|
343
|
+
- debify.sh
|
|
344
|
+
- distrib/bin/_conjur
|
|
345
|
+
- distrib/bin/conjur
|
|
346
|
+
- distrib/bin/conjurize
|
|
347
|
+
- distrib/bin/jsonfield
|
|
361
348
|
- features/conjurize.feature
|
|
362
349
|
- features/dsl_context.feature
|
|
363
350
|
- features/dsl_host_create.feature
|
|
@@ -392,6 +379,7 @@ files:
|
|
|
392
379
|
- lib/conjur/command/env.rb
|
|
393
380
|
- lib/conjur/command/field.rb
|
|
394
381
|
- lib/conjur/command/groups.rb
|
|
382
|
+
- lib/conjur/command/host_factories.rb
|
|
395
383
|
- lib/conjur/command/hosts.rb
|
|
396
384
|
- lib/conjur/command/ids.rb
|
|
397
385
|
- lib/conjur/command/init.rb
|
|
@@ -408,6 +396,7 @@ files:
|
|
|
408
396
|
- lib/conjur/command/rspec/output_matchers.rb
|
|
409
397
|
- lib/conjur/command/script.rb
|
|
410
398
|
- lib/conjur/command/secrets.rb
|
|
399
|
+
- lib/conjur/command/server.rb
|
|
411
400
|
- lib/conjur/command/shellinit.rb
|
|
412
401
|
- lib/conjur/command/users.rb
|
|
413
402
|
- lib/conjur/command/variables.rb
|
|
@@ -415,11 +404,13 @@ files:
|
|
|
415
404
|
- lib/conjur/config.rb
|
|
416
405
|
- lib/conjur/conjurenv.rb
|
|
417
406
|
- lib/conjur/conjurize.rb
|
|
407
|
+
- lib/conjur/conjurize/script.rb
|
|
418
408
|
- lib/conjur/dsl/runner.rb
|
|
419
409
|
- lib/conjur/identifier_manipulation.rb
|
|
420
410
|
- lib/conjur/version.rb
|
|
421
411
|
- lib/patches/conjur/error.rb
|
|
422
412
|
- profile.rb
|
|
413
|
+
- publish.sh
|
|
423
414
|
- spec/authn_spec.rb
|
|
424
415
|
- spec/command/assets_spec.rb
|
|
425
416
|
- spec/command/audit_spec.rb
|
|
@@ -427,6 +418,7 @@ files:
|
|
|
427
418
|
- spec/command/elevate_spec.rb
|
|
428
419
|
- spec/command/env_spec.rb
|
|
429
420
|
- spec/command/groups_spec.rb
|
|
421
|
+
- spec/command/host_factories_spec.rb
|
|
430
422
|
- spec/command/hosts_spec.rb
|
|
431
423
|
- spec/command/init_spec.rb
|
|
432
424
|
- spec/command/layers_spec.rb
|
|
@@ -435,10 +427,12 @@ files:
|
|
|
435
427
|
- spec/command/resources_spec.rb
|
|
436
428
|
- spec/command/roles_spec.rb
|
|
437
429
|
- spec/command/users_spec.rb
|
|
430
|
+
- spec/command/variable_expiration_spec.rb
|
|
438
431
|
- spec/command/variables_spec.rb
|
|
439
432
|
- spec/command_spec.rb
|
|
440
433
|
- spec/complete_spec.rb
|
|
441
434
|
- spec/config_spec.rb
|
|
435
|
+
- spec/conjurize_spec.rb
|
|
442
436
|
- spec/conjurrc
|
|
443
437
|
- spec/dsl/runner_spec.rb
|
|
444
438
|
- spec/env_spec.rb
|
|
@@ -463,7 +457,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
463
457
|
version: '0'
|
|
464
458
|
requirements: []
|
|
465
459
|
rubyforge_project:
|
|
466
|
-
rubygems_version: 2.0.14
|
|
460
|
+
rubygems_version: 2.0.14.1
|
|
467
461
|
signing_key:
|
|
468
462
|
specification_version: 4
|
|
469
463
|
summary: Conjur command line interface
|
|
@@ -494,6 +488,7 @@ test_files:
|
|
|
494
488
|
- spec/command/elevate_spec.rb
|
|
495
489
|
- spec/command/env_spec.rb
|
|
496
490
|
- spec/command/groups_spec.rb
|
|
491
|
+
- spec/command/host_factories_spec.rb
|
|
497
492
|
- spec/command/hosts_spec.rb
|
|
498
493
|
- spec/command/init_spec.rb
|
|
499
494
|
- spec/command/layers_spec.rb
|
|
@@ -502,10 +497,12 @@ test_files:
|
|
|
502
497
|
- spec/command/resources_spec.rb
|
|
503
498
|
- spec/command/roles_spec.rb
|
|
504
499
|
- spec/command/users_spec.rb
|
|
500
|
+
- spec/command/variable_expiration_spec.rb
|
|
505
501
|
- spec/command/variables_spec.rb
|
|
506
502
|
- spec/command_spec.rb
|
|
507
503
|
- spec/complete_spec.rb
|
|
508
504
|
- spec/config_spec.rb
|
|
505
|
+
- spec/conjurize_spec.rb
|
|
509
506
|
- spec/conjurrc
|
|
510
507
|
- spec/dsl/runner_spec.rb
|
|
511
508
|
- spec/env_spec.rb
|