kontena-cli 0.15.5 → 0.16.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Dockerfile +0 -3
- data/Gemfile +3 -0
- data/LOGO +8 -0
- data/VERSION +1 -1
- data/kontena-cli.gemspec +2 -3
- data/lib/kontena/callback.rb +57 -0
- data/lib/kontena/callbacks/.gitkeep +0 -0
- data/lib/kontena/callbacks/auth/01_list_and_select_grid_after_master_auth.rb +27 -0
- data/lib/kontena/callbacks/master/01_clear_current_master_after_terminate.rb +20 -0
- data/lib/kontena/callbacks/master/deploy/01_show_logo_before_deploy.rb +15 -0
- data/lib/kontena/callbacks/master/deploy/05_before_deploy_configuration_wizard.rb +124 -0
- data/lib/kontena/callbacks/master/deploy/50_authenticate_after_deploy.rb +53 -0
- data/lib/kontena/callbacks/master/deploy/55_create_initial_grid_after_deploy.rb +32 -0
- data/lib/kontena/callbacks/master/deploy/60_configure_auth_provider_after_deploy.rb +49 -0
- data/lib/kontena/callbacks/master/deploy/90_suggest_inviting_yourself_after_deploy.rb +24 -0
- data/lib/kontena/cli/app_command.rb +2 -1
- data/lib/kontena/cli/apps/build_command.rb +1 -1
- data/lib/kontena/cli/apps/common.rb +6 -1
- data/lib/kontena/cli/apps/config_command.rb +1 -1
- data/lib/kontena/cli/apps/deploy_command.rb +1 -1
- data/lib/kontena/cli/apps/init_command.rb +3 -5
- data/lib/kontena/cli/apps/list_command.rb +1 -1
- data/lib/kontena/cli/apps/logs_command.rb +1 -1
- data/lib/kontena/cli/apps/monitor_command.rb +1 -1
- data/lib/kontena/cli/apps/remove_command.rb +2 -3
- data/lib/kontena/cli/apps/restart_command.rb +1 -1
- data/lib/kontena/cli/apps/scale_command.rb +1 -1
- data/lib/kontena/cli/apps/show_command.rb +1 -1
- data/lib/kontena/cli/apps/start_command.rb +1 -1
- data/lib/kontena/cli/apps/stop_command.rb +1 -1
- data/lib/kontena/cli/apps/yaml/reader.rb +3 -13
- data/lib/kontena/cli/apps/yaml/validator.rb +0 -4
- data/lib/kontena/cli/apps/yaml/validator_v2.rb +1 -5
- data/lib/kontena/cli/certificate/authorize_command.rb +1 -1
- data/lib/kontena/cli/certificate/get_command.rb +1 -1
- data/lib/kontena/cli/certificate/register_command.rb +1 -1
- data/lib/kontena/cli/certificate_command.rb +1 -1
- data/lib/kontena/cli/cloud/login_command.rb +128 -0
- data/lib/kontena/cli/cloud/master/add_command.rb +54 -0
- data/lib/kontena/cli/cloud/master/delete_command.rb +20 -0
- data/lib/kontena/cli/cloud/master/list_command.rb +29 -0
- data/lib/kontena/cli/cloud/master/show_command.rb +23 -0
- data/lib/kontena/cli/cloud/master/update_command.rb +58 -0
- data/lib/kontena/cli/cloud/master_command.rb +21 -0
- data/lib/kontena/cli/cloud_command.rb +10 -0
- data/lib/kontena/cli/common.rb +230 -88
- data/lib/kontena/cli/config.rb +537 -0
- data/lib/kontena/cli/container_command.rb +1 -1
- data/lib/kontena/cli/containers/exec_command.rb +1 -1
- data/lib/kontena/cli/containers/inspect_command.rb +1 -1
- data/lib/kontena/cli/etcd/get_command.rb +1 -1
- data/lib/kontena/cli/etcd/list_command.rb +1 -1
- data/lib/kontena/cli/etcd/mkdir_command.rb +1 -1
- data/lib/kontena/cli/etcd/remove_command.rb +1 -1
- data/lib/kontena/cli/etcd/set_command.rb +1 -1
- data/lib/kontena/cli/etcd_command.rb +1 -1
- data/lib/kontena/cli/external_registries/add_command.rb +1 -1
- data/lib/kontena/cli/external_registries/delete_command.rb +1 -1
- data/lib/kontena/cli/external_registries/list_command.rb +1 -1
- data/lib/kontena/cli/external_registries/remove_command.rb +1 -1
- data/lib/kontena/cli/external_registry_command.rb +1 -1
- data/lib/kontena/cli/grid_command.rb +1 -1
- data/lib/kontena/cli/grids/audit_log_command.rb +6 -5
- data/lib/kontena/cli/grids/cloud_config_command.rb +1 -1
- data/lib/kontena/cli/grids/common.rb +1 -1
- data/lib/kontena/cli/grids/create_command.rb +8 -4
- data/lib/kontena/cli/grids/current_command.rb +1 -1
- data/lib/kontena/cli/grids/env_command.rb +1 -1
- data/lib/kontena/cli/grids/list_command.rb +35 -10
- data/lib/kontena/cli/grids/logs_command.rb +1 -1
- data/lib/kontena/cli/grids/remove_command.rb +2 -2
- data/lib/kontena/cli/grids/show_command.rb +1 -1
- data/lib/kontena/cli/grids/trusted_subnet_command.rb +1 -1
- data/lib/kontena/cli/grids/trusted_subnets/add_command.rb +1 -1
- data/lib/kontena/cli/grids/trusted_subnets/list_command.rb +1 -1
- data/lib/kontena/cli/grids/trusted_subnets/remove_command.rb +1 -1
- data/lib/kontena/cli/grids/update_command.rb +1 -1
- data/lib/kontena/cli/grids/use_command.rb +11 -6
- data/lib/kontena/cli/grids/user_command.rb +1 -1
- data/lib/kontena/cli/grids/users/add_command.rb +1 -1
- data/lib/kontena/cli/grids/users/list_command.rb +1 -1
- data/lib/kontena/cli/grids/users/remove_command.rb +1 -1
- data/lib/kontena/cli/localhost_web_server.rb +93 -0
- data/lib/kontena/cli/login_command.rb +5 -118
- data/lib/kontena/cli/logout_command.rb +33 -2
- data/lib/kontena/cli/master/audit_log_command.rb +19 -0
- data/lib/kontena/cli/master/config/export_command.rb +47 -0
- data/lib/kontena/cli/master/config/get_command.rb +24 -0
- data/lib/kontena/cli/master/config/import_command.rb +69 -0
- data/lib/kontena/cli/master/config/set_command.rb +19 -0
- data/lib/kontena/cli/master/config/unset_command.rb +20 -0
- data/lib/kontena/cli/master/config_command.rb +24 -0
- data/lib/kontena/cli/master/create_command.rb +76 -0
- data/lib/kontena/cli/master/current_command.rb +10 -2
- data/lib/kontena/cli/master/join_command.rb +20 -0
- data/lib/kontena/cli/master/list_command.rb +4 -4
- data/lib/kontena/cli/master/login_command.rb +274 -0
- data/lib/kontena/cli/master/use_command.rb +8 -19
- data/lib/kontena/cli/master/users/invite_command.rb +33 -6
- data/lib/kontena/cli/master/users/list_command.rb +2 -2
- data/lib/kontena/cli/master/users/remove_command.rb +1 -1
- data/lib/kontena/cli/master/users/role_command.rb +1 -1
- data/lib/kontena/cli/master/users/roles/add_command.rb +18 -16
- data/lib/kontena/cli/master/users/roles/remove_command.rb +1 -1
- data/lib/kontena/cli/master/users_command.rb +1 -1
- data/lib/kontena/cli/master_command.rb +21 -1
- data/lib/kontena/cli/node_command.rb +1 -1
- data/lib/kontena/cli/nodes/label_command.rb +1 -1
- data/lib/kontena/cli/nodes/labels/add_command.rb +1 -1
- data/lib/kontena/cli/nodes/labels/remove_command.rb +1 -1
- data/lib/kontena/cli/nodes/list_command.rb +1 -1
- data/lib/kontena/cli/nodes/remove_command.rb +1 -1
- data/lib/kontena/cli/nodes/show_command.rb +1 -1
- data/lib/kontena/cli/nodes/ssh_command.rb +1 -1
- data/lib/kontena/cli/nodes/update_command.rb +1 -1
- data/lib/kontena/cli/plugin_command.rb +1 -1
- data/lib/kontena/cli/plugins/install_command.rb +2 -2
- data/lib/kontena/cli/plugins/list_command.rb +2 -2
- data/lib/kontena/cli/plugins/search_command.rb +1 -1
- data/lib/kontena/cli/plugins/uninstall_command.rb +2 -2
- data/lib/kontena/cli/registry/create_command.rb +2 -4
- data/lib/kontena/cli/registry/delete_command.rb +1 -1
- data/lib/kontena/cli/registry/remove_command.rb +1 -1
- data/lib/kontena/cli/registry_command.rb +1 -1
- data/lib/kontena/cli/service_command.rb +1 -1
- data/lib/kontena/cli/services/container_command.rb +1 -1
- data/lib/kontena/cli/services/containers_command.rb +1 -1
- data/lib/kontena/cli/services/create_command.rb +1 -1
- data/lib/kontena/cli/services/delete_command.rb +1 -1
- data/lib/kontena/cli/services/deploy_command.rb +1 -1
- data/lib/kontena/cli/services/env_command.rb +1 -1
- data/lib/kontena/cli/services/envs/add_command.rb +1 -1
- data/lib/kontena/cli/services/envs/list_command.rb +1 -1
- data/lib/kontena/cli/services/envs/remove_command.rb +1 -1
- data/lib/kontena/cli/services/link_command.rb +1 -1
- data/lib/kontena/cli/services/list_command.rb +1 -1
- data/lib/kontena/cli/services/logs_command.rb +1 -1
- data/lib/kontena/cli/services/monitor_command.rb +1 -1
- data/lib/kontena/cli/services/remove_command.rb +1 -1
- data/lib/kontena/cli/services/restart_command.rb +1 -1
- data/lib/kontena/cli/services/scale_command.rb +1 -1
- data/lib/kontena/cli/services/secret_command.rb +1 -1
- data/lib/kontena/cli/services/secrets/link_command.rb +1 -1
- data/lib/kontena/cli/services/secrets/unlink_command.rb +1 -1
- data/lib/kontena/cli/services/services_helper.rb +6 -3
- data/lib/kontena/cli/services/show_command.rb +1 -1
- data/lib/kontena/cli/services/start_command.rb +1 -1
- data/lib/kontena/cli/services/stats_command.rb +1 -1
- data/lib/kontena/cli/services/stop_command.rb +1 -1
- data/lib/kontena/cli/services/unlink_command.rb +1 -1
- data/lib/kontena/cli/services/update_command.rb +1 -1
- data/lib/kontena/cli/spinner.rb +122 -0
- data/lib/kontena/cli/stack_command.rb +1 -1
- data/lib/kontena/cli/stacks/create_command.rb +1 -1
- data/lib/kontena/cli/stacks/deploy_command.rb +1 -1
- data/lib/kontena/cli/stacks/list_command.rb +1 -1
- data/lib/kontena/cli/stacks/remove_command.rb +1 -1
- data/lib/kontena/cli/stacks/show_command.rb +1 -1
- data/lib/kontena/cli/stacks/update_command.rb +1 -1
- data/lib/kontena/cli/vault/list_command.rb +1 -1
- data/lib/kontena/cli/vault/read_command.rb +1 -1
- data/lib/kontena/cli/vault/remove_command.rb +1 -1
- data/lib/kontena/cli/vault/update_command.rb +1 -1
- data/lib/kontena/cli/vault/write_command.rb +1 -1
- data/lib/kontena/cli/vault_command.rb +1 -1
- data/lib/kontena/cli/version.rb +1 -1
- data/lib/kontena/cli/version_command.rb +1 -1
- data/lib/kontena/cli/vpn/config_command.rb +1 -1
- data/lib/kontena/cli/vpn/create_command.rb +2 -4
- data/lib/kontena/cli/vpn/delete_command.rb +1 -1
- data/lib/kontena/cli/vpn/remove_command.rb +1 -1
- data/lib/kontena/cli/vpn_command.rb +1 -1
- data/lib/kontena/cli/whoami_command.rb +16 -13
- data/lib/kontena/client.rb +410 -90
- data/lib/kontena/command.rb +172 -0
- data/lib/kontena/main_command.rb +7 -8
- data/lib/kontena/presets/github_auth_provider.yml +11 -0
- data/lib/kontena/presets/kontena_auth_provider.yml +11 -0
- data/lib/kontena_cli.rb +51 -1
- data/spec/kontena/cli/app/deploy_command_spec.rb +14 -44
- data/spec/kontena/cli/app/scale_spec.rb +1 -1
- data/spec/kontena/cli/app/yaml/reader_spec.rb +0 -48
- data/spec/kontena/cli/common_spec.rb +63 -59
- data/spec/kontena/cli/grids/use_command_spec.rb +43 -0
- data/spec/kontena/cli/master/current_command_spec.rb +3 -24
- data/spec/kontena/cli/master/use_command_spec.rb +2 -27
- data/spec/kontena/cli/master/users/invite_command_spec.rb +4 -18
- data/spec/kontena/cli/master/users/roles/add_command_spec.rb +2 -16
- data/spec/kontena/cli/master/users/roles/remove_command_spec.rb +2 -13
- data/spec/kontena/cli/services/restart_command_spec.rb +1 -1
- data/spec/kontena/cli/services/update_command_spec.rb +5 -5
- data/spec/kontena/client_spec.rb +104 -35
- data/spec/kontena/config_spec.rb +65 -0
- data/spec/spec_helper.rb +25 -3
- data/spec/support/client_helpers.rb +10 -3
- data/spec/support/requirements_helper.rb +32 -0
- metadata +61 -48
- data/lib/kontena/cli/register_command.rb +0 -23
- data/lib/kontena/cli/user/forgot_password_command.rb +0 -16
- data/lib/kontena/cli/user/reset_password_command.rb +0 -23
- data/lib/kontena/cli/user/verify_command.rb +0 -20
- data/lib/kontena/cli/user_command.rb +0 -13
- data/spec/fixtures/kontena-malformed-yaml.yml +0 -6
- data/spec/fixtures/kontena-not-hash-service-config.yml +0 -3
- data/spec/kontena/cli/login_command_spec.rb +0 -32
- data/spec/kontena/cli/register_command_spec.rb +0 -57
@@ -1,31 +1,20 @@
|
|
1
1
|
module Kontena::Cli::Master
|
2
|
-
class UseCommand <
|
2
|
+
class UseCommand < Kontena::Command
|
3
3
|
include Kontena::Cli::Common
|
4
4
|
|
5
5
|
parameter "NAME", "Master name to use"
|
6
6
|
|
7
7
|
def execute
|
8
|
-
master =
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
puts "Using master: #{master['name'].cyan} (#{master['url']})"
|
13
|
-
puts "Using grid: #{current_grid.cyan}" if current_grid
|
14
|
-
|
15
|
-
grids = client(require_token).get('grids')['grids']
|
16
|
-
if grids.size > 1
|
17
|
-
puts ""
|
18
|
-
puts "You have access to following grids:"
|
19
|
-
puts ""
|
20
|
-
grids.each do |grid|
|
21
|
-
puts " * #{grid['name']}"
|
22
|
-
end
|
23
|
-
end
|
8
|
+
master = config.find_server(name)
|
9
|
+
if master.nil?
|
10
|
+
abort pastel.red("Could not resolve master by name '#{name}'.") +
|
11
|
+
"\nFor a list of known masters please run: kontena master list"
|
24
12
|
else
|
25
|
-
|
13
|
+
self.current_master = master['name']
|
14
|
+
puts "Using master: #{pastel.cyan(master['name'])} (#{master['url']})"
|
15
|
+
puts "Using grid: #{current_grid ? pastel.cyan(current_grid) : "<none>"}"
|
26
16
|
end
|
27
17
|
end
|
28
|
-
|
29
18
|
end
|
30
19
|
|
31
20
|
end
|
@@ -1,24 +1,51 @@
|
|
1
1
|
require_relative '../../common'
|
2
|
+
require_relative 'roles/add_command'
|
2
3
|
|
3
4
|
module Kontena::Cli::Master::Users
|
4
|
-
class InviteCommand <
|
5
|
+
class InviteCommand < Kontena::Command
|
5
6
|
include Kontena::Cli::Common
|
6
7
|
|
7
8
|
parameter "EMAIL ...", "List of emails"
|
8
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
|
+
option ['-r', '--roles'], '[ROLES]', 'Comma separated list of roles to assign to the invited users'
|
18
|
+
option ['-c', '--code'], :flag, 'Only output the invite code'
|
19
|
+
|
9
20
|
def execute
|
10
21
|
require_api_url
|
11
22
|
token = require_token
|
23
|
+
|
24
|
+
if self.roles
|
25
|
+
roles = self.roles.split(',')
|
26
|
+
else
|
27
|
+
roles = []
|
28
|
+
end
|
29
|
+
|
12
30
|
email_list.each do |email|
|
13
31
|
begin
|
14
|
-
data = { email: email }
|
15
|
-
response = client(token).post('
|
16
|
-
|
32
|
+
data = { email: email, response_type: 'invite' }
|
33
|
+
response = client(token).post('/oauth2/authorize', data)
|
34
|
+
if self.code?
|
35
|
+
puts response['invite_code']
|
36
|
+
else
|
37
|
+
puts "Invitation created for #{response['email']}".colorize(:green)
|
38
|
+
puts " * code: #{response['invite_code']}"
|
39
|
+
puts " * command: kontena master join #{current_master.url} #{response['invite_code']}"
|
40
|
+
end
|
41
|
+
roles.each do |role|
|
42
|
+
Kontena.run("master users role add #{role.shellescape} #{email.shellescape}")
|
43
|
+
end
|
17
44
|
rescue
|
18
45
|
puts "Failed to invite #{email}".colorize(:red)
|
19
|
-
puts
|
46
|
+
ENV["DEBUG"] && puts("#{$!} - #{$!.message} -- #{$!.backtrace}")
|
20
47
|
end
|
21
48
|
end
|
22
49
|
end
|
23
50
|
end
|
24
|
-
end
|
51
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative '../../common'
|
2
2
|
|
3
3
|
module Kontena::Cli::Master::Users
|
4
|
-
class ListCommand <
|
4
|
+
class ListCommand < Kontena::Command
|
5
5
|
include Kontena::Cli::Common
|
6
6
|
|
7
7
|
def execute
|
@@ -15,4 +15,4 @@ module Kontena::Cli::Master::Users
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
18
|
-
end
|
18
|
+
end
|
@@ -3,7 +3,7 @@ module Kontena::Cli::Master::Users
|
|
3
3
|
require_relative 'roles/add_command'
|
4
4
|
require_relative 'roles/remove_command'
|
5
5
|
|
6
|
-
class RoleCommand <
|
6
|
+
class RoleCommand < Kontena::Command
|
7
7
|
subcommand "add", "Add role to user", Roles::AddCommand
|
8
8
|
subcommand ["remove", "rm"], "Remove role from user", Roles::RemoveCommand
|
9
9
|
end
|
@@ -1,24 +1,26 @@
|
|
1
1
|
require_relative '../../../common'
|
2
2
|
|
3
|
-
module Kontena::Cli::Master::Users
|
4
|
-
|
5
|
-
|
3
|
+
module Kontena::Cli::Master::Users
|
4
|
+
module Roles
|
5
|
+
class AddCommand < Kontena::Command
|
6
|
+
include Kontena::Cli::Common
|
6
7
|
|
7
|
-
|
8
|
-
|
8
|
+
parameter "ROLE", "Role name"
|
9
|
+
parameter "USER ...", "List of users"
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
def execute
|
12
|
+
require_api_url
|
13
|
+
token = require_token
|
14
|
+
data = { role: role }
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
user_list.each do |email|
|
17
|
+
begin
|
18
|
+
response = client(token).post("users/#{email}/roles", data)
|
19
|
+
puts "Added role #{role} to #{email}"
|
20
|
+
rescue => exc
|
21
|
+
puts "Failed to add role #{role} to #{email}".colorize(:red)
|
22
|
+
puts exc.message
|
23
|
+
end
|
22
24
|
end
|
23
25
|
end
|
24
26
|
end
|
@@ -5,7 +5,7 @@ module Kontena::Cli::Master
|
|
5
5
|
require_relative 'users/list_command'
|
6
6
|
require_relative 'users/role_command'
|
7
7
|
|
8
|
-
class UsersCommand <
|
8
|
+
class UsersCommand < Kontena::Command
|
9
9
|
subcommand "invite", "Invite user to Kontena Master", Users::InviteCommand
|
10
10
|
subcommand ["remove", "rm"], "Remove user from Kontena Master", Users::RemoveCommand
|
11
11
|
subcommand ["list", "ls"], "List users", Users::ListCommand
|
@@ -1,14 +1,34 @@
|
|
1
|
+
require_relative '../main_command'
|
1
2
|
require_relative 'master/use_command'
|
2
3
|
require_relative 'master/list_command'
|
3
4
|
require_relative 'master/users_command'
|
4
5
|
require_relative 'master/current_command'
|
6
|
+
require_relative 'master/config_command'
|
7
|
+
require_relative 'master/login_command'
|
8
|
+
require_relative 'master/join_command'
|
9
|
+
require_relative 'master/audit_log_command'
|
5
10
|
|
6
|
-
|
11
|
+
if ENV["DEV"]
|
12
|
+
begin
|
13
|
+
require_relative 'master/create_command'
|
14
|
+
rescue LoadError
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
class Kontena::Cli::MasterCommand < Kontena::Command
|
7
19
|
|
8
20
|
subcommand ["list", "ls"], "List masters where client has logged in", Kontena::Cli::Master::ListCommand
|
21
|
+
subcommand ["config", "cfg"], "Configure master settings", Kontena::Cli::Master::ConfigCommand
|
9
22
|
subcommand "use", "Switch to use selected master", Kontena::Cli::Master::UseCommand
|
10
23
|
subcommand "users", "Users specific commands", Kontena::Cli::Master::UsersCommand
|
11
24
|
subcommand "current", "Show current master details", Kontena::Cli::Master::CurrentCommand
|
25
|
+
subcommand "login", "Authenticate to Kontena Master", Kontena::Cli::Master::LoginCommand
|
26
|
+
subcommand "join", "Join Kontena Master using an invitation code", Kontena::Cli::Master::JoinCommand
|
27
|
+
subcommand "audit-log", "Show master audit logs", Kontena::Cli::Master::AuditLogCommand
|
28
|
+
|
29
|
+
if ENV["DEV"]
|
30
|
+
subcommand "create", "Install a new Kontena Master", Kontena::Cli::Master::CreateCommand
|
31
|
+
end
|
12
32
|
|
13
33
|
def execute
|
14
34
|
end
|
@@ -5,7 +5,7 @@ require_relative 'nodes/update_command'
|
|
5
5
|
require_relative 'nodes/ssh_command'
|
6
6
|
require_relative 'nodes/label_command'
|
7
7
|
|
8
|
-
class Kontena::Cli::NodeCommand <
|
8
|
+
class Kontena::Cli::NodeCommand < Kontena::Command
|
9
9
|
|
10
10
|
subcommand ["list","ls"], "List grid nodes", Kontena::Cli::Nodes::ListCommand
|
11
11
|
subcommand "show", "Show node", Kontena::Cli::Nodes::ShowCommand
|
@@ -3,7 +3,7 @@ module Kontena::Cli::Nodes
|
|
3
3
|
require_relative 'labels/add_command'
|
4
4
|
require_relative 'labels/remove_command'
|
5
5
|
|
6
|
-
class LabelCommand <
|
6
|
+
class LabelCommand < Kontena::Command
|
7
7
|
|
8
8
|
subcommand "add", "Add label to node", Labels::AddCommand
|
9
9
|
subcommand ["remove", "rm"], "Remove label from node", Labels::RemoveCommand
|
@@ -3,7 +3,7 @@ require_relative 'plugins/search_command'
|
|
3
3
|
require_relative 'plugins/install_command'
|
4
4
|
require_relative 'plugins/uninstall_command'
|
5
5
|
|
6
|
-
class Kontena::Cli::PluginCommand <
|
6
|
+
class Kontena::Cli::PluginCommand < Kontena::Command
|
7
7
|
|
8
8
|
subcommand ["list","ls"], "List plugins", Kontena::Cli::Plugins::ListCommand
|
9
9
|
subcommand "search", "Search plugins", Kontena::Cli::Plugins::SearchCommand
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'open3'
|
2
2
|
|
3
3
|
module Kontena::Cli::Plugins
|
4
|
-
class InstallCommand <
|
4
|
+
class InstallCommand < Kontena::Command
|
5
5
|
include Kontena::Util
|
6
6
|
|
7
7
|
parameter 'NAME', 'Plugin name'
|
@@ -15,7 +15,7 @@ module Kontena::Cli::Plugins
|
|
15
15
|
gem_bin = which('gem')
|
16
16
|
install_command = "#{gem_bin} install --no-ri --no-doc #{plugin}"
|
17
17
|
success = false
|
18
|
-
|
18
|
+
spinner "Installing plugin #{name.colorize(:cyan)}" do
|
19
19
|
stdout, stderr, status = Open3.capture3(install_command)
|
20
20
|
unless stderr.empty?
|
21
21
|
raise stderr
|
@@ -1,6 +1,5 @@
|
|
1
|
-
|
2
1
|
module Kontena::Cli::Plugins
|
3
|
-
class ListCommand <
|
2
|
+
class ListCommand < Kontena::Command
|
4
3
|
|
5
4
|
def execute
|
6
5
|
titles = ['NAME', 'VERSION', 'DESCRIPTION']
|
@@ -9,5 +8,6 @@ module Kontena::Cli::Plugins
|
|
9
8
|
puts "%-40s %-10s %-40s" % [plugin.name, plugin.version, plugin.description]
|
10
9
|
end
|
11
10
|
end
|
11
|
+
|
12
12
|
end
|
13
13
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'open3'
|
2
2
|
|
3
3
|
module Kontena::Cli::Plugins
|
4
|
-
class UninstallCommand <
|
4
|
+
class UninstallCommand < Kontena::Command
|
5
5
|
include Kontena::Cli::Common
|
6
6
|
|
7
7
|
parameter 'NAME', 'Plugin name'
|
@@ -17,7 +17,7 @@ module Kontena::Cli::Plugins
|
|
17
17
|
gem_bin = `which gem`.strip
|
18
18
|
install_command = "#{gem_bin} install -q #{plugin}"
|
19
19
|
success = false
|
20
|
-
|
20
|
+
spinner "Uninstalling plugin #{name.colorize(:cyan)}" do
|
21
21
|
stdout, stderr, status = Open3.capture3(install_command)
|
22
22
|
unless stderr.empty?
|
23
23
|
raise stderr
|
@@ -1,7 +1,5 @@
|
|
1
|
-
require 'shell-spinner'
|
2
|
-
|
3
1
|
module Kontena::Cli::Registry
|
4
|
-
class CreateCommand <
|
2
|
+
class CreateCommand < Kontena::Command
|
5
3
|
include Kontena::Cli::Common
|
6
4
|
include Kontena::Cli::GridOptions
|
7
5
|
|
@@ -98,7 +96,7 @@ module Kontena::Cli::Registry
|
|
98
96
|
}
|
99
97
|
client(token).post("grids/#{current_grid}/services", data)
|
100
98
|
client(token).post("services/#{current_grid}/registry/deploy", {})
|
101
|
-
|
99
|
+
spinner "Deploying registry service " do
|
102
100
|
sleep 1 until client(token).get("services/#{current_grid}/registry")['state'] != 'deploying'
|
103
101
|
end
|
104
102
|
puts "\n"
|
@@ -2,7 +2,7 @@ require_relative 'registry/create_command'
|
|
2
2
|
require_relative 'registry/delete_command'
|
3
3
|
require_relative 'registry/remove_command'
|
4
4
|
|
5
|
-
class Kontena::Cli::RegistryCommand <
|
5
|
+
class Kontena::Cli::RegistryCommand < Kontena::Command
|
6
6
|
|
7
7
|
subcommand "create", "Create Docker image registry service", Kontena::Cli::Registry::CreateCommand
|
8
8
|
subcommand ["remove","rm"], "Remove Docker image registry service", Kontena::Cli::Registry::RemoveCommand
|
@@ -20,7 +20,7 @@ require_relative 'services/secret_command'
|
|
20
20
|
require_relative 'services/link_command'
|
21
21
|
require_relative 'services/unlink_command'
|
22
22
|
|
23
|
-
class Kontena::Cli::ServiceCommand <
|
23
|
+
class Kontena::Cli::ServiceCommand < Kontena::Command
|
24
24
|
|
25
25
|
subcommand ["list","ls"], "List services", Kontena::Cli::Services::ListCommand
|
26
26
|
subcommand "create", "Create a new service", Kontena::Cli::Services::CreateCommand
|