Module: Kontena
- Defined in:
- lib/kontena_cli.rb,
lib/kontena/util.rb,
lib/kontena/client.rb,
lib/kontena/errors.rb,
lib/kontena/cli/common.rb,
lib/kontena/cli/config.rb,
lib/kontena/cli/spinner.rb,
lib/kontena/cli/version.rb,
lib/kontena/light_prompt.rb,
lib/kontena/stacks_cache.rb,
lib/kontena/stacks_client.rb,
lib/kontena/machine/common.rb,
lib/kontena/plugin_manager.rb,
lib/kontena/cli/bytes_helper.rb,
lib/kontena/cli/grid_options.rb,
lib/kontena/debug_instrumentor.rb,
lib/kontena/machine/cert_helper.rb,
lib/kontena/machine/random_name.rb,
lib/kontena/cli/localhost_web_server.rb,
lib/kontena/cli/master/config_command.rb,
lib/kontena/cli/services/services_helper.rb,
lib/kontena/machine/cloud_config/node_generator.rb,
lib/kontena/callbacks/master/deploy/90_proptip_after_deploy.rb,
lib/kontena/callbacks/master/deploy/04_default_master_version.rb,
lib/kontena/callbacks/master/deploy/01_show_logo_before_deploy.rb,
lib/kontena/callbacks/master/deploy/70_invite_self_after_deploy.rb,
lib/kontena/callbacks/master/deploy/50_authenticate_after_deploy.rb,
lib/kontena/callbacks/auth/01_list_and_select_grid_after_master_auth.rb,
lib/kontena/callbacks/master/01_clear_current_master_after_terminate.rb,
lib/kontena/callbacks/master/deploy/55_create_initial_grid_after_deploy.rb,
lib/kontena/callbacks/master/deploy/56_set_server_provider_after_deploy.rb,
lib/kontena/callbacks/master/deploy/05_before_deploy_configuration_wizard.rb,
lib/kontena/callbacks/master/deploy/40_install_ssl_certificate_after_deploy.rb,
lib/kontena/callbacks/master/deploy/60_configure_auth_provider_after_deploy.rb
Defined Under Namespace
Modules: Callbacks, Cli, Errors, Machine, Util
Classes: Callback, Client, Command, DebugInstrumentor, LightPrompt, LocalhostWebServer, MainCommand, PluginManager, StacksCache, StacksClient
Class Method Summary
collapse
Class Method Details
.browserless? ⇒ Boolean
44
45
46
|
# File 'lib/kontena_cli.rb', line 44
def self.browserless?
!!(RUBY_PLATFORM =~ /linux|(?:free|net|open)bsd|solaris|aix|hpux/ && ENV['DISPLAY'].to_s.empty?)
end
|
.cli_root(*joinables) ⇒ Object
83
84
85
86
87
88
89
|
# File 'lib/kontena_cli.rb', line 83
def self.cli_root(*joinables)
if joinables.empty?
File.join(Kontena.root, 'lib/kontena/cli')
else
File.join(Kontena.root, 'lib/kontena/cli', *joinables)
end
end
|
.minor_version ⇒ String
32
33
34
|
# File 'lib/kontena_cli.rb', line 32
def self.minor_version
Kontena::Cli::VERSION.split('.')[0..1].join('.')
end
|
.on_windows? ⇒ Boolean
40
41
42
|
# File 'lib/kontena_cli.rb', line 40
def self.on_windows?
ENV['OS'] == 'Windows_NT' && RUBY_PLATFORM !~ /cygwin/
end
|
.pastel ⇒ Object
52
53
54
|
# File 'lib/kontena_cli.rb', line 52
def self.pastel
@pastel ||= Pastel.new(enabled: !simple_terminal?)
end
|
.prompt ⇒ Object
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'lib/kontena_cli.rb', line 56
def self.prompt
return @prompt if @prompt
if simple_terminal?
require_relative 'kontena/light_prompt'
klass = Kontena::LightPrompt
else
require 'tty-prompt'
klass = TTY::Prompt
end
@prompt = klass.new(
active_color: :cyan,
help_color: :white,
error_color: :red,
interrupt: :exit,
prefix: pastel.green('> ')
)
end
|
.reset_prompt ⇒ Object
75
76
77
|
# File 'lib/kontena_cli.rb', line 75
def self.reset_prompt
@prompt = nil
end
|
.root ⇒ Object
79
80
81
|
# File 'lib/kontena_cli.rb', line 79
def self.root
File.dirname(__dir__)
end
|
.run(*cmdline, returning: :status) ⇒ Fixnum
Run a kontena command like it was launched from the command line.
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/kontena_cli.rb', line 9
def self.run(*cmdline, returning: :status)
if cmdline.first.kind_of?(Array)
command = cmdline.first
elsif cmdline.size == 1 && cmdline.first.include?(' ')
command = cmdline.first.shellsplit
else
command = cmdline
end
ENV["DEBUG"] && puts("Running Kontena.run(#{command.inspect}, returning: #{returning}")
result = Kontena::MainCommand.new(File.basename(__FILE__)).run(command)
ENV["DEBUG"] && puts("Command completed, result: #{result.inspect} status: 0")
return 0 if returning == :status
return result if returning == :result
rescue SystemExit => ex
ENV["DEBUG"] && $stderr.puts("Command completed with failure, result: #{result.inspect} status: #{ex.status}")
returning == :status ? $!.status : nil
rescue => ex
ENV["DEBUG"] && $stderr.puts("Command raised #{ex} with message: #{ex.message}\n#{ex.backtrace.join("\n ")}")
returning == :status ? 1 : nil
end
|
.simple_terminal? ⇒ Boolean
48
49
50
|
# File 'lib/kontena_cli.rb', line 48
def self.simple_terminal?
ENV['KONTENA_SIMPLE_TERM'] || !$stdout.tty?
end
|
.version ⇒ Object
36
37
38
|
# File 'lib/kontena_cli.rb', line 36
def self.version
"kontena-cli/#{Kontena::Cli::VERSION}"
end
|