vagrant-service-manager 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ci/ansible/roles/centos/tasks/main.yml +3 -2
- data/.ci/jenkins-execute-script.py +6 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +13 -0
- data/.rubocop_todo.yml +55 -0
- data/CHANGELOG.md +22 -1
- data/CONTRIBUTING.adoc +6 -6
- data/Gemfile +12 -4
- data/README.adoc +104 -70
- data/Rakefile +235 -66
- data/features/box-command.feature +26 -1
- data/features/env-command.feature +20 -3
- data/features/help-command.feature +4 -1
- data/features/install-cli.feature +58 -0
- data/features/openshift.feature +2 -1
- data/features/service-operation.feature +76 -3
- data/features/support/env.rb +26 -10
- data/lib/vagrant-service-manager.rb +7 -2
- data/lib/vagrant-service-manager/action/setup_network.rb +0 -2
- data/lib/vagrant-service-manager/archive_handlers/tar_handler.rb +26 -0
- data/lib/vagrant-service-manager/archive_handlers/zip_handler.rb +25 -0
- data/lib/vagrant-service-manager/binary_handlers/adb_binary_handler.rb +55 -0
- data/lib/vagrant-service-manager/binary_handlers/adb_docker_binary_handler.rb +38 -0
- data/lib/vagrant-service-manager/binary_handlers/adb_openshift_binary_handler.rb +49 -0
- data/lib/vagrant-service-manager/binary_handlers/binary_handler.rb +119 -0
- data/lib/vagrant-service-manager/binary_handlers/cdk_binary_handler.rb +33 -0
- data/lib/vagrant-service-manager/binary_handlers/cdk_docker_binary_handler.rb +9 -0
- data/lib/vagrant-service-manager/binary_handlers/cdk_openshift_binary_handler.rb +9 -0
- data/lib/vagrant-service-manager/command.rb +90 -15
- data/lib/vagrant-service-manager/config.rb +8 -8
- data/lib/vagrant-service-manager/installer.rb +49 -0
- data/lib/vagrant-service-manager/plugin.rb +2 -2
- data/lib/vagrant-service-manager/plugin_logger.rb +2 -2
- data/lib/vagrant-service-manager/plugin_util.rb +29 -6
- data/lib/vagrant-service-manager/service.rb +4 -3
- data/lib/vagrant-service-manager/service_base.rb +11 -0
- data/lib/vagrant-service-manager/services/docker.rb +29 -29
- data/lib/vagrant-service-manager/services/kubernetes.rb +7 -7
- data/lib/vagrant-service-manager/services/open_shift.rb +42 -41
- data/lib/vagrant-service-manager/version.rb +1 -1
- data/locales/en.yml +42 -4
- data/plugins/guests/redhat/cap/machine_ip.rb +2 -1
- data/plugins/guests/redhat/plugin.rb +1 -1
- data/plugins/hosts/darwin/cap/os_arch.rb +11 -0
- data/plugins/hosts/darwin/plugin.rb +13 -0
- data/plugins/hosts/linux/cap/os_arch.rb +11 -0
- data/plugins/hosts/linux/plugin.rb +13 -0
- data/plugins/hosts/windows/cap/os_arch.rb +18 -0
- data/plugins/hosts/windows/plugin.rb +13 -0
- data/test/test_data/docker-1.10.0.tar.gz +0 -0
- data/test/test_data/docker-1.11.0.tgz +0 -0
- data/test/test_data/docker-1.9.1.zip +0 -0
- data/test/test_data/openshift-origin-client-tools-v1.2.0-2e62fab-linux-64bit.tar.gz +0 -0
- data/test/test_data/openshift-origin-client-tools-v1.2.0-2e62fab-linux-64bit.zip +0 -0
- data/test/test_data/openshift-origin-client-tools-v1.2.0-2e62fab-mac.zip +0 -0
- data/test/test_helper.rb +121 -0
- data/test/vagrant-service-manager/archive_handler_test.rb +49 -0
- data/test/vagrant-service-manager/binary_handlers/adb_docker_binary_handler_test.rb +111 -0
- data/test/vagrant-service-manager/binary_handlers/adb_openshift_binary_handler_test.rb +107 -0
- data/test/vagrant-service-manager/installer_test.rb +96 -0
- data/vagrant-service-manager.gemspec +4 -3
- metadata +43 -16
- data/TODO +0 -24
- data/Vagrantfile +0 -29
- data/lib/vagrant-service-manager/os.rb +0 -22
- data/vagrant-service-manager.spec +0 -215
@@ -0,0 +1,49 @@
|
|
1
|
+
module VagrantPlugins
|
2
|
+
module ServiceManager
|
3
|
+
class Installer
|
4
|
+
def initialize(type, machine, env, options)
|
5
|
+
@type = type
|
6
|
+
@machine = machine
|
7
|
+
@env = env
|
8
|
+
@box_version = options.delete(:box_version)
|
9
|
+
|
10
|
+
validate_prerequisites
|
11
|
+
binary_handler_class = Object.const_get(handler_class)
|
12
|
+
@binary_handler = binary_handler_class.new(machine, env, { type: @type }.merge(options))
|
13
|
+
end
|
14
|
+
|
15
|
+
def handler_class
|
16
|
+
"#{ServiceManager.name}::#{@box_version.upcase}#{@type.capitalize}BinaryHandler"
|
17
|
+
end
|
18
|
+
|
19
|
+
def install
|
20
|
+
unless PluginUtil.binary_downloaded?(@binary_handler.path)
|
21
|
+
@binary_handler.binary_exists = false
|
22
|
+
@binary_handler.install
|
23
|
+
end
|
24
|
+
|
25
|
+
@binary_handler.print_message
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def validate_prerequisites
|
31
|
+
if @box_version == 'cdk'
|
32
|
+
@env.ui.info I18n.t('servicemanager.commands.install_cli.unsupported_box')
|
33
|
+
exit 126
|
34
|
+
end
|
35
|
+
|
36
|
+
if @type == :kubernetes
|
37
|
+
@env.ui.info I18n.t('servicemanager.commands.install_cli.kube_not_supported')
|
38
|
+
exit 126
|
39
|
+
end
|
40
|
+
|
41
|
+
unless PluginUtil.service_running?(@machine, @type.to_s)
|
42
|
+
@env.ui.info I18n.t('servicemanager.commands.install_cli.service_not_enabled',
|
43
|
+
service: @type)
|
44
|
+
exit 126
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -5,8 +5,8 @@ require_relative 'service'
|
|
5
5
|
module VagrantPlugins
|
6
6
|
module ServiceManager
|
7
7
|
class Plugin < Vagrant.plugin('2')
|
8
|
-
name
|
9
|
-
description
|
8
|
+
name 'service-manager'
|
9
|
+
description 'Service manager for services inside vagrant box.'
|
10
10
|
|
11
11
|
command 'service-manager' do
|
12
12
|
require_relative 'command'
|
@@ -14,7 +14,7 @@ module VagrantPlugins
|
|
14
14
|
@debug = true
|
15
15
|
end
|
16
16
|
|
17
|
-
def self.
|
17
|
+
def self.logger=(logger)
|
18
18
|
@logger = logger
|
19
19
|
end
|
20
20
|
|
@@ -24,7 +24,7 @@ module VagrantPlugins
|
|
24
24
|
|
25
25
|
def self.debug(message = nil)
|
26
26
|
if debug_mode?
|
27
|
-
message =
|
27
|
+
message = command.to_s if message.nil?
|
28
28
|
logger.debug "[ service-manager: #{message} ]"
|
29
29
|
end
|
30
30
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module VagrantPlugins
|
2
2
|
module ServiceManager
|
3
3
|
module PluginUtil
|
4
|
-
|
5
4
|
def self.service_class(service)
|
6
5
|
SERVICES_MAP[service]
|
7
6
|
end
|
@@ -35,7 +34,7 @@ module VagrantPlugins
|
|
35
34
|
return false if Dir["#{path}/*"].empty?
|
36
35
|
|
37
36
|
# check validity of certs
|
38
|
-
Dir[path +
|
37
|
+
Dir[path + '/*'].each do |f|
|
39
38
|
guest_file_path = "#{DOCKER_PATH}/#{File.basename(f)}"
|
40
39
|
guest_sha = machine.guest.capability(:sha_id, guest_file_path)
|
41
40
|
return false if sha_id(File.read(f)) != guest_sha
|
@@ -94,10 +93,19 @@ module VagrantPlugins
|
|
94
93
|
ui.error e.message.squeeze
|
95
94
|
end
|
96
95
|
|
96
|
+
def self.execute_once(machine, ui, command)
|
97
|
+
machine.communicate.sudo(command) do |_, data|
|
98
|
+
PluginLogger.debug
|
99
|
+
return data.chomp
|
100
|
+
end
|
101
|
+
rescue StandardError => e
|
102
|
+
ui.error e.message.squeeze
|
103
|
+
end
|
104
|
+
|
97
105
|
def self.print_shell_configure_info(ui, command = '')
|
98
|
-
label = if
|
106
|
+
label = if !Vagrant::Util::Platform.windows?
|
99
107
|
'unix_configure_info'
|
100
|
-
elsif
|
108
|
+
elsif Vagrant::Util::Platform.cygwin?
|
101
109
|
'windows_cygwin_configure_info'
|
102
110
|
end
|
103
111
|
|
@@ -109,14 +117,29 @@ module VagrantPlugins
|
|
109
117
|
def self.env_label(script_readable)
|
110
118
|
if script_readable
|
111
119
|
'script_readable'
|
112
|
-
elsif
|
120
|
+
elsif !Vagrant::Util::Platform.windows?
|
113
121
|
'non_windows'
|
114
|
-
elsif
|
122
|
+
elsif Vagrant::Util::Platform.cygwin?
|
115
123
|
'windows_cygwin'
|
116
124
|
else
|
117
125
|
'windows'
|
118
126
|
end
|
119
127
|
end
|
128
|
+
|
129
|
+
def self.binary_downloaded?(path)
|
130
|
+
File.file?(path)
|
131
|
+
end
|
132
|
+
|
133
|
+
def self.format_path(path)
|
134
|
+
if Vagrant::Util::Platform.cygwin?
|
135
|
+
path[0..1] = '' # Remove drive letter and colon from path
|
136
|
+
"/cygdrive/c#{path}"
|
137
|
+
elsif Vagrant::Util::Platform.windows?
|
138
|
+
windows_path(path).chop
|
139
|
+
else
|
140
|
+
path
|
141
|
+
end
|
142
|
+
end
|
120
143
|
end
|
121
144
|
end
|
122
145
|
end
|
@@ -1,9 +1,10 @@
|
|
1
|
+
require_relative 'service_base'
|
1
2
|
# Loads all services
|
2
3
|
Dir["#{File.dirname(__FILE__)}/services/*.rb"].each { |f| require_relative f }
|
3
4
|
|
4
5
|
module VagrantPlugins
|
5
6
|
module ServiceManager
|
6
|
-
SUPPORTED_BOXES =
|
7
|
+
SUPPORTED_BOXES = %w(adb cdk).freeze
|
7
8
|
|
8
9
|
class Service
|
9
10
|
def initialize(app, env)
|
@@ -22,10 +23,10 @@ module VagrantPlugins
|
|
22
23
|
# docker service needs to be started by default for ADB and CDK box
|
23
24
|
@docker_hook.execute
|
24
25
|
|
25
|
-
if @machine.guest.capability(:os_variant) ==
|
26
|
+
if @machine.guest.capability(:os_variant) == 'cdk' && @services.empty?
|
26
27
|
# openshift to be started by default for CDK
|
27
28
|
@openshift_hook.execute
|
28
|
-
elsif @services.include?
|
29
|
+
elsif @services.include? 'openshift'
|
29
30
|
# Start OpenShift service if it is configured in Vagrantfile
|
30
31
|
@openshift_hook.execute
|
31
32
|
end
|
@@ -1,13 +1,13 @@
|
|
1
1
|
module VagrantPlugins
|
2
2
|
module ServiceManager
|
3
|
-
class Docker
|
3
|
+
class Docker < ServiceBase
|
4
4
|
# Hard Code the Docker port because it is fixed on the VM
|
5
5
|
# This also makes it easier for the plugin to be cross-provider
|
6
6
|
PORT = 2376
|
7
7
|
|
8
|
-
def initialize(machine,
|
9
|
-
|
10
|
-
@
|
8
|
+
def initialize(machine, env)
|
9
|
+
super(machine, env)
|
10
|
+
@service_name = 'docker'
|
11
11
|
end
|
12
12
|
|
13
13
|
def execute
|
@@ -21,55 +21,55 @@ module VagrantPlugins
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
def
|
25
|
-
PluginUtil.print_service_status(ui, machine,
|
24
|
+
def status
|
25
|
+
PluginUtil.print_service_status(@ui, @machine, @service_name)
|
26
26
|
end
|
27
27
|
|
28
|
-
def
|
29
|
-
if PluginUtil.service_running?(machine,
|
30
|
-
options[:secrets_path] = PluginUtil.host_docker_path(machine)
|
31
|
-
options[:guest_ip] = PluginUtil.machine_ip(machine)
|
28
|
+
def info(options = {})
|
29
|
+
if PluginUtil.service_running?(@machine, @service_name)
|
30
|
+
options[:secrets_path] = PluginUtil.host_docker_path(@machine)
|
31
|
+
options[:guest_ip] = PluginUtil.machine_ip(@machine)
|
32
32
|
|
33
33
|
# Verify valid certs and copy if invalid
|
34
|
-
unless PluginUtil.certs_present_and_valid?(options[:secrets_path], machine)
|
34
|
+
unless PluginUtil.certs_present_and_valid?(options[:secrets_path], @machine)
|
35
35
|
# Log the message prefixed by #
|
36
|
-
PluginUtil.copy_certs_to_host(machine, options[:secrets_path], ui, true)
|
36
|
+
PluginUtil.copy_certs_to_host(@machine, options[:secrets_path], @ui, true)
|
37
37
|
end
|
38
38
|
|
39
|
-
|
40
|
-
unless machine.communicate.test(
|
39
|
+
api_version_cmd = "docker version --format '{{.Server.APIVersion}}'"
|
40
|
+
unless @machine.communicate.test(api_version_cmd)
|
41
41
|
# fix for issue #152: Fallback to older Docker version (< 1.9.1)
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
PluginLogger.debug
|
46
|
-
machine.communicate.execute(docker_api_version_cmd) do |type, data|
|
47
|
-
options[:api_version] = data.chomp if type == :stdout
|
42
|
+
api_version_cmd.gsub!(/APIVersion/, 'ApiVersion')
|
48
43
|
end
|
49
44
|
|
45
|
+
options[:api_version] = PluginUtil.execute_once(@machine, @ui, api_version_cmd)
|
50
46
|
# Display the information, irrespective of the copy operation
|
51
|
-
print_env_info(ui, options)
|
47
|
+
print_env_info(@ui, options)
|
52
48
|
else
|
53
|
-
ui.error I18n.t('servicemanager.commands.env.service_not_running',
|
54
|
-
|
49
|
+
@ui.error I18n.t('servicemanager.commands.env.service_not_running',
|
50
|
+
name: @service_name)
|
55
51
|
exit 126
|
56
52
|
end
|
57
53
|
end
|
58
54
|
|
59
|
-
|
55
|
+
private
|
56
|
+
|
57
|
+
def print_env_info(ui, options)
|
60
58
|
PluginLogger.debug("script_readable: #{options[:script_readable] || false}")
|
61
59
|
|
62
60
|
label = PluginUtil.env_label(options[:script_readable])
|
63
|
-
|
61
|
+
|
62
|
+
if Vagrant::Util::Platform.windows?
|
63
|
+
options[:secrets_path] = PluginUtil.windows_path(options[:secrets_path])
|
64
|
+
end
|
64
65
|
message = I18n.t("servicemanager.commands.env.docker.#{label}",
|
65
66
|
ip: options[:guest_ip], port: PORT, path: options[:secrets_path],
|
66
67
|
api_version: options[:api_version])
|
67
68
|
# Puts is used to escape and render the back slashes in Windows path
|
68
|
-
message = puts(message) if
|
69
|
+
message = puts(message) if Vagrant::Util::Platform.windows?
|
69
70
|
ui.info(message)
|
70
|
-
|
71
|
-
|
72
|
-
end
|
71
|
+
return if options[:script_readable] || options[:all]
|
72
|
+
PluginUtil.print_shell_configure_info(ui, ' docker')
|
73
73
|
end
|
74
74
|
end
|
75
75
|
end
|
@@ -1,20 +1,20 @@
|
|
1
1
|
module VagrantPlugins
|
2
2
|
module ServiceManager
|
3
|
-
class Kubernetes
|
4
|
-
def initialize(machine,
|
5
|
-
|
6
|
-
@
|
3
|
+
class Kubernetes < ServiceBase
|
4
|
+
def initialize(machine, env)
|
5
|
+
super(machine, env)
|
6
|
+
@service_name = 'kubernetes'
|
7
7
|
end
|
8
8
|
|
9
9
|
def execute
|
10
10
|
# TODO: Implement execute method
|
11
11
|
end
|
12
12
|
|
13
|
-
def
|
14
|
-
PluginUtil.print_service_status(ui, machine,
|
13
|
+
def status
|
14
|
+
PluginUtil.print_service_status(@ui, @machine, @service_name)
|
15
15
|
end
|
16
16
|
|
17
|
-
def
|
17
|
+
def info(options = {})
|
18
18
|
# TODO: Implement info method
|
19
19
|
end
|
20
20
|
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
module VagrantPlugins
|
2
2
|
module ServiceManager
|
3
|
-
class OpenShift
|
4
|
-
|
3
|
+
class OpenShift < ServiceBase
|
4
|
+
PORT = 8443
|
5
5
|
|
6
|
-
def initialize(machine,
|
7
|
-
|
8
|
-
@
|
6
|
+
def initialize(machine, env)
|
7
|
+
super(machine, env)
|
8
|
+
@service_name = 'openshift'
|
9
9
|
@extra_cmd = build_extra_command
|
10
10
|
end
|
11
11
|
|
@@ -14,39 +14,39 @@ module VagrantPlugins
|
|
14
14
|
PluginUtil.execute_and_exit_on_fail(@machine, @ui, command)
|
15
15
|
end
|
16
16
|
|
17
|
-
def
|
18
|
-
PluginUtil.print_service_status(ui, machine,
|
17
|
+
def status
|
18
|
+
PluginUtil.print_service_status(@ui, @machine, @service_name)
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
22
|
-
url = ''
|
23
|
-
PluginLogger.debug
|
24
|
-
command = \
|
25
|
-
"sudo oc --config=/var/lib/openshift/openshift.local." +
|
26
|
-
"config/master/admin.kubeconfig get route/docker-registry " +
|
27
|
-
"-o template --template={{.spec.host}}"
|
28
|
-
machine.communicate.execute(command) do |type, data|
|
29
|
-
url << data.chomp if type == :stdout
|
30
|
-
end
|
31
|
-
url
|
32
|
-
end
|
33
|
-
|
34
|
-
def self.info(machine, ui, options = {})
|
21
|
+
def info(options = {})
|
35
22
|
options[:script_readable] ||= false
|
36
23
|
|
37
|
-
if PluginUtil.service_running?(machine, 'openshift')
|
38
|
-
options[:url] = "https://#{PluginUtil.machine_ip(machine)}:#{
|
24
|
+
if PluginUtil.service_running?(@machine, 'openshift')
|
25
|
+
options[:url] = "https://#{PluginUtil.machine_ip(@machine)}:#{PORT}"
|
39
26
|
options[:console_url] = "#{options[:url]}/console"
|
40
|
-
options[:docker_registry] = docker_registry_host
|
41
|
-
print_info(
|
27
|
+
options[:docker_registry] = docker_registry_host
|
28
|
+
print_info(options)
|
42
29
|
else
|
43
|
-
ui.error I18n.t('servicemanager.commands.env.service_not_running',
|
44
|
-
|
30
|
+
@ui.error I18n.t('servicemanager.commands.env.service_not_running',
|
31
|
+
name: 'OpenShift')
|
45
32
|
exit 126
|
46
33
|
end
|
47
34
|
end
|
48
35
|
|
49
|
-
|
36
|
+
private
|
37
|
+
|
38
|
+
def build_extra_command
|
39
|
+
cmd = ''
|
40
|
+
CONFIG_KEYS.select { |e| e[/^openshift_/] }.each do |key|
|
41
|
+
unless @machine.config.servicemanager.send(key).nil?
|
42
|
+
env_name = key.to_s.gsub(/openshift_/, '').upcase
|
43
|
+
cmd += "#{env_name}='#{@machine.config.servicemanager.send(key)}' "
|
44
|
+
end
|
45
|
+
end
|
46
|
+
cmd.chop
|
47
|
+
end
|
48
|
+
|
49
|
+
def print_info(options)
|
50
50
|
PluginLogger.debug("script_readable: #{options[:script_readable] || false}")
|
51
51
|
|
52
52
|
label = PluginUtil.env_label(options[:script_readable])
|
@@ -54,23 +54,24 @@ module VagrantPlugins
|
|
54
54
|
openshift_url: options[:url],
|
55
55
|
openshift_console_url: options[:console_url],
|
56
56
|
docker_registry: options[:docker_registry])
|
57
|
-
ui.info(message)
|
58
|
-
|
59
|
-
|
60
|
-
|
57
|
+
@ui.info(message)
|
58
|
+
|
59
|
+
return if options[:script_readable] || options[:all]
|
60
|
+
PluginUtil.print_shell_configure_info(@ui, ' openshift')
|
61
61
|
end
|
62
62
|
|
63
|
-
|
63
|
+
def docker_registry_host
|
64
|
+
url = ''
|
65
|
+
PluginLogger.debug
|
66
|
+
command = \
|
67
|
+
'sudo oc --config=/var/lib/openshift/openshift.local.' \
|
68
|
+
'config/master/admin.kubeconfig get route/docker-registry ' \
|
69
|
+
'-o template --template={{.spec.host}}'
|
64
70
|
|
65
|
-
|
66
|
-
|
67
|
-
CONFIG_KEYS.select {|e| e[/^openshift_/] }.each do |key|
|
68
|
-
unless @machine.config.servicemanager.send(key).nil?
|
69
|
-
env_name = key.to_s.gsub(/openshift_/,'').upcase
|
70
|
-
cmd += "#{env_name}='#{@machine.config.servicemanager.send(key)}' "
|
71
|
-
end
|
71
|
+
@machine.communicate.execute(command) do |type, data|
|
72
|
+
url << data.chomp if type == :stdout
|
72
73
|
end
|
73
|
-
|
74
|
+
url
|
74
75
|
end
|
75
76
|
end
|
76
77
|
end
|
data/locales/en.yml
CHANGED
@@ -1,4 +1,10 @@
|
|
1
1
|
en:
|
2
|
+
vagrant:
|
3
|
+
errors:
|
4
|
+
url_validation_error: |-
|
5
|
+
Download URL is not accessible.
|
6
|
+
Possible reason: Invalid version name
|
7
|
+
|
2
8
|
servicemanager:
|
3
9
|
synopsis: |-
|
4
10
|
provides the IP address:port and tls certificate file location for a docker daemon
|
@@ -28,6 +34,7 @@ en:
|
|
28
34
|
start starts the given service in the box
|
29
35
|
stop stops the given service in the box
|
30
36
|
status list services and their running state
|
37
|
+
install-cli install the client binary for the specified service
|
31
38
|
|
32
39
|
Options:
|
33
40
|
-h, --help print this help
|
@@ -40,7 +47,7 @@ en:
|
|
40
47
|
docker display information and environment variables for docker
|
41
48
|
openshift display information and environment variables for openshift
|
42
49
|
|
43
|
-
If OBJECT is
|
50
|
+
If OBJECT is omitted, display the information for all active services
|
44
51
|
|
45
52
|
Options:
|
46
53
|
--script-readable display information in a script readable format.
|
@@ -58,8 +65,9 @@ en:
|
|
58
65
|
|
59
66
|
Examples:
|
60
67
|
vagrant service-manager box version
|
61
|
-
vagrant service-manager box ip
|
62
68
|
vagrant service-manager box version --script-readable
|
69
|
+
vagrant service-manager box ip
|
70
|
+
vagrant service-manager box ip --script-readable
|
63
71
|
status: |-
|
64
72
|
Usage: vagrant service-manager status [service] [options]
|
65
73
|
|
@@ -85,6 +93,19 @@ en:
|
|
85
93
|
|
86
94
|
Examples:
|
87
95
|
vagrant service-manager %{operation} docker
|
96
|
+
install_cli: |-
|
97
|
+
Install the client binary for the specified service
|
98
|
+
|
99
|
+
Usage: vagrant service-manager install-cli [service] [options]
|
100
|
+
|
101
|
+
Service:
|
102
|
+
A supported service. For example: docker, kubernetes or openshift.
|
103
|
+
|
104
|
+
Options:
|
105
|
+
-h, --help print this help
|
106
|
+
|
107
|
+
Example:
|
108
|
+
vagrant service-manager install-cli docker
|
88
109
|
|
89
110
|
env:
|
90
111
|
docker:
|
@@ -94,7 +115,7 @@ en:
|
|
94
115
|
setx DOCKER_HOST tcp://%{ip}:%{port}
|
95
116
|
setx DOCKER_CERT_PATH %{path}
|
96
117
|
setx DOCKER_TLS_VERIFY 1
|
97
|
-
setx DOCKER_API_VERSION
|
118
|
+
setx DOCKER_API_VERSION %{api_version}
|
98
119
|
non_windows: |-
|
99
120
|
# Set the following environment variables to enable access to the
|
100
121
|
# docker daemon running inside of the vagrant virtual machine:
|
@@ -151,6 +172,23 @@ en:
|
|
151
172
|
Only sccli services are supported. For example:
|
152
173
|
docker, openshift and kubernetes
|
153
174
|
|
175
|
+
install_cli:
|
176
|
+
message: |-
|
177
|
+
# Binary %{when} available at %{path}
|
178
|
+
# run binary as:
|
179
|
+
# %{binary} <command>
|
180
|
+
export PATH=%{dir}:$PATH
|
181
|
+
|
182
|
+
# run following command to configure your shell:
|
183
|
+
# eval "$(VAGRANT_NO_COLOR=1 vagrant service-manager install-cli %{service} | tr -d '\r')"
|
184
|
+
unsupported_box: |-
|
185
|
+
The CDK does not support client binary installs via the 'install-cli' command.
|
186
|
+
Please visit access.redhat.com to download client binaries.
|
187
|
+
service_not_enabled: |-
|
188
|
+
'%{service}' service is not enabled.
|
189
|
+
kube_not_supported: |-
|
190
|
+
Installation of Kubernetes client library via the install-cli command is not supported yet.
|
191
|
+
|
154
192
|
status:
|
155
193
|
nil: |-
|
156
194
|
Configured services:
|
@@ -158,5 +196,5 @@ en:
|
|
158
196
|
running: running
|
159
197
|
stopped: stopped
|
160
198
|
unsupported_service: |-
|
161
|
-
|
199
|
+
Unknown service '%{service}'.
|
162
200
|
Supported services are %{services}.
|