conjur-cli 4.28.2 → 4.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +8 -0
  3. data/.gitignore +2 -0
  4. data/.overcommit.yml +10 -0
  5. data/.rubocop.yml +14 -0
  6. data/CHANGELOG.md +16 -0
  7. data/Dockerfile +10 -0
  8. data/Gemfile +2 -0
  9. data/Rakefile +1 -1
  10. data/acceptance-features/audit/audit_event_send.feature +46 -43
  11. data/acceptance-features/audit/send.feature +0 -19
  12. data/acceptance-features/authentication/login.feature +0 -2
  13. data/acceptance-features/authentication/logout.feature +0 -3
  14. data/acceptance-features/authorization/resource/check.feature +6 -4
  15. data/acceptance-features/authorization/resource/create.feature +4 -2
  16. data/acceptance-features/authorization/resource/exists.feature +8 -6
  17. data/acceptance-features/authorization/resource/give.feature +3 -1
  18. data/acceptance-features/authorization/resource/show.feature +3 -1
  19. data/acceptance-features/authorization/role/graph.feature +0 -1
  20. data/acceptance-features/conjurenv/check.feature +3 -10
  21. data/acceptance-features/conjurenv/run.feature +3 -3
  22. data/acceptance-features/conjurenv/template.feature +1 -1
  23. data/acceptance-features/directory/hostfactory/create.feature +13 -0
  24. data/acceptance-features/directory/hostfactory/tokens.feature +16 -0
  25. data/acceptance-features/directory/layer/retire.feature +43 -0
  26. data/acceptance-features/directory/user/update_password.feature +0 -1
  27. data/acceptance-features/directory/variable/value.feature +3 -2
  28. data/acceptance-features/dsl/policy_owner.feature +21 -7
  29. data/acceptance-features/dsl/resource_owner.feature +4 -4
  30. data/acceptance-features/pubkeys/add.feature +4 -2
  31. data/acceptance-features/pubkeys/names.feature +6 -3
  32. data/acceptance-features/pubkeys/show.feature +4 -2
  33. data/acceptance-features/step_definitions/{cli.rb → cli_steps.rb} +18 -4
  34. data/acceptance-features/step_definitions/user_steps.rb +13 -12
  35. data/acceptance-features/support/env.rb +0 -1
  36. data/acceptance-features/support/hooks.rb +11 -14
  37. data/acceptance-features/support/world.rb +16 -18
  38. data/build-deb.sh +19 -0
  39. data/ci/test.sh +19 -0
  40. data/conjur.gemspec +9 -12
  41. data/debify.sh +4 -0
  42. data/distrib/bin/_conjur +3 -0
  43. data/distrib/bin/conjur +3 -0
  44. data/distrib/bin/conjurize +3 -0
  45. data/distrib/bin/jsonfield +3 -0
  46. data/features/conjurize.feature +25 -25
  47. data/features/support/env.rb +5 -1
  48. data/features/support/hooks.rb +0 -1
  49. data/jenkins.sh +29 -1
  50. data/lib/conjur/cli.rb +27 -4
  51. data/lib/conjur/command.rb +36 -0
  52. data/lib/conjur/command/audit.rb +12 -0
  53. data/lib/conjur/command/bootstrap.rb +5 -9
  54. data/lib/conjur/command/host_factories.rb +187 -0
  55. data/lib/conjur/command/hosts.rb +82 -2
  56. data/lib/conjur/command/layers.rb +28 -0
  57. data/lib/conjur/command/resources.rb +1 -0
  58. data/lib/conjur/command/rspec/mock_services.rb +1 -1
  59. data/lib/conjur/command/server.rb +67 -0
  60. data/lib/conjur/command/users.rb +67 -12
  61. data/lib/conjur/command/variables.rb +101 -14
  62. data/lib/conjur/conjurize.rb +25 -69
  63. data/lib/conjur/conjurize/script.rb +133 -0
  64. data/lib/conjur/version.rb +1 -1
  65. data/publish.sh +6 -0
  66. data/spec/command/elevate_spec.rb +1 -1
  67. data/spec/command/host_factories_spec.rb +38 -0
  68. data/spec/command/hosts_spec.rb +86 -22
  69. data/spec/command/users_spec.rb +51 -3
  70. data/spec/command/variable_expiration_spec.rb +174 -0
  71. data/spec/command/variables_spec.rb +1 -1
  72. data/spec/conjurize_spec.rb +70 -0
  73. 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.28.2
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: 2015-12-02 00:00:00.000000000 Z
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: '0'
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: '0'
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.19'
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.19'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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.6.1
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.6.1
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/cli.rb
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