diff --git a/api.go b/api.go index 38b4768..1bcb75b 100644 --- a/api.go +++ b/api.go @@ -68,6 +68,7 @@ func main() { r.Host(`{subdomain:.*}{node:pwd[0-9]{1,3}_[0-9]{1,3}_[0-9]{1,3}_[0-9]{1,3}}-{port:[0-9]*}.{tld:.*}`).Handler(tcpHandler) r.Host(`{subdomain:.*}{node:pwd[0-9]{1,3}_[0-9]{1,3}_[0-9]{1,3}_[0-9]{1,3}}.{tld:.*}`).Handler(tcpHandler) r.HandleFunc("/ping", handlers.Ping).Methods("GET") + corsRouter.HandleFunc("/instances/images", handlers.GetInstanceImages).Methods("GET") corsRouter.HandleFunc("/sessions/{sessionId}", handlers.GetSession).Methods("GET") corsRouter.HandleFunc("/sessions/{sessionId}/instances", handlers.NewInstance).Methods("POST") corsRouter.HandleFunc("/sessions/{sessionId}/instances/{instanceName}", handlers.DeleteInstance).Methods("DELETE") @@ -218,3 +219,5 @@ func handleDnsRequest(w dns.ResponseWriter, r *dns.Msg) { } } } + + diff --git a/handlers/get_instance_images.go b/handlers/get_instance_images.go new file mode 100644 index 0000000..ba8d026 --- /dev/null +++ b/handlers/get_instance_images.go @@ -0,0 +1,14 @@ +package handlers + +import ( + "encoding/json" + "net/http" + + "github.com/franela/play-with-docker/services" +) + +func GetInstanceImages(rw http.ResponseWriter, req *http.Request) { + instanceImages := services.InstanceImages() + json.NewEncoder(rw).Encode(instanceImages) +} + diff --git a/services/instance_images.go b/services/instance_images.go new file mode 100644 index 0000000..c939785 --- /dev/null +++ b/services/instance_images.go @@ -0,0 +1,10 @@ +package services + +func InstanceImages() ([]string) { + + return []string { + "franela/dind:overlay2", + "franela/dind-dev:overlay2", + } + +}