class GV::Valley::Addon

Addon Service

Constants

PORT

Attributes

cmd[R]
image[R]
params[R]

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/gv/valley/addon.rb, line 22
def initialize
  super
  
  pull_image_if_does_not_exists self.image
  
  @home = GV::Bedrock::Config.service.get("home")
  @name ||= File.basename(self.image) 
  
end

Public Instance Methods

create(app_name) click to toggle source
# File lib/gv/valley/addon.rb, line 32
def create app_name
  @app_name = app_name
  addon_name = "#{@name}.#{app_name}"
  return nil if ps? addon_name
  pipe "docker run --name #{addon_name} -d -p #{self.external_ip}::#{self.class::PORT} -e PORT=#{self.class::PORT} #{self.params} #{self.image} #{self.cmd}"
end
destroy(app_name) click to toggle source
# File lib/gv/valley/addon.rb, line 39
def destroy app_name
  @app_name = app_name
  addon_name = "#{@name}.#{app_name}"
  batch addon_name, "stop", true
  batch addon_name, "rm", true        
end
info(app_name) click to toggle source
# File lib/gv/valley/addon.rb, line 46
def info app_name
  @app_name = app_name
  addon_name = "#{@name}.#{app_name}"
  info(container_id(addon_name))
end
port(app_name) click to toggle source
# File lib/gv/valley/addon.rb, line 52
def port app_name
  @app_name = app_name
  addon_name = "#{@name}.#{app_name}"
  container_port addon_name, self.external_ip, self.class::PORT
end