Fetching variables values from deployment 48/3448/2
authoragrawalgaurav <gaurav.agrawal@huawei.com>
Thu, 14 May 2020 12:16:45 +0000 (17:46 +0530)
committerGaurav Agrawal <gaurav.agrawal@huawei.com>
Thu, 14 May 2020 15:09:14 +0000 (15:09 +0000)
Change-Id: I3bad773cec5984960afed77508fe727840511f6f

mecm/mepm/applcm/k8shelm/cmd/helm/main.go
mecm/mepm/applcm/k8shelm/pkg/plugin/helmclient.go
mecm/mepm/applcm/resources/docker-compose.yaml

index 55733e9..e2ba78b 100644 (file)
@@ -20,14 +20,16 @@ import (
        "github.com/sirupsen/logrus"
        "k8shelm/pkg/plugin"
        "os"
+       "strconv"
 )
 
-const (
-       serverPort = 50051
-       certificate = ""
-       key = ""
-       logFile = "/go/release/logfile"
-       loggerLevel = logrus.InfoLevel
+// 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() {
@@ -38,10 +40,12 @@ func main() {
        }
        defer file.Close()
 
-       var logger = plugin.GetLogger(logFile, loggerLevel, file)
+       level, err := logrus.ParseLevel(loggerLevel)
+       var logger = plugin.GetLogger(logFile, level, file)
 
        // Create GRPC server
-       serverConfig := plugin.ServerGRPCConfig{Certificate: certificate, Port:serverPort, Key:key, Logger:logger}
+       sp, err := strconv.Atoi(serverPort)
+       serverConfig := plugin.ServerGRPCConfig{Certificate: certificate, Port:sp, Key:key, Logger:logger}
        server := plugin.NewServerGRPC(serverConfig)
 
        // Start listening
index 0115ed9..109a92c 100644 (file)
@@ -26,13 +26,14 @@ import (
        "os"
 )
 
-// Constants to be taken from deployment file
-const (
-       releaseNamespace  = "default"
-       chartPath  = "/go/release/charts/"
-       kubeconfigPath  = "/go/release/kubeconfig/"
+// Variables to be defined in deployment file
+var (
+       chartPath = os.Getenv("CHART_PATH")
+       kubeconfigPath = os.Getenv("KUBECONFIG_DIR_PATH")
+       releaseNamespace = os.Getenv("RELEASE_NAMESPACE")
 )
 
+
 // Helm client
 type HelmClient struct {
        hostIP string
index 300bef3..d64fa97 100644 (file)
@@ -33,7 +33,7 @@ services:
         max-size: "30m"
         max-file: "5"
   #################################################################################
-  applcm-brk:
+  applcm-broker:
     network_mode: bridge
     image: ealtedge/applcm-broker:latest
     depends_on:
@@ -43,7 +43,7 @@ services:
       - db:dbhost
       - helm-plugin:helm.plugin
     restart: always
-    container_name: applcm-brk
+    container_name: applcm-broker
     environment:
       MYSQL_DATABASE: 'db'
       # So you don't have to use root, but you can if you like
@@ -71,15 +71,23 @@ services:
     image: ealtedge/helmplugin:latest
     restart: always
     container_name: helmplugin
+    environment:
+      HELM_PLUGIN_PORT: '50051'
+      # Log file path, also to match dockerfile
+      LOGFILE_PATH: "/go/release/logfile"
+      LOGGER_LEVEL: "logrus.InfoLevel"
+      CERTIFICATE_PATH: ""
+      KEY_PATH: ""
+      # Temp chart file path, to be created in dockerfile
+      CHART_PATH: "/go/release/charts/"
+      # Kubeconfig based directory path, to be created in dockerfile, to hold kubeconfig of hosts with <host-ip>
+      KUBECONFIG_DIR_PATH: "/go/release/kubeconfig/"
+      # Presently all application to be deployed in same namespace, in future it can be an input while app creation
+      RELEASE_NAMESPACE: "default"
     ports:
       # <Port exposed> : < Applcm helm plugin Port running inside container>
       - '50051:50051'
     expose:
       # Opens port 50051 on the container
-      - '8089'
-    logging:
-      driver: "json-file"
-      options:
-        max-size: "30m"
-        max-file: "5"
+      - '50051'
 # yamllint enable