Fetching variables values from deployment
[ealt-edge.git] / mecm / mepm / applcm / k8shelm / cmd / helm / main.go
1 /*
2  * Copyright 2020 Huawei Technologies Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package main
18
19 import (
20         "github.com/sirupsen/logrus"
21         "k8shelm/pkg/plugin"
22         "os"
23         "strconv"
24 )
25
26 // Variables to be defined in deployment file
27 var (
28         serverPort = os.Getenv("HELM_PLUGIN_PORT")
29         logFile = os.Getenv("LOGFILE_PATH")
30         loggerLevel = os.Getenv("LOGGER_LEVEL")
31         certificate = os.Getenv("CERTIFICATE_PATH")
32         key = os.Getenv("KEY_PATH")
33 )
34
35 func main() {
36         // Prepare logger
37         file, err := os.Create(logFile)
38         if err != nil {
39                 logrus.Fatal(err)
40         }
41         defer file.Close()
42
43         level, err := logrus.ParseLevel(loggerLevel)
44         var logger = plugin.GetLogger(logFile, level, file)
45
46         // Create GRPC server
47         sp, err := strconv.Atoi(serverPort)
48         serverConfig := plugin.ServerGRPCConfig{Certificate: certificate, Port:sp, Key:key, Logger:logger}
49         server := plugin.NewServerGRPC(serverConfig)
50
51         // Start listening
52         err = server.Listen()
53         if err != nil {
54                 logger.Fatalf("failed to listen: %v", err)
55         }
56 }