import (
"k8shelm/pkg/plugin"
- "log"
"os"
+ "strconv"
+
+ "github.com/sirupsen/logrus"
+)
+
+// 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)
}
}