fetch_all_dependencies

in mirror_dependencies.rb [52:81]


def fetch_all_dependencies
  found = []
  puts "Fetching requirements '#{REQUIREMENTS_URL}"
  requirements = YAML.safe_load(download_requirements)

  remotes = requirements['dependencies'].filter { |i| i['repository'] }

  remotes.each do |remote|
    puts "Fetching index from #{remote['repository']}"
    index = YAML.safe_load(download_index(repository: remote['repository']))
    chart = index['entries'][remote['name']]
    puts "-- Looking up #{remote['name']} @ #{remote['version']}"
    version = chart.select do |v|
      chart_verison = SemVer.parse(v['version'])
      remote_version = SemVer.parse(remote['version'])

      chart_verison == remote_version
    end

    next unless version.length

    found.append version[0]
    fetch_tarball(
      repository: remote['repository'],
      tarball_url: version[0]['urls'][0],
      digest: version[0]['digest']
    )
  end
end