Module: KubernetesHarness::Clusters::RequiredSoftware

Defined in:
lib/k8s_harness/clusters/required_software.rb

Overview

This module ensures that we have the software we need to run k8s-harness on the user’s machine.

Class Method Summary collapse

Class Method Details

.ensure_installed_or_exit!Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/k8s_harness/clusters/required_software.rb', line 19

def self.ensure_installed_or_exit!
  missing = []
  software.each do |app_data|
    name = app_data[:name]
    version_check = app_data[:version_check]
    KubernetesHarness.logger.debug("Checking that this is installed: #{name}")
    command_string = "sh -c '#{version_check}; exit $?'"
    command = KubernetesHarness::ShellCommand.new(command_string)
    command.execute!
    missing.push name unless command.success?
  end

  raise show_missing_software_message(missing) unless missing.empty?
end

.softwareObject



12
13
14
15
16
17
# File 'lib/k8s_harness/clusters/required_software.rb', line 12

def self.software
  YAML.safe_load(
    File.read(File.join(KubernetesHarness::Paths.conf_dir, 'required_software.yaml')),
    symbolize_names: true
  )
end