Fetching variables values from deployment
[ealt-edge.git] / mecm / mepm / applcm / k8shelm / cmd / helm / main.go
index adcba84..e2ba78b 100644 (file)
 package main
 
 import (
+       "github.com/sirupsen/logrus"
        "k8shelm/pkg/plugin"
-       "log"
        "os"
+       "strconv"
+)
+
+// Variables to be defined in deployment file
+var (
+       serverPort = os.Getenv("HELM_PLUGIN_PORT")
+       logFile = os.Getenv("LOGFILE_PATH")
+       loggerLevel = os.Getenv("LOGGER_LEVEL")
+       certificate = os.Getenv("CERTIFICATE_PATH")
+       key = os.Getenv("KEY_PATH")
 )
 
 func main() {
-       logger := log.New(os.Stdout, "helm ", log.LstdFlags|log.Lshortfile)
-       serverConfig := plugin.ServerGRPCConfig{Certificate:"", Port:50051, Key:""}
-       server, err := plugin.NewServerGRPC(serverConfig)
+       // Prepare logger
+       file, err := os.Create(logFile)
        if err != nil {
-               logger.Fatalf("failed to create server: %v", err)
+               logrus.Fatal(err)
        }
-       error := server.Listen()
-       if error != nil {
+       defer file.Close()
+
+       level, err := logrus.ParseLevel(loggerLevel)
+       var logger = plugin.GetLogger(logFile, level, file)
+
+       // Create GRPC server
+       sp, err := strconv.Atoi(serverPort)
+       serverConfig := plugin.ServerGRPCConfig{Certificate: certificate, Port:sp, Key:key, Logger:logger}
+       server := plugin.NewServerGRPC(serverConfig)
+
+       // Start listening
+       err = server.Listen()
+       if err != nil {
                logger.Fatalf("failed to listen: %v", err)
        }
 }