Method: Wildcloud::Keeper::Runtime#instance

Defined in:
lib/wildcloud/keeper/runtime.rb

#instance(id, message) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/wildcloud/keeper/runtime.rb', line 82

def instance(id, message)
  unless @repository[id]
    @repository[id] = {:isolator => Isolators::Lxc.new, :deployer => Deployers::Aufs.new}
    @repository[id][:options] = {
        :id => "instance_#{message['id']}",
        :appid => message['appid'],
        :base_image => message['image'],
        :persistent => message['persistent'],
        :ip_address => message['ip_address'],
        :memory => message['memory'],
        :swap => message['swap'],
        :cpus => message['cpus'],
        :cpu_share => message['cpu_share']
    }
    if message['type'] == 'build'
      @repository[id][:options].merge!({
          :id => "build_#{message['id']}",
          :persistent => true,
          :build => true,
          :repository => message['repository'],
          :revision => message['revision']
      })
    end
  end
  @repository[id]
end