diff --git a/api/api.go b/api/api.go index cba36a99d2..d4832f1382 100644 --- a/api/api.go +++ b/api/api.go @@ -349,7 +349,7 @@ func createRouter(c *context, enableCors bool) (*mux.Router, error) { return r, nil } -func ListenAndServe(c *cluster.Cluster, s *scheduler.Scheduler, addr, version string) error { +func ListenAndServe(c *cluster.Cluster, s *scheduler.Scheduler, addr, version string, enableCors bool) error { context := &context{ cluster: c, scheduler: s, @@ -357,7 +357,7 @@ func ListenAndServe(c *cluster.Cluster, s *scheduler.Scheduler, addr, version st eventsHandler: NewEventsHandler(), } c.Events(context.eventsHandler) - r, err := createRouter(context, false) + r, err := createRouter(context, enableCors) if err != nil { return err } diff --git a/main.go b/main.go index 2163f691f3..b94fd193b6 100644 --- a/main.go +++ b/main.go @@ -50,6 +50,10 @@ func main() { Value: 25, Usage: "time in second between each heartbeat", } + flEnableCors := cli.BoolFlag{ + Name: "api-enable-cors, cors", + Usage: "enable CORS headers in the remote API", + } app.Commands = []cli.Command{ { @@ -87,7 +91,7 @@ func main() { Name: "manage", ShortName: "m", Usage: "manage a docker cluster", - Flags: []cli.Flag{flToken, flAddr, flHeartBeat}, + Flags: []cli.Flag{flToken, flAddr, flHeartBeat, flEnableCors}, Action: manage, }, { diff --git a/manage.go b/manage.go index 2139bc9132..9dc56b37d5 100644 --- a/manage.go +++ b/manage.go @@ -82,5 +82,5 @@ func manage(c *cli.Context) { }, ) - log.Fatal(api.ListenAndServe(cluster, s, c.String("addr"), c.App.Version)) + log.Fatal(api.ListenAndServe(cluster, s, c.String("addr"), c.App.Version, c.Bool("cors"))) }