diff --git a/.gitignore b/.gitignore index 0d5df561a3a..1e3f3e4a0bf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /bin +/prox.exe /Godeps/_workspace/github.com/coreos-inc/bridge /frontend/public/bower_components /frontend/public/dist diff --git a/README.md b/README.md index 2fea91d9faf..24db22cf6ef 100644 --- a/README.md +++ b/README.md @@ -31,5 +31,8 @@ Update existing backend dependencies: 1. `go get -u foo/bar` as usual 1. `godep update foo/bar` +Run the dev server (auto-loads new code changes): +`./devweb` + ### Dependencies - nodejs glup diff --git a/build b/build index 6a1cc44f645..5adf71beeb5 100755 --- a/build +++ b/build @@ -11,4 +11,4 @@ fi eval $(go env) -go install github.com/coreos-inc/$PROJECT_DIR/server +go install github.com/coreos-inc/$PROJECT_DIR diff --git a/dev/dev.go b/dev/dev.go new file mode 100644 index 00000000000..e953167d608 --- /dev/null +++ b/dev/dev.go @@ -0,0 +1,12 @@ +package main + +import ( + "github.com/coreos-inc/bridge/Godeps/_workspace/src/github.com/coreos/devweb/slave" + + "github.com/coreos-inc/bridge/server" +) + +func main() { + server.Handle() + slave.Main() +} diff --git a/devweb b/devweb new file mode 100755 index 00000000000..f154dcccc53 --- /dev/null +++ b/devweb @@ -0,0 +1,6 @@ +#!/bin/sh -e + +source build + +go install github.com/coreos/devweb +PATH=$PATH:$PWD ./bin/devweb -addr :9000 github.com/coreos-inc/bridge/dev diff --git a/main.go b/main.go new file mode 100644 index 00000000000..098c148945e --- /dev/null +++ b/main.go @@ -0,0 +1,27 @@ +package main + +import ( + "log" + "net/http" + "os" + + "github.com/coreos-inc/bridge/server" +) + +var ( + listenAddress string +) + +func main() { + server.Handle() + + listenAddress = os.Getenv("ADDRESS") + if listenAddress == "" { + listenAddress = "0.0.0.0:9000" + } + + log.Printf("listening on: %s", listenAddress) + if err := http.ListenAndServe(listenAddress, nil); err != nil { + log.Fatal("error on ListenAndServe: %s", err) + } +} diff --git a/server/main.go b/server/server.go similarity index 78% rename from server/main.go rename to server/server.go index 23665d5408c..f941398ba4c 100644 --- a/server/main.go +++ b/server/server.go @@ -1,9 +1,8 @@ -package main +package server import ( "fmt" "html/template" - "log" "net/http" "os" "path" @@ -18,7 +17,6 @@ const ( ) var ( - listenAddress string publicDir string indexTemplate *template.Template ) @@ -30,26 +28,19 @@ func IndexHandler(w http.ResponseWriter, r *http.Request) { } } -func main() { +func init() { publicDir = os.Getenv("PUBLIC_DIR") if publicDir == "" { publicDir = "./frontend/public" } - listenAddress = os.Getenv("ADDRESS") - if listenAddress == "" { - listenAddress = "0.0.0.0:9000" - } - if _, err := os.Stat(path.Join(publicDir, "index.html")); err != nil { fmt.Println("Static files do not exist in provided PUBLIC_DIR env variable.") os.Exit(1) } - - handle() } -func handle() { +func Handle() { r := mux.NewRouter() // Simple static file server for requests containing static prefix. @@ -63,9 +54,4 @@ func handle() { r.HandleFunc("/{path:.*}", IndexHandler) http.Handle("/", r) - - log.Printf("listening on: %s", listenAddress) - if err := http.ListenAndServe(listenAddress, nil); err != nil { - log.Fatal("error on ListenAndServe: %s", err) - } }