From 7495f27f64c3c0663e35296cd74d7f0272f61ee7 Mon Sep 17 00:00:00 2001 From: "Jonathan Leibiusky @xetorthio" Date: Thu, 10 Aug 2017 12:13:18 -0300 Subject: [PATCH] Change wiring --- api.go | 24 +++++++++++++++++++++++- handlers/bootstrap.go | 29 +++-------------------------- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/api.go b/api.go index c986307..ff930ba 100644 --- a/api.go +++ b/api.go @@ -8,12 +8,34 @@ import ( "github.com/play-with-docker/play-with-docker/docker" "github.com/play-with-docker/play-with-docker/event" "github.com/play-with-docker/play-with-docker/handlers" + "github.com/play-with-docker/play-with-docker/pwd" + "github.com/play-with-docker/play-with-docker/scheduler" + "github.com/play-with-docker/play-with-docker/scheduler/task" "github.com/play-with-docker/play-with-docker/storage" ) func main() { config.ParseFlags() - handlers.Bootstrap(initStorage, initEvent, initFactory) + + e := initEvent() + s := initStorage() + f := initFactory(s) + + core := pwd.NewPWD(f, e, s) + + sch, err := scheduler.NewScheduler(s, e, core) + if err != nil { + log.Fatal("Error initializing the scheduler: ", err) + } + + sch.AddTask(task.NewCheckPorts(e, f)) + sch.AddTask(task.NewCheckSwarmPorts(e, f)) + sch.AddTask(task.NewCheckSwarmStatus(e, f)) + sch.AddTask(task.NewCollectStats(e, f)) + + sch.Start() + + handlers.Bootstrap(core, e) handlers.Register() } diff --git a/handlers/bootstrap.go b/handlers/bootstrap.go index de18735..7a21804 100644 --- a/handlers/bootstrap.go +++ b/handlers/bootstrap.go @@ -10,12 +10,8 @@ import ( gh "github.com/gorilla/handlers" "github.com/gorilla/mux" "github.com/play-with-docker/play-with-docker/config" - "github.com/play-with-docker/play-with-docker/docker" "github.com/play-with-docker/play-with-docker/event" "github.com/play-with-docker/play-with-docker/pwd" - "github.com/play-with-docker/play-with-docker/scheduler" - "github.com/play-with-docker/play-with-docker/scheduler/task" - "github.com/play-with-docker/play-with-docker/storage" "github.com/play-with-docker/play-with-docker/templates" "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/urfave/negroni" @@ -25,28 +21,9 @@ var core pwd.PWDApi var e event.EventApi var ws *socketio.Server -func Bootstrap(storageInit func() storage.StorageApi, eventInit func() event.EventApi, factoryInit func(storage.StorageApi) docker.FactoryApi) { - s := storageInit() - - e = eventInit() - - f := factoryInit(s) - - core = pwd.NewPWD(f, e, s) - - sch, err := scheduler.NewScheduler(s, e, core) - if err != nil { - log.Fatal("Error initializing the scheduler: ", err) - } - - sch.AddTask(task.NewCheckPorts(e, f)) - sch.AddTask(task.NewCheckSwarmPorts(e, f)) - sch.AddTask(task.NewCheckSwarmStatus(e, f)) - sch.AddTask(task.NewCollectStats(e, f)) - - sch.Start() - - Register() +func Bootstrap(c pwd.PWDApi, ev event.EventApi) { + core = c + e = ev } func Register() {