Class: ConsulBridge::DownloadMasters

Inherits:
Object
  • Object
show all
Includes:
Metaractor
Defined in:
lib/consul_bridge/download_masters.rb

Instance Method Summary collapse

Instance Method Details

#callObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/consul_bridge/download_masters.rb', line 11

def call
  puts "Downloading master ips from bucket #{bucket_name}"

  master_ips = []

  bucket = nil
  if ENV['FOG_LOCAL']
    puts 'Using fog local storage'
    storage = Fog::Storage.new provider: 'Local', local_root: '/fog'
    bucket = storage.directories.create(key: bucket_name)
  else
    storage = Fog::Storage.new provider: 'AWS', use_iam_profile: true
    bucket = storage.directories.get(bucket_name)
  end

  bucket.files.each do |file|
    master_ips << [file.last_modified, file.key]
  end
  master_ips = master_ips.sort.reverse.collect { |file| file[1] }

  context.master_ips = master_ips
end