Class: Docker::Service

Inherits:
Object
  • Object
show all
Includes:
Base
Defined in:
lib/scaltainer/orchestrators/swarm.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.all(opts = {}, conn = Docker.connection) ⇒ Object



33
34
35
36
# File 'lib/scaltainer/orchestrators/swarm.rb', line 33

def self.all(opts = {}, conn = Docker.connection)
  hashes = Docker::Util.parse_json(conn.get('/services', opts)) || []
  hashes.map { |hash| new(conn, hash) }
end

Instance Method Details

#scale(replicas) ⇒ Object



43
44
45
46
47
# File 'lib/scaltainer/orchestrators/swarm.rb', line 43

def scale(replicas)
  spec = self.info["Spec"]
  spec["Mode"]["Replicated"]["Replicas"] = replicas
  update(spec)
end

#update(opts) ⇒ Object



38
39
40
41
# File 'lib/scaltainer/orchestrators/swarm.rb', line 38

def update(opts)
  version = self.info["Version"]["Index"]
  connection.post("/services/#{self.id}/update", {version: version}, body: opts.to_json)
end