X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=capifcore%2Fcapifcore.go;fp=capifcore%2Fmain.go;h=64a540e13ca422a88b80b34835f4d0db376a2ab5;hb=refs%2Fchanges%2F11%2F12711%2F6;hp=b0fa1dc2f010772ef34f605af02b9b64208e430e;hpb=f2adad008c37b48e3386dfb7cf3949d7175f96b0;p=nonrtric%2Fplt%2Fsme.git diff --git a/capifcore/main.go b/capifcore/capifcore.go similarity index 75% rename from capifcore/main.go rename to capifcore/capifcore.go index b0fa1dc..64a540e 100644 --- a/capifcore/main.go +++ b/capifcore/capifcore.go @@ -2,8 +2,8 @@ // ========================LICENSE_START================================= // O-RAN-SC // %% -// Copyright (C) 2022: Nordix Foundation. All rights reserved. -// Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. +// Copyright (C) 2022-2023: Nordix Foundation. All rights reserved. +// Copyright (C) 2023-2024 OpenInfra Foundation Europe. All rights reserved. // %% // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -19,84 +19,39 @@ // ========================LICENSE_END=================================== // -package main +package capifcore import ( - "flag" - "fmt" "net/http" "github.com/getkin/kin-openapi/openapi3" "github.com/labstack/echo/v4" - "helm.sh/helm/v3/pkg/cli" "oransc.org/nonrtric/capifcore/internal/common29122" "oransc.org/nonrtric/capifcore/internal/discoverserviceapi" "oransc.org/nonrtric/capifcore/internal/eventsapi" "oransc.org/nonrtric/capifcore/internal/invokermanagementapi" - "oransc.org/nonrtric/capifcore/internal/keycloak" "oransc.org/nonrtric/capifcore/internal/providermanagementapi" "oransc.org/nonrtric/capifcore/internal/securityapi" "github.com/deepmap/oapi-codegen/pkg/middleware" echomiddleware "github.com/labstack/echo/v4/middleware" log "github.com/sirupsen/logrus" - config "oransc.org/nonrtric/capifcore/internal/config" + "oransc.org/nonrtric/capifcore/internal/helmmanagement" + "oransc.org/nonrtric/capifcore/internal/discoverservice" "oransc.org/nonrtric/capifcore/internal/eventservice" - "oransc.org/nonrtric/capifcore/internal/helmmanagement" "oransc.org/nonrtric/capifcore/internal/invokermanagement" "oransc.org/nonrtric/capifcore/internal/providermanagement" "oransc.org/nonrtric/capifcore/internal/publishservice" "oransc.org/nonrtric/capifcore/internal/publishserviceapi" security "oransc.org/nonrtric/capifcore/internal/securityservice" + "oransc.org/nonrtric/capifcore/internal/keycloak" ) -var url string -var helmManager helmmanagement.HelmManager -var repoName string - -func main() { - var port = flag.Int("port", 8090, "Port for CAPIF Core Function HTTP server") - var secPort = flag.Int("secPort", 4433, "Port for CAPIF Core Function HTTPS server") - flag.StringVar(&url, "chartMuseumUrl", "", "ChartMuseum URL") - flag.StringVar(&repoName, "repoName", "capifcore", "Repository name") - var logLevelStr = flag.String("loglevel", "Info", "Log level") - var certPath = flag.String("certPath", "certs/cert.pem", "Path for server certificate") - var keyPath = flag.String("keyPath", "certs/key.pem", "Path for server private key") - - flag.Parse() - - if loglevel, err := log.ParseLevel(*logLevelStr); err == nil { - log.SetLevel(loglevel) - } - - // Add repo - helmManager = helmmanagement.NewHelmManager(cli.New()) - err := helmManager.SetUpRepo(repoName, url) - if err != nil { - log.Warnf("No Helm repo added due to: %s", err.Error()) - } - - go startWebServer(getEcho(), *port) - go startHttpsWebServer(getEcho(), *secPort, *certPath, *keyPath) - - log.Info("Server started and listening on port: ", *port) - - keepServerAlive() -} - -func getEcho() *echo.Echo { - e := echo.New() +func RegisterHandlers(e *echo.Echo, helmManager helmmanagement.HelmManager, km *keycloak.KeycloakManager) { // Log all requests e.Use(echomiddleware.Logger()) - // Read configuration file - cfg, err := config.ReadKeycloakConfigFile("configs") - if err != nil { - log.Fatalf("Error loading configuration file\n: %s", err) - } - km := keycloak.NewKeycloakManager(cfg, &http.Client{}) - var group *echo.Group // Register ProviderManagement providerManagerSwagger, err := providermanagementapi.GetSwagger() @@ -168,21 +123,6 @@ func getEcho() *echo.Echo { e.GET("/", hello) e.GET("/swagger/:apiName", getSwagger) - - return e -} - -func startWebServer(e *echo.Echo, port int) { - e.Logger.Fatal(e.Start(fmt.Sprintf("0.0.0.0:%d", port))) -} - -func startHttpsWebServer(e *echo.Echo, port int, certPath string, keyPath string) { - e.Logger.Fatal(e.StartTLS(fmt.Sprintf("0.0.0.0:%d", port), certPath, keyPath)) -} - -func keepServerAlive() { - forever := make(chan int) - <-forever } func hello(c echo.Context) error {