kontena-cli 1.3.5 → 1.4.0.pre1
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 +5 -5
- data/VERSION +1 -1
- data/lib/kontena/cli/etcd/health_command.rb +1 -1
- data/lib/kontena/cli/grids/common.rb +51 -0
- data/lib/kontena/cli/grids/create_command.rb +13 -9
- data/lib/kontena/cli/grids/update_command.rb +11 -44
- data/lib/kontena/cli/node_command.rb +3 -0
- data/lib/kontena/cli/nodes/create_command.rb +25 -0
- data/lib/kontena/cli/nodes/env_command.rb +32 -0
- data/lib/kontena/cli/nodes/health_command.rb +2 -2
- data/lib/kontena/cli/nodes/labels/add_command.rb +3 -3
- data/lib/kontena/cli/nodes/labels/list_command.rb +2 -2
- data/lib/kontena/cli/nodes/labels/remove_command.rb +3 -3
- data/lib/kontena/cli/nodes/remove_command.rb +9 -7
- data/lib/kontena/cli/nodes/reset_token_command.rb +31 -0
- data/lib/kontena/cli/nodes/show_command.rb +4 -4
- data/lib/kontena/cli/nodes/ssh_command.rb +4 -4
- data/lib/kontena/cli/nodes/update_command.rb +13 -8
- data/lib/kontena/cli/services/create_command.rb +4 -0
- data/lib/kontena/cli/services/services_helper.rb +2 -0
- data/lib/kontena/cli/services/update_command.rb +2 -0
- data/lib/kontena/cli/stacks/service_generator.rb +2 -0
- data/lib/kontena/cli/stacks/show_command.rb +1 -0
- data/lib/kontena/cli/stacks/stacks_helper.rb +2 -3
- data/lib/kontena/cli/stacks/yaml/validations.rb +3 -1
- data/lib/kontena/machine/cloud_config/cloudinit.yml +17 -4
- data/omnibus/package-scripts/kontena/postinst +0 -4
- data/omnibus/package-scripts/kontena/postrm +1 -1
- data/omnibus/package-scripts/kontena/preinst +0 -2
- data/spec/fixtures/api/node.json +93 -0
- data/spec/kontena/cli/containers/logs_command_spec.rb +0 -4
- data/spec/kontena/cli/etcd/health_command_spec.rb +128 -63
- data/spec/kontena/cli/nodes/create_command_spec.rb +24 -0
- data/spec/kontena/cli/nodes/env_command_spec.rb +49 -0
- data/spec/kontena/cli/nodes/health_command_spec.rb +15 -173
- data/spec/kontena/cli/nodes/labels/add_command_spec.rb +56 -0
- data/spec/kontena/cli/nodes/labels/list_command_spec.rb +43 -0
- data/spec/kontena/cli/nodes/labels/remove_command_spec.rb +57 -0
- data/spec/kontena/cli/nodes/list_command_spec.rb +0 -2
- data/spec/kontena/cli/nodes/remove_command_spec.rb +76 -0
- data/spec/kontena/cli/nodes/reset_token_command_spec.rb +38 -0
- data/spec/kontena/cli/nodes/show_command_spec.rb +46 -0
- data/spec/kontena/cli/nodes/ssh_command_spec.rb +5 -0
- data/spec/kontena/cli/nodes/update_command_spec.rb +24 -0
- data/spec/kontena/cli/stacks/deploy_command_spec.rb +21 -0
- data/spec/kontena/cli/stacks/logs_command_spec.rb +0 -4
- data/spec/kontena/cli/table_generator_spec.rb +0 -4
- data/spec/spec_helper.rb +5 -0
- data/spec/support/output_helpers.rb +3 -14
- data/tasks/release.rake +2 -2
- metadata +28 -5
@@ -7,8 +7,6 @@ describe Kontena::Cli::Nodes::ListCommand do
|
|
7
7
|
let(:subject) { described_class.new("kontena") }
|
8
8
|
|
9
9
|
before do
|
10
|
-
Kontena.pastel.resolver.color.disable!
|
11
|
-
|
12
10
|
allow(subject).to receive(:health_icon) {|health| health.inspect }
|
13
11
|
allow(subject).to receive(:client).and_return(client)
|
14
12
|
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'kontena/cli/nodes/remove_command'
|
2
|
+
|
3
|
+
describe Kontena::Cli::Nodes::RemoveCommand do
|
4
|
+
include ClientHelpers
|
5
|
+
include OutputHelpers
|
6
|
+
|
7
|
+
context 'for an offline node without a node token' do
|
8
|
+
let :node do
|
9
|
+
{
|
10
|
+
"id" => 'test-grid/node-1',
|
11
|
+
"name" => 'node-1',
|
12
|
+
"has_token" => false,
|
13
|
+
"connected" => false,
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
before do
|
18
|
+
expect(client).to receive(:get).with('nodes/test-grid/node-1').and_return(node)
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'removes the node' do
|
22
|
+
expect(subject).to receive(:confirm_command).with('node-1')
|
23
|
+
expect(client).to receive(:delete).with('nodes/test-grid/node-1')
|
24
|
+
|
25
|
+
subject.run(['node-1'])
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'removes the node with --force' do
|
29
|
+
expect(client).to receive(:delete).with('nodes/test-grid/node-1')
|
30
|
+
|
31
|
+
subject.run(['--force', 'node-1'])
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context 'for an online node without a node token' do
|
36
|
+
let :node do
|
37
|
+
{
|
38
|
+
"id" => 'test-grid/node-1',
|
39
|
+
"name" => 'node-1',
|
40
|
+
"has_token" => false,
|
41
|
+
"connected" => true,
|
42
|
+
}
|
43
|
+
end
|
44
|
+
|
45
|
+
before do
|
46
|
+
expect(client).to receive(:get).with('nodes/test-grid/node-1').and_return(node)
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'does not remove the node' do
|
50
|
+
expect(client).not_to receive(:delete)
|
51
|
+
|
52
|
+
expect{subject.run(['node-1'])}.to output(" [error] Node node-1 is still online. You must terminate the node before removing it.\n").to_stderr
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
context 'for an online node with a node token' do
|
57
|
+
let :node do
|
58
|
+
{
|
59
|
+
"id" => 'test-grid/node-1',
|
60
|
+
"name" => 'node-1',
|
61
|
+
"has_token" => true,
|
62
|
+
"connected" => true,
|
63
|
+
}
|
64
|
+
end
|
65
|
+
|
66
|
+
before do
|
67
|
+
expect(client).to receive(:get).with('nodes/test-grid/node-1').and_return(node)
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'removes the node' do
|
71
|
+
expect(client).to receive(:delete).with('nodes/test-grid/node-1')
|
72
|
+
|
73
|
+
expect{subject.run(['--force', 'node-1'])}.to output(/\[warn\] Node node-1 is still connected using a node token, but will be force-disconnected/).to_stderr
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'kontena/cli/nodes/reset_token_command'
|
2
|
+
|
3
|
+
describe Kontena::Cli::Nodes::ResetTokenCommand do
|
4
|
+
include ClientHelpers
|
5
|
+
include OutputHelpers
|
6
|
+
|
7
|
+
it 'prompts on token update' do
|
8
|
+
expect(subject).to receive(:confirm).with("Resetting the node token will disconnect the agent (unless using --no-reset-connection), and require you to reconfigure the kontena-agent using the new `kontena node env` values before it will be able to reconnect. Are you sure?")
|
9
|
+
|
10
|
+
expect(client).to receive(:put).with('nodes/test-grid/test-node/token', {token: nil, reset_connection: true})
|
11
|
+
|
12
|
+
subject.run(['test-node'])
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'PUTs token with reset_connection' do
|
16
|
+
expect(client).to receive(:put).with('nodes/test-grid/test-node/token', {token: 'asdf', reset_connection: true})
|
17
|
+
|
18
|
+
subject.run(['--force', '--token=asdf', 'test-node'])
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'PUTs to generate token with reset_connection' do
|
22
|
+
expect(client).to receive(:put).with('nodes/test-grid/test-node/token', {token: nil, reset_connection: true})
|
23
|
+
|
24
|
+
subject.run(['--force', 'test-node'])
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'PUTs to generate token without reset_connection' do
|
28
|
+
expect(client).to receive(:put).with('nodes/test-grid/test-node/token', {token: nil, reset_connection: false})
|
29
|
+
|
30
|
+
subject.run(['--force', '--no-reset-connection', 'test-node'])
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'PUTs to clear token without reset_connection' do
|
34
|
+
expect(client).to receive(:put).with('nodes/test-grid/test-node/token', {token: '', reset_connection: false})
|
35
|
+
|
36
|
+
subject.run(['--force', '--no-reset-connection', '--clear-token', 'test-node'])
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'kontena/cli/nodes/show_command'
|
2
|
+
|
3
|
+
describe Kontena::Cli::Nodes::ShowCommand do
|
4
|
+
include ClientHelpers
|
5
|
+
include OutputHelpers
|
6
|
+
include FixturesHelpers
|
7
|
+
|
8
|
+
let(:subject) { described_class.new("kontena") }
|
9
|
+
|
10
|
+
let(:node) {
|
11
|
+
JSON.load(fixture('api/node.json'))
|
12
|
+
}
|
13
|
+
|
14
|
+
before do
|
15
|
+
allow(client).to receive(:get).with('nodes/test-grid/core-01').and_return(node)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "outputs the node info" do
|
19
|
+
expect{subject.run(['core-01'])}.to output_lines([
|
20
|
+
'development/core-01:',
|
21
|
+
' id: XI4K:NPOL:EQJ4:S4V7:EN3B:DHC5:KZJD:F3U2:PCAN:46EV:IO4A:63S5',
|
22
|
+
' agent version: 1.4.0.dev',
|
23
|
+
' docker version: 1.12.6',
|
24
|
+
' connected: yes',
|
25
|
+
' last connect: 2017-07-04T08:36:02.235Z',
|
26
|
+
' last seen: 2017-07-04T08:36:02.280Z',
|
27
|
+
' public ip: 91.150.10.190',
|
28
|
+
' private ip: 192.168.66.101',
|
29
|
+
' overlay ip: 10.81.0.1',
|
30
|
+
' os: Container Linux by CoreOS 1409.5.0 (Ladybug)',
|
31
|
+
' kernel: 4.11.6-coreos-r1',
|
32
|
+
' drivers:',
|
33
|
+
' storage: overlay',
|
34
|
+
' volume: local',
|
35
|
+
' initial node: yes',
|
36
|
+
' labels:',
|
37
|
+
' - test',
|
38
|
+
' stats:',
|
39
|
+
' cpus: 1',
|
40
|
+
' load: 1.49 0.34 0.11',
|
41
|
+
' memory: 0.39 of 0.97 GB',
|
42
|
+
' filesystem:',
|
43
|
+
' - /var/lib/docker: 2.89 of 15.57 GB',
|
44
|
+
])
|
45
|
+
end
|
46
|
+
end
|
@@ -16,6 +16,11 @@ describe Kontena::Cli::Nodes::SshCommand do
|
|
16
16
|
allow(client).to receive(:get).with('nodes/test-grid/test-node').and_return(node)
|
17
17
|
end
|
18
18
|
|
19
|
+
it "fails if using both --any and a node name as a command" do
|
20
|
+
expect(subject).to_not receive(:exec)
|
21
|
+
expect{subject.run(['--any', 'ls', '-l'])}.to exit_with_error.and output(/Cannot combine --any with a node name/).to_stderr
|
22
|
+
end
|
23
|
+
|
19
24
|
it "uses the public IP by default" do
|
20
25
|
expect(subject).to receive(:exec).with('ssh', 'core@192.0.2.10')
|
21
26
|
subject.run ['test-node']
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'kontena/cli/nodes/update_command'
|
2
|
+
|
3
|
+
describe Kontena::Cli::Nodes::UpdateCommand do
|
4
|
+
include ClientHelpers
|
5
|
+
include OutputHelpers
|
6
|
+
|
7
|
+
it 'PUTs with empty parameters by default' do
|
8
|
+
expect(client).to receive(:put).with('nodes/test-grid/test-node', {})
|
9
|
+
|
10
|
+
subject.run(['test-node'])
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'PUTs with labels' do
|
14
|
+
expect(client).to receive(:put).with('nodes/test-grid/test-node', {labels: ['test1=yes', 'test2=no']})
|
15
|
+
|
16
|
+
subject.run(['-l', 'test1=yes', '--label=test2=no', 'test-node'])
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'PUTs with empty labels' do
|
20
|
+
expect(client).to receive(:put).with('nodes/test-grid/test-node', {labels: []})
|
21
|
+
|
22
|
+
subject.run(['--clear-labels', 'test-node'])
|
23
|
+
end
|
24
|
+
end
|
@@ -24,4 +24,25 @@ describe Kontena::Cli::Stacks::DeployCommand do
|
|
24
24
|
subject.run(['test-stack'])
|
25
25
|
end
|
26
26
|
end
|
27
|
+
|
28
|
+
it 'exits with error if the stack deploy fails to start' do
|
29
|
+
expect(client).to receive(:post).with('stacks/test-grid/test-stack/deploy', {}).once.and_return({
|
30
|
+
'id' => '59524bd753caed000801b6a3',
|
31
|
+
'stack_id' => 'test-grid/test-stack',
|
32
|
+
'created_at' => '2017-06-27T12:13:11.181Z',
|
33
|
+
'state' => 'created',
|
34
|
+
'service_deploys' => [],
|
35
|
+
})
|
36
|
+
|
37
|
+
expect(client).to receive(:get).with('stacks/test-grid/test-stack/deploys/59524bd753caed000801b6a3').once.and_return({
|
38
|
+
'id' => '59524bd753caed000801b6a3',
|
39
|
+
'stack_id' => 'test-grid/test-stack',
|
40
|
+
'created_at' => '2017-06-27T12:13:11.181Z',
|
41
|
+
'state' => 'error',
|
42
|
+
'service_deploys' => [],
|
43
|
+
})
|
44
|
+
expect(subject).to receive(:sleep).once
|
45
|
+
|
46
|
+
expect{subject.run(['test-stack'])}.to exit_with_error.and output(/deploy failed/).to_stderr
|
47
|
+
end
|
27
48
|
end
|
@@ -15,10 +15,6 @@ describe Kontena::Cli::Stacks::LogsCommand do
|
|
15
15
|
]
|
16
16
|
end
|
17
17
|
|
18
|
-
before(:each) do
|
19
|
-
Kontena.pastel.resolver.color.disable!
|
20
|
-
end
|
21
|
-
|
22
18
|
it "shows stack logs" do
|
23
19
|
expect(client).to receive(:get).with('stacks/test-grid/test-stack/container_logs', {
|
24
20
|
limit: 100,
|
@@ -5,10 +5,6 @@ require 'kontena/cli/common'
|
|
5
5
|
describe Kontena::Cli::TableGenerator do
|
6
6
|
let(:data) { [{'a' => 'a1', 'b' => 'b1', 'c' => 'c1'}, {'a' => 'a2', 'b' => 'b2', 'c' => 'c2'}] }
|
7
7
|
|
8
|
-
before do
|
9
|
-
Kontena.pastel.resolver.color.disable!
|
10
|
-
end
|
11
|
-
|
12
8
|
context Kontena::Cli::TableGenerator::Helper do
|
13
9
|
let(:klass) { Class.new(Kontena::Command) }
|
14
10
|
|
data/spec/spec_helper.rb
CHANGED
@@ -33,6 +33,11 @@ RSpec.configure do |config|
|
|
33
33
|
Kontena::Cli::Config.reset_instance
|
34
34
|
end
|
35
35
|
|
36
|
+
# disable pastel colors for all specs, regardless of order
|
37
|
+
config.before(:all) do
|
38
|
+
Kontena.pastel.resolver.color.disable!
|
39
|
+
end
|
40
|
+
|
36
41
|
config.after(:each) do
|
37
42
|
RSpec::Mocks.space.proxy_for(File).reset
|
38
43
|
RSpec::Mocks.space.proxy_for(Kontena::Cli::Config).reset
|
@@ -90,21 +90,10 @@ module OutputHelpers
|
|
90
90
|
supports_block_expectations
|
91
91
|
|
92
92
|
match do |block|
|
93
|
-
|
94
|
-
|
95
|
-
begin
|
96
|
-
expect{@return = block.call}.to output(stdout).to_stdout
|
97
|
-
rescue Exception => error
|
98
|
-
@error = error
|
93
|
+
@expected = lines.flatten
|
94
|
+
@actual = CaptureStdoutLines.capture(block)
|
99
95
|
|
100
|
-
|
101
|
-
else
|
102
|
-
return true
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
failure_message do |block|
|
107
|
-
return @error
|
96
|
+
values_match?(@actual, @expected)
|
108
97
|
end
|
109
98
|
end
|
110
99
|
|
data/tasks/release.rake
CHANGED
@@ -2,9 +2,9 @@ namespace :release do
|
|
2
2
|
VERSION = Gem::Version.new(File.read('VERSION').strip)
|
3
3
|
DOCKER_NAME = 'kontena/cli'
|
4
4
|
if VERSION.prerelease?
|
5
|
-
DOCKER_VERSIONS = []
|
5
|
+
DOCKER_VERSIONS = ['edge']
|
6
6
|
else
|
7
|
-
DOCKER_VERSIONS = [VERSION.to_s.match(/(\d+\.\d+)/)[1]]
|
7
|
+
DOCKER_VERSIONS = ['latest', VERSION.to_s.match(/(\d+\.\d+)/)[1]]
|
8
8
|
end
|
9
9
|
|
10
10
|
desc 'Build all'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kontena-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0.pre1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kontena, Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -381,6 +381,8 @@ files:
|
|
381
381
|
- lib/kontena/cli/master/users_command.rb
|
382
382
|
- lib/kontena/cli/master_command.rb
|
383
383
|
- lib/kontena/cli/node_command.rb
|
384
|
+
- lib/kontena/cli/nodes/create_command.rb
|
385
|
+
- lib/kontena/cli/nodes/env_command.rb
|
384
386
|
- lib/kontena/cli/nodes/health_command.rb
|
385
387
|
- lib/kontena/cli/nodes/label_command.rb
|
386
388
|
- lib/kontena/cli/nodes/labels/add_command.rb
|
@@ -388,6 +390,7 @@ files:
|
|
388
390
|
- lib/kontena/cli/nodes/labels/remove_command.rb
|
389
391
|
- lib/kontena/cli/nodes/list_command.rb
|
390
392
|
- lib/kontena/cli/nodes/remove_command.rb
|
393
|
+
- lib/kontena/cli/nodes/reset_token_command.rb
|
391
394
|
- lib/kontena/cli/nodes/show_command.rb
|
392
395
|
- lib/kontena/cli/nodes/ssh_command.rb
|
393
396
|
- lib/kontena/cli/nodes/update_command.rb
|
@@ -536,6 +539,7 @@ files:
|
|
536
539
|
- omnibus/resources/kontena/pkg/license.html.erb
|
537
540
|
- omnibus/resources/kontena/pkg/welcome.html.erb
|
538
541
|
- omnibus/wrappers/sh/kontena
|
542
|
+
- spec/fixtures/api/node.json
|
539
543
|
- spec/fixtures/app.json
|
540
544
|
- spec/fixtures/docker-compose-invalid.yml
|
541
545
|
- spec/fixtures/docker-compose.yml
|
@@ -609,9 +613,18 @@ files:
|
|
609
613
|
- spec/kontena/cli/master/user/remove_command_spec.rb
|
610
614
|
- spec/kontena/cli/master/user/role/add_command_spec.rb
|
611
615
|
- spec/kontena/cli/master/user/role/remove_command_spec.rb
|
616
|
+
- spec/kontena/cli/nodes/create_command_spec.rb
|
617
|
+
- spec/kontena/cli/nodes/env_command_spec.rb
|
612
618
|
- spec/kontena/cli/nodes/health_command_spec.rb
|
619
|
+
- spec/kontena/cli/nodes/labels/add_command_spec.rb
|
620
|
+
- spec/kontena/cli/nodes/labels/list_command_spec.rb
|
621
|
+
- spec/kontena/cli/nodes/labels/remove_command_spec.rb
|
613
622
|
- spec/kontena/cli/nodes/list_command_spec.rb
|
623
|
+
- spec/kontena/cli/nodes/remove_command_spec.rb
|
624
|
+
- spec/kontena/cli/nodes/reset_token_command_spec.rb
|
625
|
+
- spec/kontena/cli/nodes/show_command_spec.rb
|
614
626
|
- spec/kontena/cli/nodes/ssh_command_spec.rb
|
627
|
+
- spec/kontena/cli/nodes/update_command_spec.rb
|
615
628
|
- spec/kontena/cli/plugins/install_command_spec.rb
|
616
629
|
- spec/kontena/cli/registry/create_spec.rb
|
617
630
|
- spec/kontena/cli/services/containers_command_spec.rb
|
@@ -682,16 +695,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
682
695
|
version: 2.1.0
|
683
696
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
684
697
|
requirements:
|
685
|
-
- - "
|
698
|
+
- - ">"
|
686
699
|
- !ruby/object:Gem::Version
|
687
|
-
version:
|
700
|
+
version: 1.3.1
|
688
701
|
requirements: []
|
689
702
|
rubyforge_project:
|
690
|
-
rubygems_version: 2.
|
703
|
+
rubygems_version: 2.6.8
|
691
704
|
signing_key:
|
692
705
|
specification_version: 4
|
693
706
|
summary: Kontena command line tool
|
694
707
|
test_files:
|
708
|
+
- spec/fixtures/api/node.json
|
695
709
|
- spec/fixtures/app.json
|
696
710
|
- spec/fixtures/docker-compose-invalid.yml
|
697
711
|
- spec/fixtures/docker-compose.yml
|
@@ -765,9 +779,18 @@ test_files:
|
|
765
779
|
- spec/kontena/cli/master/user/remove_command_spec.rb
|
766
780
|
- spec/kontena/cli/master/user/role/add_command_spec.rb
|
767
781
|
- spec/kontena/cli/master/user/role/remove_command_spec.rb
|
782
|
+
- spec/kontena/cli/nodes/create_command_spec.rb
|
783
|
+
- spec/kontena/cli/nodes/env_command_spec.rb
|
768
784
|
- spec/kontena/cli/nodes/health_command_spec.rb
|
785
|
+
- spec/kontena/cli/nodes/labels/add_command_spec.rb
|
786
|
+
- spec/kontena/cli/nodes/labels/list_command_spec.rb
|
787
|
+
- spec/kontena/cli/nodes/labels/remove_command_spec.rb
|
769
788
|
- spec/kontena/cli/nodes/list_command_spec.rb
|
789
|
+
- spec/kontena/cli/nodes/remove_command_spec.rb
|
790
|
+
- spec/kontena/cli/nodes/reset_token_command_spec.rb
|
791
|
+
- spec/kontena/cli/nodes/show_command_spec.rb
|
770
792
|
- spec/kontena/cli/nodes/ssh_command_spec.rb
|
793
|
+
- spec/kontena/cli/nodes/update_command_spec.rb
|
771
794
|
- spec/kontena/cli/plugins/install_command_spec.rb
|
772
795
|
- spec/kontena/cli/registry/create_spec.rb
|
773
796
|
- spec/kontena/cli/services/containers_command_spec.rb
|