kontena-cli 0.16.0.pre2 → 0.16.0.pre3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1dc5728b1347004899b102ebd4866c211042e5a0
4
- data.tar.gz: 9db1ef29e2fc497e4714601c853fa05e8a348b7d
3
+ metadata.gz: fa0396ae545ef65b7d8f8011ff078e644d593a94
4
+ data.tar.gz: b146002d263311acb234c18fc39c9bd187dc360c
5
5
  SHA512:
6
- metadata.gz: c6e669442d78dd7bed60f5946f45827f974db78c57f27a8c5d7443d6af316b816f3fd4d1a64bf5f53231964cdd1b3e5390d2c196381195d2bf383d2d10eecfa2
7
- data.tar.gz: f965ff386e19547fafec5949b224eaaf3c8231a679232f8969ad3629922853eec714d4d6c760328caa00e0472cf720484210bc4dcc6a56ef12dde06038596911
6
+ metadata.gz: 050323b6a272b3ba7ee93bd21dc7b717b6254297c0e53a55035ed42cc4d0c0e98a021eea80fb5037b725e504c59116ac5b56435ca21defce0752567ac8082a73
7
+ data.tar.gz: fff1427644f1620501fb95660e609090dfd2e2d8b8dfaaf4b29005bfedfb8e705204f238810960f9b64816b0c1605664289be0e77aed6f333aa6f485ab7dad6a
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.16.0.pre2
1
+ 0.16.0.pre3
@@ -4,7 +4,7 @@ module Kontena
4
4
 
5
5
  include Kontena::Cli::Common
6
6
 
7
- matches_commands 'master auth'
7
+ matches_commands 'master login'
8
8
 
9
9
  def after_load
10
10
  command.class_eval do
@@ -1,10 +1,5 @@
1
1
  module Kontena
2
2
  module Callbacks
3
- # Runs kontena master auth-provider config after deployment if
4
- # auth provider configuration options have been supplied.
5
- #
6
- # Runs the config command with --preset kontena if the user has
7
- # authenticated to Kontena unless --no-auth-config is used.
8
3
  class CreateInitialGridAfterDeploy < Kontena::Callback
9
4
 
10
5
  include Kontena::Cli::Common
@@ -24,7 +19,7 @@ module Kontena
24
19
  end
25
20
 
26
21
  spinner "Selecting 'test' as current grid" do
27
- Kontena.run("grid use test")
22
+ Kontena.run("grid use --silent test")
28
23
  end
29
24
  end
30
25
  end
@@ -16,15 +16,15 @@ module Kontena
16
16
  # => { "foo" => "bar", "bar" => 123 } # (it converts integers!)
17
17
  attr_accessor :server, :success_response, :error_response, :port
18
18
 
19
- DEFAULT_SUCCESS_MESSAGE = "<html><head><title>Success</title></head><body><h3>Success!</h3><p>You can now close this browser window and return to the terminal application.</p></body></html>".freeze
20
19
  DEFAULT_ERROR_MESSAGE = "Bad request"
20
+ SUCCESS_URL = "https://cloud-beta.kontena.io/terminal-success"
21
21
 
22
22
  # Get new server instance
23
23
  #
24
24
  # @param [String] success_response Returned for successful callback
25
25
  # @param [String] error_response Returned for unsuccessful callback
26
26
  def initialize(success_response: nil, error_response: nil, port: nil)
27
- @success_response = success_response || DEFAULT_SUCCESS_MESSAGE
27
+ @success_response = success_response
28
28
  @error_response = error_response || DEFAULT_ERROR_MESSAGE
29
29
  @server = TCPServer.new('localhost', port || 0)
30
30
  @port = @server.addr[1]
@@ -60,14 +60,24 @@ module Kontena
60
60
 
61
61
  get_request = request[/GET (\/cb.+?) HTTP/, 1]
62
62
  if get_request
63
- socket.print [
64
- 'HTTP/1.1 200 OK',
65
- 'Content-Type: text/html',
66
- "Content-Length: #{success_response.bytesize}",
67
- "Connection: close",
68
- '',
69
- success_response
70
- ].join("\r\n")
63
+ if success_response
64
+ socket.print [
65
+ 'HTTP/1.1 200 OK',
66
+ 'Content-Type: text/html',
67
+ "Content-Length: #{success_response.bytesize}",
68
+ "Connection: close",
69
+ '',
70
+ success_response
71
+ ].join("\r\n")
72
+ else
73
+ socket.print [
74
+ 'HTTP/1.1 301 Found',
75
+ "Location: #{SUCCESS_URL}",
76
+ "Connection: close",
77
+ ''
78
+ ].join("\r\n")
79
+ end
80
+
71
81
  socket.close
72
82
  server.close
73
83
  uri = URI.parse("http://localhost#{get_request}")
@@ -8,7 +8,6 @@ module Kontena
8
8
  module Cli
9
9
  module Master
10
10
  class ConfigCommand < Kontena::Command
11
-
12
11
  subcommand "set", "Set a config value", Kontena::Cli::Master::Config::SetCommand
13
12
  subcommand "get", "Get a config value", Kontena::Cli::Master::Config::GetCommand
14
13
  subcommand "unset", "Clear a config value", Kontena::Cli::Master::Config::UnsetCommand
@@ -14,7 +14,7 @@ module Kontena::Cli::Master
14
14
  params << "--name #{self.name.shellescape}" if self.name
15
15
  params << "--verbose" if self.verbose?
16
16
 
17
- Kontena.run("master auth #{params.join(' ')} #{self.url.shellescape}")
17
+ Kontena.run("master login #{params.join(' ')} #{self.url.shellescape}")
18
18
  end
19
19
  end
20
20
  end
@@ -7,20 +7,13 @@ module Kontena::Cli::Master::Users
7
7
 
8
8
  parameter "EMAIL ...", "List of emails"
9
9
 
10
- banner <<-EOB.gsub(/^\s+/, "")
11
- If the email address matches the one returned from authentication provider
12
- then the user can authenticate using 'kontena master auth <url>'.
13
- If it doesn't, the user must use the invitation code:
14
- $ kontena master join <url> <invite_code>
15
- EOB
16
-
17
10
  option ['-r', '--roles'], '[ROLES]', 'Comma separated list of roles to assign to the invited users'
18
11
  option ['-c', '--code'], :flag, 'Only output the invite code'
19
12
 
20
- def execute
21
- require_api_url
22
- token = require_token
13
+ requires_current_master
14
+ requires_current_master_token
23
15
 
16
+ def execute
24
17
  if self.roles
25
18
  roles = self.roles.split(',')
26
19
  else
@@ -30,7 +23,7 @@ module Kontena::Cli::Master::Users
30
23
  email_list.each do |email|
31
24
  begin
32
25
  data = { email: email, response_type: 'invite' }
33
- response = client(token).post('/oauth2/authorize', data)
26
+ response = client.post('/oauth2/authorize', data)
34
27
  if self.code?
35
28
  puts response['invite_code']
36
29
  else
@@ -16,7 +16,6 @@ if ENV["DEV"]
16
16
  end
17
17
 
18
18
  class Kontena::Cli::MasterCommand < Kontena::Command
19
-
20
19
  subcommand ["list", "ls"], "List masters where client has logged in", Kontena::Cli::Master::ListCommand
21
20
  subcommand ["config", "cfg"], "Configure master settings", Kontena::Cli::Master::ConfigCommand
22
21
  subcommand "use", "Switch to use selected master", Kontena::Cli::Master::UseCommand
@@ -300,7 +300,7 @@ module Kontena
300
300
  retried ||= false
301
301
 
302
302
  if auth && token_expired?
303
- raise Excon::Errors::Unauthorized, "Token expired or not valid, you need to login again, use: kontena #{token_is_for_master? ? "master auth" : "auth"}"
303
+ raise Excon::Errors::Unauthorized, "Token expired or not valid, you need to login again, use: kontena #{token_is_for_master? ? "master" : "cloud"} login"
304
304
  end
305
305
 
306
306
  request_headers = request_headers(headers, auth)
@@ -329,7 +329,7 @@ module Kontena
329
329
 
330
330
  parse_response
331
331
  rescue Excon::Errors::Unauthorized
332
- if token && token_is_for_master?
332
+ if token
333
333
  logger.debug 'Server reports access token expired'
334
334
 
335
335
  if retried || !token || !token['refresh_token']
@@ -74,7 +74,7 @@ class Kontena::Command < Clamp::Command
74
74
  end
75
75
 
76
76
  def self.requires_current_master
77
- banner "#{Kontena.pastel.green("Requires current master")}: This command requires that you have selected a current master using 'kontena master auth' or 'kontena master use'. You can also use the environment variable KONTENA_URL to specify the master address or KONTENA_MASTER=master_name to override the current_master setting."
77
+ banner "#{Kontena.pastel.green("Requires current master")}: This command requires that you have selected a current master using 'kontena master login' or 'kontena master use'. You can also use the environment variable KONTENA_URL to specify the master address or KONTENA_MASTER=master_name to override the current_master setting."
78
78
  @requires_current_master = true
79
79
  end
80
80
 
@@ -135,7 +135,7 @@ class Kontena::Command < Clamp::Command
135
135
  retried = true
136
136
  retry
137
137
  else
138
- raise Kontena::Cli::Config::TokenExpiredError, "The access token has expired and refresh failed. Try authenticating again, use: kontena master auth"
138
+ raise Kontena::Cli::Config::TokenExpiredError, "The access token has expired and refresh failed. Try authenticating again, use: kontena master login"
139
139
  end
140
140
  end
141
141
 
@@ -47,7 +47,7 @@ class Kontena::MainCommand < Kontena::Command
47
47
  subcommand "whoami", "Shows current logged in user", Kontena::Cli::WhoamiCommand
48
48
  subcommand "plugin", "Plugin related commands", Kontena::Cli::PluginCommand
49
49
  subcommand "version", "Show version", Kontena::Cli::VersionCommand
50
- subcommand "login", "Login to Kontena Master (removed, use kontena master auth)", Kontena::Cli::LoginCommand
50
+ subcommand "login", "Login to Kontena Master (removed, use kontena master login)", Kontena::Cli::LoginCommand
51
51
 
52
52
  def execute
53
53
  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: 0.16.0.pre2
4
+ version: 0.16.0.pre3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kontena, Inc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-23 00:00:00.000000000 Z
11
+ date: 2016-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler