Remove old API
This commit is contained in:
parent
e618f7c9e6
commit
64778bba19
@ -43,34 +43,6 @@ module Funko
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
get "/funkos/:name/pause/" do |env|
|
|
||||||
funko = Funko.from_names([env.params.url["name"]])[0]
|
|
||||||
funko.pause
|
|
||||||
funko.wait_for("paused", 5)
|
|
||||||
end
|
|
||||||
|
|
||||||
get "/funkos/:name/unpause/" do |env|
|
|
||||||
funko = Funko.from_names([env.params.url["name"]])[0]
|
|
||||||
funko.unpause
|
|
||||||
funko.wait_for("running", 5)
|
|
||||||
end
|
|
||||||
|
|
||||||
get "/funkos/:name/start/" do |env|
|
|
||||||
funko = Funko.from_names([env.params.url["name"]])[0]
|
|
||||||
funko.start
|
|
||||||
funko.wait_for("running", 5)
|
|
||||||
end
|
|
||||||
|
|
||||||
get "/funkos/:name/stop/" do |env|
|
|
||||||
funko = Funko.from_names([env.params.url["name"]])[0]
|
|
||||||
begin
|
|
||||||
funko.stop
|
|
||||||
funko.wait_for("exited", 5)
|
|
||||||
rescue ex : Docr::Errors::DockerAPIError
|
|
||||||
halt env, status_code: 500, response: "Failed to stop container"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# Build image for funko received as "funko.tgz"
|
# Build image for funko received as "funko.tgz"
|
||||||
# TODO: This may take a while, consider using something like
|
# TODO: This may take a while, consider using something like
|
||||||
# mosquito-cr/mosquito to make it a job queue
|
# mosquito-cr/mosquito to make it a job queue
|
||||||
@ -107,20 +79,12 @@ module Funko
|
|||||||
result = [] of Hash(String, String)
|
result = [] of Hash(String, String)
|
||||||
|
|
||||||
funkos.each do |funko|
|
funkos.each do |funko|
|
||||||
state = ""
|
state = "FIXME"
|
||||||
case funko
|
|
||||||
when .running?
|
|
||||||
state = "running"
|
|
||||||
when .paused?
|
|
||||||
state = "paused"
|
|
||||||
else
|
|
||||||
state = "stopped"
|
|
||||||
end
|
|
||||||
|
|
||||||
result << {
|
result << {
|
||||||
"name" => funko.name,
|
"name" => funko.name,
|
||||||
"state" => state,
|
"state" => state,
|
||||||
"status" => funko.status,
|
"status" => "FIXME",
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
53
src/funko.cr
53
src/funko.cr
@ -195,59 +195,6 @@ module Funko
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Descriptive status for the funko
|
|
||||||
def status
|
|
||||||
status = self.containers.map { |container|
|
|
||||||
container.@status
|
|
||||||
}.join(", ")
|
|
||||||
status.empty? ? "Stopped" : status
|
|
||||||
end
|
|
||||||
|
|
||||||
# Is any instance of this funko running?
|
|
||||||
def running?
|
|
||||||
self.containers.any? { |container|
|
|
||||||
container.@state == "running"
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
# Is any instance of this funko paused?
|
|
||||||
def paused?
|
|
||||||
self.containers.any? { |container|
|
|
||||||
container.@state == "paused"
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
# Pause running container
|
|
||||||
def pause
|
|
||||||
docker_api = Docr::API.new(Docr::Client.new)
|
|
||||||
images = self.image_history
|
|
||||||
running = self.containers.select { |container|
|
|
||||||
container.@state == "running"
|
|
||||||
}.sort! { |i, j|
|
|
||||||
(images.index(j.@image_id) || 9999) <=> (images.index(i.@image_id) || 9999)
|
|
||||||
}
|
|
||||||
docker_api.containers.pause(running[0].@id) unless running.empty?
|
|
||||||
end
|
|
||||||
|
|
||||||
# Unpause paused container with the newer image
|
|
||||||
def unpause
|
|
||||||
docker_api = Docr::API.new(Docr::Client.new)
|
|
||||||
images = self.image_history
|
|
||||||
paused = self.containers.select { |container|
|
|
||||||
container.@state == "paused"
|
|
||||||
}.sort! { |i, j|
|
|
||||||
(images.index(j.@image_id) || 9999) <=> (images.index(i.@image_id) || 9999)
|
|
||||||
}
|
|
||||||
docker_api.containers.unpause(paused[0].@id) unless paused.empty?
|
|
||||||
end
|
|
||||||
|
|
||||||
# Is any instance of this funko exited?
|
|
||||||
def exited?
|
|
||||||
self.containers.any? { |container|
|
|
||||||
container.@state == "exited"
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
# Start container with given id
|
# Start container with given id
|
||||||
def start(id : String)
|
def start(id : String)
|
||||||
docker_api = Docr::API.new(Docr::Client.new)
|
docker_api = Docr::API.new(Docr::Client.new)
|
||||||
|
Loading…
Reference in New Issue
Block a user