From 3de2bab9378d427f1bb43d9c517c898cdc936461 Mon Sep 17 00:00:00 2001 From: agrawalgaurav Date: Thu, 14 May 2020 17:46:45 +0530 Subject: [PATCH] Fetching variables values from deployment Change-Id: I3bad773cec5984960afed77508fe727840511f6f --- mecm/mepm/applcm/k8shelm/cmd/helm/main.go | 20 +++++++++++-------- mecm/mepm/applcm/k8shelm/pkg/plugin/helmclient.go | 11 ++++++----- mecm/mepm/applcm/resources/docker-compose.yaml | 24 +++++++++++++++-------- 3 files changed, 34 insertions(+), 21 deletions(-) diff --git a/mecm/mepm/applcm/k8shelm/cmd/helm/main.go b/mecm/mepm/applcm/k8shelm/cmd/helm/main.go index 55733e9..e2ba78b 100644 --- a/mecm/mepm/applcm/k8shelm/cmd/helm/main.go +++ b/mecm/mepm/applcm/k8shelm/cmd/helm/main.go @@ -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 diff --git a/mecm/mepm/applcm/k8shelm/pkg/plugin/helmclient.go b/mecm/mepm/applcm/k8shelm/pkg/plugin/helmclient.go index 0115ed9..109a92c 100644 --- a/mecm/mepm/applcm/k8shelm/pkg/plugin/helmclient.go +++ b/mecm/mepm/applcm/k8shelm/pkg/plugin/helmclient.go @@ -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 diff --git a/mecm/mepm/applcm/resources/docker-compose.yaml b/mecm/mepm/applcm/resources/docker-compose.yaml index 300bef3..d64fa97 100644 --- a/mecm/mepm/applcm/resources/docker-compose.yaml +++ b/mecm/mepm/applcm/resources/docker-compose.yaml @@ -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 + 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: # : < 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 -- 2.16.6