falconctl_healthy?

in chef/cookbooks/cpe_crowdstrike_falcon_sensor/resources/cpe_crowdstrike_falcon_sensor.rb [582:606]


  def falconctl_healthy?(falconctl_path = falcon_agent_prefs['falconctl_path'])
    status = false
    if macos?
      if node.catalina? || node.mojave?
        cmd = shell_out("#{falconctl_path} stats")
        status = cmd.nil? ? false : cmd.exitstatus.zero?
      else
        cmd = shell_out("#{falconctl_path} stats agent_info --plist").stdout
        if cmd.nil? || cmd.empty?
          return false
        else
          cmd_plist = Plist.parse_xml(cmd)
        end
        if cmd_plist.nil? || cmd_plist.empty?
          return false
        else
          sensor_operational = cmd_plist['agent_info']['sensor_operational']
        end

        status = sensor_operational.nil? ? false : sensor_operational.downcase == 'true'
      end
    end
    status
  end