NONRTRIC-946: Servicemanager - add Kong data plane and control plane
[nonrtric/plt/sme.git] / servicemanager / main.go
index 5d0cc55..5b949aa 100644 (file)
@@ -46,27 +46,29 @@ import (
 )
 
 func main() {
-       myEnv, myPorts, err := envreader.ReadDotEnv()
+       realConfigReader := &envreader.RealConfigReader{}
+       myEnv, myPorts, err := realConfigReader.ReadDotEnv()
        if err != nil {
                log.Fatal("error loading environment file")
                return
        }
 
-       e, err := getEcho(myEnv, myPorts)
+       eServiceManager := echo.New()
+       err = registerHandlers(eServiceManager, myEnv, myPorts)
+
        if err != nil {
-               log.Fatal("getEcho fatal error")
+               log.Fatal("registerHandlers fatal error")
                return
        }
 
        port := myPorts["SERVICE_MANAGER_PORT"]
 
-       go startWebServer(e, port)
+       go startWebServer(eServiceManager, port)
        log.Info("server started and listening on port: ", port)
        keepServerAlive()
 }
 
-func getEcho(myEnv map[string]string, myPorts map[string]int) (*echo.Echo, error) {
-       e := echo.New()
+func registerHandlers(e *echo.Echo, myEnv map[string]string, myPorts map[string]int) (err error) {
        // Log all requests
        e.Use(echomiddleware.Logger())
 
@@ -75,9 +77,10 @@ func getEcho(myEnv map[string]string, myPorts map[string]int) (*echo.Echo, error
        capifPort := common29122.Port(myPorts["CAPIF_PORT"])
        kongDomain := myEnv["KONG_DOMAIN"]
        kongProtocol := myEnv["KONG_PROTOCOL"]
-       kongIPv4 := common29122.Ipv4Addr(myEnv["KONG_IPV4"])
-       kongDataPlanePort := common29122.Port(myPorts["KONG_DATA_PLANE_PORT"])
+       kongControlPlaneIPv4 := common29122.Ipv4Addr(myEnv["KONG_CONTROL_PLANE_IPV4"])
        kongControlPlanePort := common29122.Port(myPorts["KONG_CONTROL_PLANE_PORT"])
+       kongDataPlaneIPv4 := common29122.Ipv4Addr(myEnv["KONG_DATA_PLANE_IPV4"])
+       kongDataPlanePort := common29122.Port(myPorts["KONG_DATA_PLANE_PORT"])
 
        var group *echo.Group
 
@@ -85,7 +88,7 @@ func getEcho(myEnv map[string]string, myPorts map[string]int) (*echo.Echo, error
        providerManagerSwagger, err := providermanagementapi.GetSwagger()
        if err != nil {
                log.Fatalf("error loading ProviderManagement swagger spec\n: %s", err)
-               return nil, err
+               return err
        }
        providerManagerSwagger.Servers = nil
        providerManager := providermanagement.NewProviderManager(capifProtocol, capifIPv4, capifPort)
@@ -97,10 +100,14 @@ func getEcho(myEnv map[string]string, myPorts map[string]int) (*echo.Echo, error
        publishServiceSwagger, err := publishserviceapi.GetSwagger()
        if err != nil {
                log.Fatalf("error loading PublishService swagger spec\n: %s", err)
-               return nil, err
+               return err
        }
        publishServiceSwagger.Servers = nil
-       publishService := publishservice.NewPublishService(kongDomain, kongProtocol, kongIPv4, kongDataPlanePort, kongControlPlanePort, capifProtocol, capifIPv4, capifPort)
+       publishService := publishservice.NewPublishService(
+               kongDomain, kongProtocol,
+               kongControlPlaneIPv4, kongControlPlanePort,
+               kongDataPlaneIPv4, kongDataPlanePort,
+               capifProtocol, capifIPv4, capifPort)
 
        group = e.Group("/published-apis/v1")
        group.Use(middleware.OapiRequestValidator(publishServiceSwagger))
@@ -110,7 +117,7 @@ func getEcho(myEnv map[string]string, myPorts map[string]int) (*echo.Echo, error
        invokerManagerSwagger, err := invokermanagementapi.GetSwagger()
        if err != nil {
                log.Fatalf("error loading InvokerManagement swagger spec\n: %s", err)
-               return nil, err
+               return err
        }
        invokerManagerSwagger.Servers = nil
        invokerManager := invokermanagement.NewInvokerManager(capifProtocol, capifIPv4, capifPort)
@@ -122,7 +129,7 @@ func getEcho(myEnv map[string]string, myPorts map[string]int) (*echo.Echo, error
        discoverServiceSwagger, err := discoverserviceapi.GetSwagger()
        if err != nil {
                log.Fatalf("error loading DiscoverService swagger spec\n: %s", err)
-               return nil, err
+               return err
        }
 
        discoverServiceSwagger.Servers = nil
@@ -135,7 +142,7 @@ func getEcho(myEnv map[string]string, myPorts map[string]int) (*echo.Echo, error
        e.GET("/", hello)
        e.GET("/swagger/:apiName", getSwagger)
 
-       return e, err
+       return err
 }
 
 func startWebServer(e *echo.Echo, port int) {