install

in chef/cookbooks/cpe_filebeat/resources/cpe_filebeat.rb [71:117]


  def install
    zip_info.reject { |_k, v| v.nil? }
    return if zip_info.nil? || zip_info.empty?

    
    unhealthy_count = filebeat_unhealthy_count
    reinstall_count = filebeat_reinstall_count
    repair = false

    filebeat_running? ? unhealthy_count = 0 : unhealthy_count += 1
    if unhealthy_count > unhealthy_limit
      unhealthy_count = 0
      reinstall_count += 1
      repair = true
    end

    
    cleanup if !current_version? || repair

    zip_name = value_for_platform_family(
      'mac_os_x' => "filebeat-#{zip_info['version']}-darwin-x86_64.zip",
      'debian' => "filebeat-#{zip_info['version']}-linux-x86_64.zip",
      'windows' => "filebeat-#{zip_info['version']}-windows-x86_64.zip",
      'default' => nil,
    )
    
    create_filebeat_directory
    
    cpe_remote_zip 'filebeat_zip' do
      zip_name zip_name
      zip_checksum zip_info['checksum']
      folder_name 'filebeat'
      extract_location filebeat_dir
    end
    
    file filebeat_bin do
      mode '0755'
      owner root_owner
      group node['root_group']
      only_if { macos? }
      only_if { !unix_binary? }
    end

    
    set_filebeat_health_history(unhealthy_count, reinstall_count)
  end