Class: Moose::Inventory::Operations::InventoryDoctor

Inherits:
Object
  • Object
show all
Defined in:
lib/moose_inventory/operations/inventory_doctor.rb

Overview

Runs read-only inventory health checks for humans and CI.

Constant Summary collapse

AUTOMATIC_GROUP =
'ungrouped'

Instance Method Summary collapse

Constructor Details

#initialize(context:, config: Moose::Inventory::Config) ⇒ InventoryDoctor

Returns a new instance of InventoryDoctor.



11
12
13
14
# File 'lib/moose_inventory/operations/inventory_doctor.rb', line 11

def initialize(context:, config: Moose::Inventory::Config)
  @context = context
  @config = config
end

Instance Method Details

#callObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/moose_inventory/operations/inventory_doctor.rb', line 16

def call
  issues = []
  issues.concat(check_database_config)
  issues.concat(check_plaintext_password_config)
  issues.concat(check_hosts_only_in_automatic_group)
  issues.concat(check_orphaned_groups)
  issues.concat(check_empty_groups)
  issues.concat(check_duplicateish_names)
  issues.concat(check_invalid_variables)
  issues.concat(check_group_cycles)

  {
    ok: issues.empty?,
    issue_count: issues.length,
    issues: issues
  }
end