vagrant-service-manager 1.1.0 → 1.2.0
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 +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}.
|