kontena-cli 1.1.0.pre1 → 1.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +3 -9
  3. data/README.md +1 -1
  4. data/VERSION +1 -1
  5. data/examples/kontena-plugin-hello/kontena-plugin-hello.gemspec +1 -1
  6. data/kontena-cli.gemspec +3 -2
  7. data/lib/kontena/cli/cloud/master/add_command.rb +2 -2
  8. data/lib/kontena/cli/grids/common.rb +4 -0
  9. data/lib/kontena/cli/grids/create_command.rb +3 -1
  10. data/lib/kontena/cli/grids/update_command.rb +4 -0
  11. data/lib/kontena/cli/master/config/get_command.rb +4 -0
  12. data/lib/kontena/cli/master/remove_command.rb +10 -13
  13. data/lib/kontena/cli/master/ssh_command.rb +43 -0
  14. data/lib/kontena/cli/master_command.rb +3 -0
  15. data/lib/kontena/cli/nodes/ssh_command.rb +28 -13
  16. data/lib/kontena/cli/registry/create_command.rb +1 -1
  17. data/lib/kontena/cli/stack_command.rb +2 -0
  18. data/lib/kontena/cli/stacks/build_command.rb +25 -21
  19. data/lib/kontena/cli/stacks/common.rb +45 -3
  20. data/lib/kontena/cli/stacks/deploy_command.rb +5 -2
  21. data/lib/kontena/cli/stacks/install_command.rb +7 -3
  22. data/lib/kontena/cli/stacks/list_command.rb +4 -4
  23. data/lib/kontena/cli/stacks/registry/push_command.rb +7 -3
  24. data/lib/kontena/cli/stacks/show_command.rb +2 -1
  25. data/lib/kontena/cli/stacks/stacks_helper.rb +55 -5
  26. data/lib/kontena/cli/stacks/upgrade_command.rb +6 -3
  27. data/lib/kontena/cli/stacks/validate_command.rb +47 -0
  28. data/lib/kontena/cli/stacks/yaml/opto/prompt_resolver.rb +1 -6
  29. data/lib/kontena/cli/stacks/yaml/reader.rb +189 -100
  30. data/lib/kontena/debug_instrumentor.rb +1 -1
  31. data/lib/kontena_cli.rb +12 -5
  32. data/omnibus/.gitignore +12 -0
  33. data/omnibus/.kitchen.yml +44 -0
  34. data/omnibus/Berksfile +12 -0
  35. data/omnibus/Gemfile +22 -0
  36. data/omnibus/Gemfile.lock +183 -0
  37. data/omnibus/README.md +120 -0
  38. data/omnibus/config/projects/kontena.rb +33 -0
  39. data/omnibus/config/software/kontena.rb +13 -0
  40. data/omnibus/config/software/liblzma.rb +47 -0
  41. data/omnibus/omnibus.rb +56 -0
  42. data/omnibus/package-scripts/kontena/postinst +22 -0
  43. data/omnibus/package-scripts/kontena/postinstall +12 -0
  44. data/omnibus/package-scripts/kontena/postrm +9 -0
  45. data/omnibus/package-scripts/kontena/preinst +7 -0
  46. data/omnibus/package-scripts/kontena/prerm +15 -0
  47. data/omnibus/resources/kontena/pkg/distribution.xml.erb +22 -0
  48. data/omnibus/resources/kontena/pkg/license.html.erb +202 -0
  49. data/omnibus/resources/kontena/pkg/welcome.html.erb +5 -0
  50. data/omnibus/wrappers/sh/kontena +7 -0
  51. data/spec/fixtures/kontena-with-variables.yml +1 -1
  52. data/spec/fixtures/kontena_build_v3.yml +1 -1
  53. data/spec/fixtures/stack-with-invalid-liquid.yml +22 -0
  54. data/spec/fixtures/stack-with-liquid.yml +21 -0
  55. data/spec/fixtures/stack-with-prompted-variables.yml +10 -5
  56. data/spec/fixtures/stack-with-variables.yml +6 -1
  57. data/spec/kontena/cli/cloud/master/add_command_spec.rb +2 -2
  58. data/spec/kontena/cli/services/containers_command_spec.rb +2 -2
  59. data/spec/kontena/cli/stacks/build_command_spec.rb +37 -26
  60. data/spec/kontena/cli/stacks/install_command_spec.rb +6 -1
  61. data/spec/kontena/cli/stacks/upgrade_command_spec.rb +14 -18
  62. data/spec/kontena/cli/stacks/yaml/reader_spec.rb +76 -21
  63. data/spec/kontena/kontena_cli_spec.rb +28 -0
  64. data/spec/support/requirements_helper.rb +20 -2
  65. metadata +46 -5
@@ -0,0 +1,28 @@
1
+ require_relative '../spec_helper'
2
+ require 'kontena_cli'
3
+
4
+ describe Kontena do
5
+ let(:subject) { described_class }
6
+
7
+ describe '#run' do
8
+ let(:whoami) { double(:whoami_command) }
9
+
10
+ before(:each) do
11
+ expect(Kontena::MainCommand).to receive(:new).and_call_original
12
+ expect(Kontena::Cli::WhoamiCommand).to receive(:new).and_return(whoami)
13
+ expect(whoami).to receive(:run).with(['--bash-completion-path']).and_return(true)
14
+ end
15
+
16
+ it 'accepts a command line as string' do
17
+ subject.run('whoami --bash-completion-path')
18
+ end
19
+
20
+ it 'accepts a command line as a list of parameters' do
21
+ subject.run('whoami', '--bash-completion-path')
22
+ end
23
+
24
+ it 'accepts a command line as an array' do
25
+ subject.run(['whoami', '--bash-completion-path'])
26
+ end
27
+ end
28
+ end
@@ -16,7 +16,7 @@ module RequirementsHelper
16
16
  def expect_to_require_current_grid
17
17
  describe "prerequisites" do
18
18
  it "should require current grid" do
19
- expect(described_class.requires_current_current_grid?).to be_truthy
19
+ expect(described_class.requires_current_grid?).to be_truthy
20
20
  end
21
21
  end
22
22
  end
@@ -24,9 +24,27 @@ module RequirementsHelper
24
24
  def expect_to_require_current_master_token
25
25
  describe "prerequisites" do
26
26
  it "should require current master token" do
27
- expect(described_class.requires_current_current_master_token?).to be_truthy
27
+ expect(described_class.requires_current_master_token?).to be_truthy
28
28
  end
29
29
  end
30
30
  end
31
+
32
+ def mock_current_master
33
+ before(:each) do
34
+ allow(Kontena::Cli::Config.instance).to receive(:current_master).and_return(
35
+ Kontena::Cli::Config::Server.new(
36
+ url: 'https://test.example.com',
37
+ name: 'master',
38
+ token: Kontena::Cli::Config::Token.new(access_token: 'foo', account: :master, parent: 'master', parent_type: :master),
39
+ grid: 'foogrid'
40
+ )
41
+ )
42
+ allow(Kontena::Cli::Config.instance).to receive(:require_current_master).and_return(true)
43
+ allow(File).to receive(:exist?).and_call_original
44
+ allow(File).to receive(:exist?).with(File.join(Dir.home, '.kontena_client.json')).and_return(true)
45
+ allow(File).to receive(:read).and_call_original
46
+ allow(File).to receive(:read).with(File.join(Dir.home, '.kontena_client.json')).and_return("")
47
+ end
48
+ end
31
49
  end
32
50
  end
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.1.0.pre1
4
+ version: 1.1.0.rc1
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-01-20 00:00:00.000000000 Z
11
+ date: 2017-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 1.5.3
145
+ version: 1.8.0
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 1.5.3
152
+ version: 1.8.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: semantic
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -178,6 +178,20 @@ dependencies:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
180
  version: '1.0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: liquid
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 4.0.0
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 4.0.0
181
195
  description: Kontena command line tool
182
196
  email:
183
197
  - info@kontena.io
@@ -329,6 +343,7 @@ files:
329
343
  - lib/kontena/cli/master/login_command.rb
330
344
  - lib/kontena/cli/master/logout_command.rb
331
345
  - lib/kontena/cli/master/remove_command.rb
346
+ - lib/kontena/cli/master/ssh_command.rb
332
347
  - lib/kontena/cli/master/token/common.rb
333
348
  - lib/kontena/cli/master/token/create_command.rb
334
349
  - lib/kontena/cli/master/token/current_command.rb
@@ -414,6 +429,7 @@ files:
414
429
  - lib/kontena/cli/stacks/show_command.rb
415
430
  - lib/kontena/cli/stacks/stacks_helper.rb
416
431
  - lib/kontena/cli/stacks/upgrade_command.rb
432
+ - lib/kontena/cli/stacks/validate_command.rb
417
433
  - lib/kontena/cli/stacks/yaml/custom_validators/affinities_validator.rb
418
434
  - lib/kontena/cli/stacks/yaml/custom_validators/build_validator.rb
419
435
  - lib/kontena/cli/stacks/yaml/custom_validators/extends_validator.rb
@@ -462,6 +478,25 @@ files:
462
478
  - lib/kontena/stacks_client.rb
463
479
  - lib/kontena/util.rb
464
480
  - lib/kontena_cli.rb
481
+ - omnibus/.gitignore
482
+ - omnibus/.kitchen.yml
483
+ - omnibus/Berksfile
484
+ - omnibus/Gemfile
485
+ - omnibus/Gemfile.lock
486
+ - omnibus/README.md
487
+ - omnibus/config/projects/kontena.rb
488
+ - omnibus/config/software/kontena.rb
489
+ - omnibus/config/software/liblzma.rb
490
+ - omnibus/omnibus.rb
491
+ - omnibus/package-scripts/kontena/postinst
492
+ - omnibus/package-scripts/kontena/postinstall
493
+ - omnibus/package-scripts/kontena/postrm
494
+ - omnibus/package-scripts/kontena/preinst
495
+ - omnibus/package-scripts/kontena/prerm
496
+ - omnibus/resources/kontena/pkg/distribution.xml.erb
497
+ - omnibus/resources/kontena/pkg/license.html.erb
498
+ - omnibus/resources/kontena/pkg/welcome.html.erb
499
+ - omnibus/wrappers/sh/kontena
465
500
  - spec/fixtures/app.json
466
501
  - spec/fixtures/docker-compose-invalid.yml
467
502
  - spec/fixtures/docker-compose.yml
@@ -485,6 +520,8 @@ files:
485
520
  - spec/fixtures/stack-invalid.yml
486
521
  - spec/fixtures/stack-with-env-file.yml
487
522
  - spec/fixtures/stack-with-ifs.yml
523
+ - spec/fixtures/stack-with-invalid-liquid.yml
524
+ - spec/fixtures/stack-with-liquid.yml
488
525
  - spec/fixtures/stack-with-prompted-variables.yml
489
526
  - spec/fixtures/stack-with-variables.yml
490
527
  - spec/fixtures/wordpress-scaled.yml
@@ -552,6 +589,7 @@ files:
552
589
  - spec/kontena/cli/vpn/create_command_spec.rb
553
590
  - spec/kontena/client_spec.rb
554
591
  - spec/kontena/config_spec.rb
592
+ - spec/kontena/kontena_cli_spec.rb
555
593
  - spec/kontena/plugin_manager_spec.rb
556
594
  - spec/spec_helper.rb
557
595
  - spec/support/client_helpers.rb
@@ -572,7 +610,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
572
610
  requirements:
573
611
  - - ">="
574
612
  - !ruby/object:Gem::Version
575
- version: 2.0.0
613
+ version: 2.1.0
576
614
  required_rubygems_version: !ruby/object:Gem::Requirement
577
615
  requirements:
578
616
  - - ">"
@@ -608,6 +646,8 @@ test_files:
608
646
  - spec/fixtures/stack-invalid.yml
609
647
  - spec/fixtures/stack-with-env-file.yml
610
648
  - spec/fixtures/stack-with-ifs.yml
649
+ - spec/fixtures/stack-with-invalid-liquid.yml
650
+ - spec/fixtures/stack-with-liquid.yml
611
651
  - spec/fixtures/stack-with-prompted-variables.yml
612
652
  - spec/fixtures/stack-with-variables.yml
613
653
  - spec/fixtures/wordpress-scaled.yml
@@ -675,6 +715,7 @@ test_files:
675
715
  - spec/kontena/cli/vpn/create_command_spec.rb
676
716
  - spec/kontena/client_spec.rb
677
717
  - spec/kontena/config_spec.rb
718
+ - spec/kontena/kontena_cli_spec.rb
678
719
  - spec/kontena/plugin_manager_spec.rb
679
720
  - spec/spec_helper.rb
680
721
  - spec/support/client_helpers.rb