class Appfront::Command::Deploys

Public Class Methods

add(args, opts) click to toggle source
# File lib/appfront/command/deploys.rb, line 21
def self.add(args, opts)
  spinner "Uploading Deploy YAML configuration to Jarvis..." do
    api.post "/flow.yaml", file: args[0]
  end
  puts "\n"
end
attach(args, opts) click to toggle source
# File lib/appfront/command/deploys.rb, line 13
def self.attach(args, opts)
  find_deploy! opts
  spinner "Attaching deploy to cluster..." do
    api.post "/cluster/#{args[0]}/attach", deploy: @deploy
  end
  puts "\n"
end
info(opts) click to toggle source
# File lib/appfront/command/deploys.rb, line 51
def self.info(opts)
  find_deploy! opts

  h = api.get "/flow/#{@deploy}"
  
  puts "=== Deploy: #{h['name']}"
  puts
  puts "\t Deploy uuid: #{h['uuid']}"
  puts "\t Status: #{h['status']} "
  puts "\t Running deploys: #{h['deploys']}"
  
  if h['domains']
    puts
    puts "=== Domains:"
    h['domains'].each do |domain|
      puts "\t #{domain['name']}"
    end
  end

  if h['cluster']
    puts
    puts "=== Cluster: "
    puts "\t name: #{h['cluster_name']}"
    puts "\t uuid: #{h['cluster']}"
    puts "\t dns address:\t#{h['cluster_dns']}"
  end

  if h['boxes']
    h['boxes'].each do |box|
      puts "\t box address:\t#{box['box']}"
    end
  end
  
  if h['routes'] and h['routes'] != ''
  puts "\n"
  puts "=== Internal Addressing:"

  
    h['routes'].each do |r|
      puts "\t Route: #{r['route'].split('-')[0]} -> #{r['route'].split('-')[1]}"
    end
  end
  
  puts "\n"    

end
ls() click to toggle source
# File lib/appfront/command/deploys.rb, line 98
def self.ls
  deploys = api.get "/flows"
  unless deploys.count == 0
    puts '=== Batches:'
    puts
    deploys.each do |deploy| 
      next if deploy['execution'] == 'persistent'
      chars = 30 - deploy['name'].chars.count
      output = "#{deploy['name']}"
      for i in 0..chars 
        output = output + ' '
      end
      output = output + "---> status: #{deploy['status']}"
      output = output + "\t Changed Status: ~ #{deploy['last_change']}h ago"
      puts output
      
    end
    puts
    puts '=== Services:'
    puts
    deploys.each do |deploy| 
      next if deploy['execution'] == 'volatile'
      chars = 30 - deploy['name'].chars.count
      output = "#{deploy['name']}"
      for i in 0..chars 
        output = output + ' '
      end
      output = output + "---> status: #{deploy['status']}"
      output = output + "\t Changed Status: ~ #{deploy['last_change']}h ago"
      puts output
    end
  else
    puts '=== You have no deploys.'
  end
  puts "\n"
end
rm(args, opts) click to toggle source
# File lib/appfront/command/deploys.rb, line 43
def self.rm(args, opts)
  find_deploy! opts
  spinner "Removing Deploy..." do
    api.delete "/flow/#{@deploy}"
  end
  puts "\n"
end
test(args, opts) click to toggle source
# File lib/appfront/command/deploys.rb, line 28
def self.test(args, opts) 
  spinner "Uploading Deploy YAML configuration to Jarvis..." do
    api.post "/flow2.yaml", file: args[0]
  end
  puts "\n"
end
update(args, opts) click to toggle source
# File lib/appfront/command/deploys.rb, line 36
def self.update(args, opts)
  spinner "Updating Deploy YAML configuration to Jarvis..." do
    api.put "/flow.yaml", file: args[0]
  end
  puts "\n"
end
yaml(opts) click to toggle source
# File lib/appfront/command/deploys.rb, line 3
def self.yaml(opts)
  find_deploy! opts
  spinner "Retrieving YAML configuration from Jarvis..." do
    @file = api.get "/flow/#{@deploy}/yaml"
  end
  puts "\nYAML file starts from here: \n\n"
  puts @file
  print "\n"
end