From 98249948a1d9a447f6f6b76d02f15f48ddc9e761 Mon Sep 17 00:00:00 2001 From: Marc Di Luzio Date: Sat, 13 Jun 2020 11:17:52 +0100 Subject: [PATCH] Fix up host ports and env variables --- cmd/rove-accountant/main.go | 4 +-- cmd/rove-reverse-proxy/main.go | 36 ++++++++++++------------- cmd/rove-server/internal/server.go | 5 ++-- cmd/rove-server/internal/server_test.go | 3 +++ cmd/rove-server/main.go | 17 +++--------- cmd/rove-server/main_test.go | 6 ----- cmd/rove/main_test.go | 4 +-- docker-compose.yml | 18 ++++++------- 8 files changed, 38 insertions(+), 55 deletions(-) diff --git a/cmd/rove-accountant/main.go b/cmd/rove-accountant/main.go index 3e8e0d2..767f1f4 100644 --- a/cmd/rove-accountant/main.go +++ b/cmd/rove-accountant/main.go @@ -15,7 +15,6 @@ import ( "google.golang.org/grpc" ) -var address = os.Getenv("HOST_ADDRESS") var data = os.Getenv("DATA_PATH") // accountantServer is the internal object to manage the requests @@ -82,8 +81,9 @@ func (a *accountantServer) GetValue(_ context.Context, in *accounts.DataKey) (*a // main func main() { // Verify the input + var address = os.Getenv("ROVE_ACCOUNTANT_GRPC") if len(address) == 0 { - log.Fatal("No address set with $HOST_ADDRESS") + log.Fatal("No address set with $ROVE_ACCOUNTANT_GRPC") } persistence.SetPath(data) diff --git a/cmd/rove-reverse-proxy/main.go b/cmd/rove-reverse-proxy/main.go index a818aec..8eeb5b9 100644 --- a/cmd/rove-reverse-proxy/main.go +++ b/cmd/rove-reverse-proxy/main.go @@ -2,44 +2,42 @@ package main import ( "context" - "flag" "fmt" + "log" "net/http" "os" - "github.com/golang/glog" "github.com/grpc-ecosystem/grpc-gateway/runtime" "google.golang.org/grpc" "github.com/mdiluz/rove/pkg/rove" ) -var endpoint = os.Getenv("GRPC_ENDPOINT") -var address = os.Getenv("HOST_ADDRESS") - -func run() error { +func main() { ctx := context.Background() ctx, cancel := context.WithCancel(ctx) defer cancel() - // Create a new mux and register it with the gRPC engpoint + var endpoint = os.Getenv("ROVE_GRPC") + if len(endpoint) == 0 { + log.Fatal("Must set $ROVE_GRPC") + } + + var address = os.Getenv("ROVE_HTTP") + if len(address) == 0 { + log.Fatal("Must set $ROVE_HTTP") + } + + // Create a new mux and register it with the gRPC endpoint fmt.Printf("Hosting reverse-proxy on %s for %s\n", address, endpoint) mux := runtime.NewServeMux() opts := []grpc.DialOption{grpc.WithInsecure()} - err := rove.RegisterRoveHandlerFromEndpoint(ctx, mux, endpoint, opts) - if err != nil { - return err + if err := rove.RegisterRoveHandlerFromEndpoint(ctx, mux, endpoint, opts); err != nil { + log.Fatal(err) } // Start the HTTP server and proxy calls to gRPC endpoint when needed - return http.ListenAndServe(address, mux) -} - -func main() { - flag.Parse() - defer glog.Flush() - - if err := run(); err != nil { - glog.Fatal(err) + if err := http.ListenAndServe(address, mux); err != nil { + log.Fatal(err) } } diff --git a/cmd/rove-server/internal/server.go b/cmd/rove-server/internal/server.go index 3df7fea..dc3500e 100644 --- a/cmd/rove-server/internal/server.go +++ b/cmd/rove-server/internal/server.go @@ -17,8 +17,6 @@ import ( "google.golang.org/grpc" ) -var accountantAddress = os.Getenv("ACCOUNTANT_ADDRESS") - const ( // PersistentData will allow the server to load and save it's state PersistentData = iota @@ -106,8 +104,9 @@ func (s *Server) Initialise(fillWorld bool) (err error) { s.sync.Add(1) // Connect to the accountant + accountantAddress := os.Getenv("ROVE_ACCOUNTANT_GRPC") if len(accountantAddress) == 0 { - log.Fatal("must set ACCOUNTANT_ADDRESS") + log.Fatal("must set $ROVE_ACCOUNTANT_GRPC") } log.Printf("Dialing accountant on %s\n", accountantAddress) s.clientConn, err = grpc.Dial(accountantAddress, grpc.WithInsecure()) diff --git a/cmd/rove-server/internal/server_test.go b/cmd/rove-server/internal/server_test.go index 36db679..1297ec2 100644 --- a/cmd/rove-server/internal/server_test.go +++ b/cmd/rove-server/internal/server_test.go @@ -1,6 +1,7 @@ package internal import ( + "os" "testing" ) @@ -30,6 +31,7 @@ func TestNewServer_OptionPersistentData(t *testing.T) { } func TestServer_Run(t *testing.T) { + os.Setenv("ROVE_ACCOUNTANT_GRPC", "n/a") server := NewServer() if server == nil { t.Error("Failed to create server") @@ -45,6 +47,7 @@ func TestServer_Run(t *testing.T) { } func TestServer_RunPersistentData(t *testing.T) { + os.Setenv("ROVE_ACCOUNTANT_GRPC", "n/a") server := NewServer(OptionPersistentData()) if server == nil { t.Error("Failed to create server") diff --git a/cmd/rove-server/main.go b/cmd/rove-server/main.go index d81f424..cb489da 100644 --- a/cmd/rove-server/main.go +++ b/cmd/rove-server/main.go @@ -7,7 +7,6 @@ import ( "os/signal" "strconv" "syscall" - "time" "github.com/mdiluz/rove/cmd/rove-server/internal" "github.com/mdiluz/rove/pkg/persistence" @@ -15,10 +14,6 @@ import ( ) var ver = flag.Bool("version", false, "Display version number") -var quit = flag.Int("quit", 0, "Quit after n seconds, useful for testing") - -// Address to host the server on, automatically selected if empty -var address = os.Getenv("HOST_ADDRESS") // Path for persistent storage var data = os.Getenv("DATA_PATH") @@ -35,8 +30,10 @@ func InnerMain() { return } + // Address to host the server on, automatically selected if empty + var address = os.Getenv("ROVE_GRPC") if len(address) == 0 { - log.Fatalf("Must set HOST_ADDRESS") + log.Fatalf("Must set $ROVE_GRPC") } log.Printf("Initialising version %s...\n", version.Version) @@ -76,14 +73,6 @@ func InnerMain() { } }() - // Quit after a time if requested - if *quit != 0 { - go func() { - time.Sleep(time.Duration(*quit) * time.Second) - syscall.Kill(syscall.Getpid(), syscall.SIGTERM) - }() - } - // Run the server s.Run() diff --git a/cmd/rove-server/main_test.go b/cmd/rove-server/main_test.go index 64aa62c..fcf9a55 100644 --- a/cmd/rove-server/main_test.go +++ b/cmd/rove-server/main_test.go @@ -10,9 +10,3 @@ func Test_InnerMain_Version(t *testing.T) { InnerMain() flag.Set("version", "0") } - -func Test_InnerMain_Quit(t *testing.T) { - flag.Set("quit", "1") - InnerMain() - flag.Set("quit", "0") -} diff --git a/cmd/rove/main_test.go b/cmd/rove/main_test.go index 16d5dd7..aea0b0e 100644 --- a/cmd/rove/main_test.go +++ b/cmd/rove/main_test.go @@ -15,9 +15,9 @@ import ( func Test_InnerMain(t *testing.T) { - var address = os.Getenv("ROVE_SERVER_ADDRESS") + var address = os.Getenv("ROVE_GRPC") if len(address) == 0 { - log.Fatal("Must set ROVE_SERVER_ADDRESS") + log.Fatal("Must set $ROVE_GRPC") } // Set up the flags to act locally and use a temporary file diff --git a/docker-compose.yml b/docker-compose.yml index f9568f4..4e0f490 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,9 +10,9 @@ services: dockerfile: Dockerfile image: rove:latest ports: - - "8081:8081" + - "9091:9091" environment: - - HOST_ADDRESS=:8081 + - ROVE_ACCOUNTANT_GRPC=:9091 - DATA_PATH=/mnt/rove-server volumes: - persistent-data:/mnt/rove-server:rw @@ -26,8 +26,8 @@ services: ports: - "8080:8080" environment: - - HOST_ADDRESS=:8080 - - GRPC_ENDPOINT=rove-server:8082 + - ROVE_HTTP=:8080 + - ROVE_GRPC=:9090 command: [ ./rove-reverse-proxy ] rove-docs: @@ -47,11 +47,11 @@ services: dockerfile: Dockerfile image: rove:latest ports: - - "8082:8082" + - "9090:9090" environment: - - HOST_ADDRESS=:8082 + - ROVE_GRPC=:9090 - DATA_PATH=/mnt/rove-server - - ACCOUNTANT_ADDRESS=rove-accountant:8081 + - ROVE_ACCOUNTANT_GRPC=:9091 volumes: - persistent-data:/mnt/rove-server:rw @@ -62,8 +62,8 @@ services: dockerfile: Dockerfile image: rove:latest environment: - - ACCOUNTANT_ADDRESS=rove-accountant:8081 - - ROVE_SERVER_ADDRESS=rove-reverse-proxy:8080 + - ROVE_ACCOUNTANT_GRPC=:9091 + - ROVE_GRPC=rove-server:9090 command: [ "go", "test", "-v", "./...", "--tags=integration", "-cover", "-coverprofile=/mnt/coverage-data/c.out", "-count", "1" ] volumes: - /tmp/coverage-data:/mnt/coverage-data:rw