Class: KuberKit::Actions::ServiceChecker

Inherits:
Object
  • Object
show all
Defined in:
lib/kuber_kit/actions/service_checker.rb

Instance Method Summary collapse

Instance Method Details

#call(options) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/kuber_kit/actions/service_checker.rb', line 10

def call(options)
  services = service_store.all_definitions.values.map(&:service_name).map(&:to_s)

  enabled_services  = KuberKit.current_configuration.enabled_services.map(&:to_s)
  if enabled_services.any?
    services = services.select{ |s| enabled_services.include?(s) }
  end

  disabled_services  = KuberKit.current_configuration.disabled_services.map(&:to_s)
  if disabled_services.any?
    services = services.select{ |s| !disabled_services.include?(s) }
  end

  resources = resources_fetcher.call("deployments") + resources_fetcher.call("cronjobs")

  missing_services = services.select{ |s| !resources.include?(s.gsub("_", "-")) }

  ui.print_warning("Warning", "This command will only check services deployed using k8s")

  ui.print_info("Missing", missing_services.inspect)

  {}
rescue KuberKit::Error => e
  ui.print_error("Error", e.message)

  false
end