Compare commits
No commits in common. "eb6d63a5336934f3c0ded0e7cc866e684344574f" and "d0e2a1a494b7c772b97b37929d6fccacbd03c22d" have entirely different histories.
eb6d63a533
...
d0e2a1a494
@ -91,7 +91,8 @@ module Funko
|
|||||||
end
|
end
|
||||||
|
|
||||||
if env.params.query.fetch("format", "json") == "html"
|
if env.params.query.fetch("format", "json") == "html"
|
||||||
render "src/views/funkos.ecr" else
|
render "src/views/funkos.ecr"
|
||||||
|
else
|
||||||
result.to_json
|
result.to_json
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
require "docr"
|
require "docr"
|
||||||
require "funko"
|
|
||||||
require "kemal"
|
require "kemal"
|
||||||
|
|
||||||
module Proxy
|
module Proxy
|
||||||
|
18
src/funko.cr
18
src/funko.cr
@ -166,6 +166,7 @@ module Funko
|
|||||||
end
|
end
|
||||||
|
|
||||||
# Return a list of image IDs for this funko, most recent first
|
# Return a list of image IDs for this funko, most recent first
|
||||||
|
# FIXME: use self.images and add filters
|
||||||
def image_history
|
def image_history
|
||||||
docker_api = Docr::API.new(Docr::Client.new)
|
docker_api = Docr::API.new(Docr::Client.new)
|
||||||
begin
|
begin
|
||||||
@ -206,6 +207,23 @@ module Funko
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Start exited container with the newer image
|
||||||
|
# or unpause paused container
|
||||||
|
def start
|
||||||
|
if self.exited?
|
||||||
|
docker_api = Docr::API.new(Docr::Client.new)
|
||||||
|
images = self.image_history
|
||||||
|
exited = self.containers.select { |container|
|
||||||
|
container.@state == "exited"
|
||||||
|
}.sort! { |i, j|
|
||||||
|
(images.index(j.@image_id) || 9999) <=> (images.index(i.@image_id) || 9999)
|
||||||
|
}
|
||||||
|
docker_api.containers.restart(exited[0].@id) unless exited.empty?
|
||||||
|
elsif self.paused?
|
||||||
|
self.unpause
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Stop container with the newer image
|
# Stop container with the newer image
|
||||||
def stop
|
def stop
|
||||||
docker_api = Docr::API.new(Docr::Client.new)
|
docker_api = Docr::API.new(Docr::Client.new)
|
||||||
|
Loading…
Reference in New Issue
Block a user