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.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.ci/ansible/roles/centos/tasks/main.yml +3 -2
  3. data/.ci/jenkins-execute-script.py +6 -4
  4. data/.gitignore +1 -0
  5. data/.rubocop.yml +13 -0
  6. data/.rubocop_todo.yml +55 -0
  7. data/CHANGELOG.md +22 -1
  8. data/CONTRIBUTING.adoc +6 -6
  9. data/Gemfile +12 -4
  10. data/README.adoc +104 -70
  11. data/Rakefile +235 -66
  12. data/features/box-command.feature +26 -1
  13. data/features/env-command.feature +20 -3
  14. data/features/help-command.feature +4 -1
  15. data/features/install-cli.feature +58 -0
  16. data/features/openshift.feature +2 -1
  17. data/features/service-operation.feature +76 -3
  18. data/features/support/env.rb +26 -10
  19. data/lib/vagrant-service-manager.rb +7 -2
  20. data/lib/vagrant-service-manager/action/setup_network.rb +0 -2
  21. data/lib/vagrant-service-manager/archive_handlers/tar_handler.rb +26 -0
  22. data/lib/vagrant-service-manager/archive_handlers/zip_handler.rb +25 -0
  23. data/lib/vagrant-service-manager/binary_handlers/adb_binary_handler.rb +55 -0
  24. data/lib/vagrant-service-manager/binary_handlers/adb_docker_binary_handler.rb +38 -0
  25. data/lib/vagrant-service-manager/binary_handlers/adb_openshift_binary_handler.rb +49 -0
  26. data/lib/vagrant-service-manager/binary_handlers/binary_handler.rb +119 -0
  27. data/lib/vagrant-service-manager/binary_handlers/cdk_binary_handler.rb +33 -0
  28. data/lib/vagrant-service-manager/binary_handlers/cdk_docker_binary_handler.rb +9 -0
  29. data/lib/vagrant-service-manager/binary_handlers/cdk_openshift_binary_handler.rb +9 -0
  30. data/lib/vagrant-service-manager/command.rb +90 -15
  31. data/lib/vagrant-service-manager/config.rb +8 -8
  32. data/lib/vagrant-service-manager/installer.rb +49 -0
  33. data/lib/vagrant-service-manager/plugin.rb +2 -2
  34. data/lib/vagrant-service-manager/plugin_logger.rb +2 -2
  35. data/lib/vagrant-service-manager/plugin_util.rb +29 -6
  36. data/lib/vagrant-service-manager/service.rb +4 -3
  37. data/lib/vagrant-service-manager/service_base.rb +11 -0
  38. data/lib/vagrant-service-manager/services/docker.rb +29 -29
  39. data/lib/vagrant-service-manager/services/kubernetes.rb +7 -7
  40. data/lib/vagrant-service-manager/services/open_shift.rb +42 -41
  41. data/lib/vagrant-service-manager/version.rb +1 -1
  42. data/locales/en.yml +42 -4
  43. data/plugins/guests/redhat/cap/machine_ip.rb +2 -1
  44. data/plugins/guests/redhat/plugin.rb +1 -1
  45. data/plugins/hosts/darwin/cap/os_arch.rb +11 -0
  46. data/plugins/hosts/darwin/plugin.rb +13 -0
  47. data/plugins/hosts/linux/cap/os_arch.rb +11 -0
  48. data/plugins/hosts/linux/plugin.rb +13 -0
  49. data/plugins/hosts/windows/cap/os_arch.rb +18 -0
  50. data/plugins/hosts/windows/plugin.rb +13 -0
  51. data/test/test_data/docker-1.10.0.tar.gz +0 -0
  52. data/test/test_data/docker-1.11.0.tgz +0 -0
  53. data/test/test_data/docker-1.9.1.zip +0 -0
  54. data/test/test_data/openshift-origin-client-tools-v1.2.0-2e62fab-linux-64bit.tar.gz +0 -0
  55. data/test/test_data/openshift-origin-client-tools-v1.2.0-2e62fab-linux-64bit.zip +0 -0
  56. data/test/test_data/openshift-origin-client-tools-v1.2.0-2e62fab-mac.zip +0 -0
  57. data/test/test_helper.rb +121 -0
  58. data/test/vagrant-service-manager/archive_handler_test.rb +49 -0
  59. data/test/vagrant-service-manager/binary_handlers/adb_docker_binary_handler_test.rb +111 -0
  60. data/test/vagrant-service-manager/binary_handlers/adb_openshift_binary_handler_test.rb +107 -0
  61. data/test/vagrant-service-manager/installer_test.rb +96 -0
  62. data/vagrant-service-manager.gemspec +4 -3
  63. metadata +43 -16
  64. data/TODO +0 -24
  65. data/Vagrantfile +0 -29
  66. data/lib/vagrant-service-manager/os.rb +0 -22
  67. 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 "service-manager"
9
- description "Service manager for services inside vagrant box."
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.set_logger(logger)
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 = "#{command}" if message.nil?
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 + "/*"].each do |f|
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 OS.unix?
106
+ label = if !Vagrant::Util::Platform.windows?
99
107
  'unix_configure_info'
100
- elsif OS.windows_cygwin?
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 OS.unix?
120
+ elsif !Vagrant::Util::Platform.windows?
113
121
  'non_windows'
114
- elsif OS.windows_cygwin?
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 = ['adb', 'cdk']
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) == "cdk" && @services.length == 0
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? "openshift"
29
+ elsif @services.include? 'openshift'
29
30
  # Start OpenShift service if it is configured in Vagrantfile
30
31
  @openshift_hook.execute
31
32
  end
@@ -0,0 +1,11 @@
1
+ module VagrantPlugins
2
+ module ServiceManager
3
+ class ServiceBase
4
+ def initialize(machine, _env)
5
+ @machine = machine
6
+ @env = machine.env
7
+ @ui = @env.ui
8
+ end
9
+ end
10
+ end
11
+ 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, ui)
9
- @machine = machine
10
- @ui = ui
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 self.status(machine, ui, service)
25
- PluginUtil.print_service_status(ui, machine, service)
24
+ def status
25
+ PluginUtil.print_service_status(@ui, @machine, @service_name)
26
26
  end
27
27
 
28
- def self.info(machine, ui, options = {})
29
- if PluginUtil.service_running?(machine, 'docker')
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
- docker_api_version_cmd = "docker version --format '{{.Server.APIVersion}}'"
40
- unless machine.communicate.test(docker_api_version_cmd)
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
- docker_api_version_cmd.gsub!(/APIVersion/, 'ApiVersion')
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
- name: 'Docker')
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
- def self.print_env_info(ui, options)
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
- options[:secrets_path] = PluginUtil.windows_path(options[:secrets_path]) unless OS.unix?
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 OS.windows?
69
+ message = puts(message) if Vagrant::Util::Platform.windows?
69
70
  ui.info(message)
70
- unless options[:script_readable] || options[:all]
71
- PluginUtil.print_shell_configure_info(ui, ' docker')
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, ui)
5
- @machine = machine
6
- @ui = ui
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 self.status(machine, ui, service)
14
- PluginUtil.print_service_status(ui, machine, service)
13
+ def status
14
+ PluginUtil.print_service_status(@ui, @machine, @service_name)
15
15
  end
16
16
 
17
- def self.info(machine, ui, options = {})
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
- OPENSHIFT_PORT = 8443
3
+ class OpenShift < ServiceBase
4
+ PORT = 8443
5
5
 
6
- def initialize(machine, ui)
7
- @machine = machine
8
- @ui = ui
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 self.status(machine, ui, service)
18
- PluginUtil.print_service_status(ui, machine, service)
17
+ def status
18
+ PluginUtil.print_service_status(@ui, @machine, @service_name)
19
19
  end
20
20
 
21
- def self.docker_registry_host(machine)
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)}:#{OPENSHIFT_PORT}"
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(machine)
41
- print_info(ui, options)
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
- name: 'OpenShift')
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
- def self.print_info(ui, options)
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
- unless options[:script_readable] || options[:all]
59
- PluginUtil.print_shell_configure_info(ui, ' openshift')
60
- end
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
- private
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
- def build_extra_command
66
- cmd = ''
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
- cmd.chop
74
+ url
74
75
  end
75
76
  end
76
77
  end
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module ServiceManager
3
- VERSION = "1.1.0"
3
+ VERSION = '1.2.0'.freeze
4
4
  end
5
5
  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 ommitted, display the information for all active services
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=#{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
- Unkown service '%{service}'.
199
+ Unknown service '%{service}'.
162
200
  Supported services are %{services}.