diff --git a/airavata-kubernetes/modules/helix-task-api/src/main/java/org/apache/airavata/helix/api/HelixParticipant.java b/airavata-kubernetes/modules/helix-task-api/src/main/java/org/apache/airavata/helix/api/HelixParticipant.java
index 77073ff..a2a56ca 100644
--- a/airavata-kubernetes/modules/helix-task-api/src/main/java/org/apache/airavata/helix/api/HelixParticipant.java
+++ b/airavata-kubernetes/modules/helix-task-api/src/main/java/org/apache/airavata/helix/api/HelixParticipant.java
@@ -16,6 +16,8 @@
 import org.apache.log4j.Logger;
 import org.springframework.web.client.RestTemplate;
 
+import java.io.File;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -37,18 +39,19 @@
     private String apiServerUrl;
     private RestTemplate restTemplate;
 
-    public HelixParticipant(String zkAddress,
-                            String clusterName,
-                            String participantName,
-                            String taskTypeName,
-                            String apiServerUrl) {
+    public HelixParticipant(String propertyFile) throws IOException {
 
         logger.debug("Initializing Participant Node");
-        this.zkAddress = zkAddress;
-        this.clusterName = clusterName;
-        this.participantName = participantName;
-        this.taskTypeName = taskTypeName;
-        this.apiServerUrl = apiServerUrl;
+
+        PropertyResolver propertyResolver = new PropertyResolver();
+        propertyResolver.loadInputStream(this.getClass().getClassLoader().getResourceAsStream(propertyFile));
+
+        this.zkAddress = propertyResolver.get("zookeeper.connection.url");
+        this.clusterName = propertyResolver.get("helix.cluster.name");
+        this.participantName = propertyResolver.get("participant.name");
+        this.taskTypeName = propertyResolver.get("task.type.name");
+        this.apiServerUrl = propertyResolver.get("api.server.url");
+
         this.restTemplate = new RestTemplate();
     }
 
diff --git a/airavata-kubernetes/modules/helix-task-api/src/main/java/org/apache/airavata/helix/api/PropertyResolver.java b/airavata-kubernetes/modules/helix-task-api/src/main/java/org/apache/airavata/helix/api/PropertyResolver.java
new file mode 100644
index 0000000..b1f2e00
--- /dev/null
+++ b/airavata-kubernetes/modules/helix-task-api/src/main/java/org/apache/airavata/helix/api/PropertyResolver.java
@@ -0,0 +1,38 @@
+package org.apache.airavata.helix.api;
+
+import java.io.*;
+import java.util.Properties;
+
+/**
+ * TODO: Class level comments please
+ *
+ * @author dimuthu
+ * @since 1.0.0-SNAPSHOT
+ */
+public class PropertyResolver {
+
+    private Properties properties = new Properties();
+
+    public void loadFromFile(File propertyFile) throws IOException {
+        properties = new Properties();
+        properties.load(new FileInputStream(propertyFile));
+    }
+
+    public void loadInputStream(InputStream inputStream) throws IOException {
+        properties = new Properties();
+        properties.load(inputStream);
+    }
+
+    public String get(String key) {
+        if (properties.containsKey(key)) {
+            if (System.getenv(key.replace(".", "_")) != null) {
+                return System.getenv(key.replace(".", "_"));
+            } else {
+                return properties.getProperty(key);
+            }
+        } else {
+            return null;
+        }
+    }
+
+}
diff --git a/airavata-kubernetes/modules/microservices/helix-controller/pom.xml b/airavata-kubernetes/modules/microservices/helix-controller/pom.xml
index 1613030..27afea4 100644
--- a/airavata-kubernetes/modules/microservices/helix-controller/pom.xml
+++ b/airavata-kubernetes/modules/microservices/helix-controller/pom.xml
@@ -12,8 +12,73 @@
 
     <artifactId>helix-controller</artifactId>
 
-    <dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.5.1</version>
+                <configuration>
+                    <source>${java.version}</source>
+                    <target>${java.version}</target>
+                </configuration>
+            </plugin>
 
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifest>
+                            <mainClass>org.apache.airavata.helix.HelixController</mainClass>
+                        </manifest>
+                    </archive>
+                    <descriptorRefs>
+                        <descriptorRef>jar-with-dependencies</descriptorRef>
+                    </descriptorRefs>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>make-assembly</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <!-- Create a docker image that runs the executable jar-->
+            <plugin>
+                <groupId>com.spotify</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+                <version>1.0.0</version>
+                <configuration>
+                    <imageName>${docker.image.prefix}/helix-controller</imageName>
+                    <baseImage>java:openjdk-8-jdk-alpine</baseImage>
+                    <exposes>
+                        <expose>8080</expose>
+                    </exposes>
+                    <entryPoint>["java","-jar","/${project.build.finalName}-jar-with-dependencies.jar"]</entryPoint>
+                    <resources>
+                        <resource>
+                            <targetPath>/</targetPath>
+                            <directory>${project.build.directory}</directory>
+                            <include>${project.build.finalName}-jar-with-dependencies.jar</include>
+                        </resource>
+                    </resources>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
         <dependency>
             <groupId>org.apache.helix</groupId>
             <artifactId>helix-core</artifactId>
@@ -31,6 +96,11 @@
             <groupId>org.apache.curator</groupId>
             <artifactId>curator-framework</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>helix-task-api</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/airavata-kubernetes/modules/microservices/helix-controller/src/main/java/org/apache/airavata/helix/HelixController.java b/airavata-kubernetes/modules/microservices/helix-controller/src/main/java/org/apache/airavata/helix/HelixController.java
index 50fd82b..1b08e56 100644
--- a/airavata-kubernetes/modules/microservices/helix-controller/src/main/java/org/apache/airavata/helix/HelixController.java
+++ b/airavata-kubernetes/modules/microservices/helix-controller/src/main/java/org/apache/airavata/helix/HelixController.java
@@ -1,9 +1,12 @@
 package org.apache.airavata.helix;
 
+import org.apache.airavata.helix.api.PropertyResolver;
 import org.apache.helix.controller.HelixControllerMain;
 import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
 
+import java.io.File;
+import java.io.IOException;
 import java.util.concurrent.CountDownLatch;
 
 /**
@@ -24,10 +27,14 @@
     private CountDownLatch startLatch = new CountDownLatch(1);
     private CountDownLatch stopLatch = new CountDownLatch(1);
 
-    public HelixController(String zkAddress, String clusterName, String controllerName) {
-        this.clusterName = clusterName;
-        this.controllerName = controllerName;
-        this.zkAddress = zkAddress;
+    public HelixController(String propertyFile) throws IOException {
+
+        PropertyResolver propertyResolver = new PropertyResolver();
+        propertyResolver.loadInputStream(this.getClass().getClassLoader().getResourceAsStream(propertyFile));
+
+        this.clusterName = propertyResolver.get("helix.cluster.name");
+        this.controllerName = propertyResolver.get("helix.controller.name");
+        this.zkAddress = propertyResolver.get("zookeeper.connection.url");
     }
 
     public void run() {
@@ -77,7 +84,11 @@
     }
 
     public static void main(String args[]) {
-        HelixController helixController = new HelixController("localhost:2199", "AiravataDemoCluster", "AiravataController");
-        helixController.start();
+        try {
+            HelixController helixController = new HelixController("application.properties");
+            helixController.start();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
     }
 }
diff --git a/airavata-kubernetes/modules/microservices/helix-controller/src/main/resources/application.properties b/airavata-kubernetes/modules/microservices/helix-controller/src/main/resources/application.properties
new file mode 100644
index 0000000..bc3c9db
--- /dev/null
+++ b/airavata-kubernetes/modules/microservices/helix-controller/src/main/resources/application.properties
@@ -0,0 +1,3 @@
+zookeeper.connection.url=localhost:2199
+helix.cluster.name=AiravataDemoCluster
+helix.controller.name=AiravataController
diff --git a/airavata-kubernetes/modules/microservices/helix-controller/src/main/resources/log4j.properties b/airavata-kubernetes/modules/microservices/helix-controller/src/main/resources/log4j.properties
new file mode 100644
index 0000000..5e31e3c
--- /dev/null
+++ b/airavata-kubernetes/modules/microservices/helix-controller/src/main/resources/log4j.properties
@@ -0,0 +1,9 @@
+# Set root logger level to DEBUG and its only appender to A1.
+log4j.rootLogger=INFO, A1
+
+# A1 is set to be a ConsoleAppender.
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+
+# A1 uses PatternLayout.
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
\ No newline at end of file
diff --git a/airavata-kubernetes/modules/microservices/tasks/command-task/pom.xml b/airavata-kubernetes/modules/microservices/tasks/command-task/pom.xml
index a67fefc..bafde96 100644
--- a/airavata-kubernetes/modules/microservices/tasks/command-task/pom.xml
+++ b/airavata-kubernetes/modules/microservices/tasks/command-task/pom.xml
@@ -84,7 +84,6 @@
             <artifactId>helix-task-api</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>
-
         <dependency>
             <groupId>org.apache.helix</groupId>
             <artifactId>helix-core</artifactId>
diff --git a/airavata-kubernetes/modules/microservices/tasks/command-task/src/main/java/org/apache/airavata/helix/task/command/CommandTask.java b/airavata-kubernetes/modules/microservices/tasks/command-task/src/main/java/org/apache/airavata/helix/task/command/CommandTask.java
index 16c600e..866c2c7 100644
--- a/airavata-kubernetes/modules/microservices/tasks/command-task/src/main/java/org/apache/airavata/helix/task/command/CommandTask.java
+++ b/airavata-kubernetes/modules/microservices/tasks/command-task/src/main/java/org/apache/airavata/helix/task/command/CommandTask.java
@@ -55,7 +55,7 @@
             String finalCommand = command + (arguments != null ? arguments : "") + stdOutSuffix;
 
             System.out.println("Executing command " + finalCommand);
-
+            Thread.sleep(200000);
             ExecutionResult executionResult = fetchComputeResourceOperation(computeResource).executeCommand(finalCommand);
 
             if (executionResult.getExitStatus() == 0) {
diff --git a/airavata-kubernetes/modules/microservices/tasks/command-task/src/main/java/org/apache/airavata/helix/task/command/Participant.java b/airavata-kubernetes/modules/microservices/tasks/command-task/src/main/java/org/apache/airavata/helix/task/command/Participant.java
index 742ed88..3b7e55e 100644
--- a/airavata-kubernetes/modules/microservices/tasks/command-task/src/main/java/org/apache/airavata/helix/task/command/Participant.java
+++ b/airavata-kubernetes/modules/microservices/tasks/command-task/src/main/java/org/apache/airavata/helix/task/command/Participant.java
@@ -6,6 +6,7 @@
 import org.apache.helix.task.TaskCallbackContext;
 import org.apache.helix.task.TaskFactory;
 
+import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -17,8 +18,9 @@
  */
 public class Participant extends HelixParticipant {
 
-    public Participant(String zkAddress, String clusterName, String participantName, String taskTypeName, String apiServerUrl) {
-        super(zkAddress, clusterName, participantName, taskTypeName, apiServerUrl);
+
+    public Participant(String propertyFile) throws IOException {
+        super(propertyFile);
     }
 
     @Override
@@ -43,11 +45,11 @@
     }
 
     public static void main(String args[]) {
-        HelixParticipant participant = new Participant(
-                "localhost:2199",
-                "AiravataDemoCluster",
-                "command-p1", CommandTask.NAME,
-                "localhost:8080");
-        new Thread(participant).start();
+        try {
+            HelixParticipant participant = new Participant("application.properties");
+            new Thread(participant).start();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
     }
 }
diff --git a/airavata-kubernetes/modules/microservices/tasks/command-task/src/main/resources/application.properties b/airavata-kubernetes/modules/microservices/tasks/command-task/src/main/resources/application.properties
new file mode 100644
index 0000000..92292ab
--- /dev/null
+++ b/airavata-kubernetes/modules/microservices/tasks/command-task/src/main/resources/application.properties
@@ -0,0 +1,5 @@
+api.server.url=api-server.default.svc.cluster.local:8080
+zookeeper.connection.url=localhost:2199
+helix.cluster.name=AiravataDemoCluster
+participant.name=command-p2
+task.type.name=COMMAND
diff --git a/airavata-kubernetes/modules/microservices/tasks/data-in-task/pom.xml b/airavata-kubernetes/modules/microservices/tasks/data-in-task/pom.xml
index d6c2fe6..a3503ab 100644
--- a/airavata-kubernetes/modules/microservices/tasks/data-in-task/pom.xml
+++ b/airavata-kubernetes/modules/microservices/tasks/data-in-task/pom.xml
@@ -29,7 +29,7 @@
                 <configuration>
                     <archive>
                         <manifest>
-                            <mainClass>org.apache.airavata.helix.task.command.Participant</mainClass>
+                            <mainClass>org.apache.airavata.helix.task.datain.Participant</mainClass>
                         </manifest>
                     </archive>
                     <descriptorRefs>
diff --git a/airavata-kubernetes/modules/microservices/tasks/data-in-task/src/main/java/org/apache/airavata/helix/task/datain/Participant.java b/airavata-kubernetes/modules/microservices/tasks/data-in-task/src/main/java/org/apache/airavata/helix/task/datain/Participant.java
index cfbe86a..d804352 100644
--- a/airavata-kubernetes/modules/microservices/tasks/data-in-task/src/main/java/org/apache/airavata/helix/task/datain/Participant.java
+++ b/airavata-kubernetes/modules/microservices/tasks/data-in-task/src/main/java/org/apache/airavata/helix/task/datain/Participant.java
@@ -6,6 +6,7 @@
 import org.apache.helix.task.TaskCallbackContext;
 import org.apache.helix.task.TaskFactory;
 
+import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -17,10 +18,9 @@
  */
 public class Participant extends HelixParticipant {
 
-    public Participant(String zkAddress, String clusterName, String participantName,
-                       String taskTypeName,
-                       String apiServerUrl) {
-        super(zkAddress, clusterName, participantName, taskTypeName, apiServerUrl);
+
+    public Participant(String propertyFile) throws IOException {
+        super(propertyFile);
     }
 
     @Override
@@ -45,11 +45,11 @@
     }
 
     public static void main(String args[]) {
-        HelixParticipant participant = new Participant(
-                "localhost:2199",
-                "AiravataDemoCluster",
-                "data-in-p1", DataInputTask.NAME,
-                "localhost:8080");
-        new Thread(participant).start();
+        try {
+            HelixParticipant participant = new Participant("application.properties");
+            new Thread(participant).start();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
     }
 }
diff --git a/airavata-kubernetes/modules/microservices/tasks/data-in-task/src/main/resources/application.properties b/airavata-kubernetes/modules/microservices/tasks/data-in-task/src/main/resources/application.properties
new file mode 100644
index 0000000..3f98946
--- /dev/null
+++ b/airavata-kubernetes/modules/microservices/tasks/data-in-task/src/main/resources/application.properties
@@ -0,0 +1,5 @@
+api.server.url=api-server.default.svc.cluster.local:8080
+zookeeper.connection.url=localhost:2199
+helix.cluster.name=AiravataDemoCluster
+participant.name=data-in-p1
+task.type.name=DATA_INPUT
\ No newline at end of file
diff --git a/airavata-kubernetes/modules/microservices/tasks/data-out-task/pom.xml b/airavata-kubernetes/modules/microservices/tasks/data-out-task/pom.xml
index 80c9e87..4f27e24 100644
--- a/airavata-kubernetes/modules/microservices/tasks/data-out-task/pom.xml
+++ b/airavata-kubernetes/modules/microservices/tasks/data-out-task/pom.xml
@@ -29,7 +29,7 @@
                 <configuration>
                     <archive>
                         <manifest>
-                            <mainClass>org.apache.airavata.helix.task.command.Participant</mainClass>
+                            <mainClass>org.apache.airavata.helix.task.dataout.Participant</mainClass>
                         </manifest>
                     </archive>
                     <descriptorRefs>
diff --git a/airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/java/org/apache/airavata/helix/task/datain/dataout/DataOutputTask.java b/airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/java/org/apache/airavata/helix/task/dataout/DataOutputTask.java
similarity index 98%
rename from airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/java/org/apache/airavata/helix/task/datain/dataout/DataOutputTask.java
rename to airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/java/org/apache/airavata/helix/task/dataout/DataOutputTask.java
index 8426c90..ad6123f 100644
--- a/airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/java/org/apache/airavata/helix/task/datain/dataout/DataOutputTask.java
+++ b/airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/java/org/apache/airavata/helix/task/dataout/DataOutputTask.java
@@ -1,4 +1,4 @@
-package org.apache.airavata.helix.task.datain.dataout;
+package org.apache.airavata.helix.task.dataout;
 
 import org.apache.airavata.helix.api.AbstractTask;
 import org.apache.airavata.k8s.api.resources.compute.ComputeResource;
diff --git a/airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/java/org/apache/airavata/helix/task/datain/dataout/Participant.java b/airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/java/org/apache/airavata/helix/task/dataout/Participant.java
similarity index 66%
rename from airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/java/org/apache/airavata/helix/task/datain/dataout/Participant.java
rename to airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/java/org/apache/airavata/helix/task/dataout/Participant.java
index 8177eb4..a26c654 100644
--- a/airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/java/org/apache/airavata/helix/task/datain/dataout/Participant.java
+++ b/airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/java/org/apache/airavata/helix/task/dataout/Participant.java
@@ -1,4 +1,4 @@
-package org.apache.airavata.helix.task.datain.dataout;
+package org.apache.airavata.helix.task.dataout;
 
 import org.apache.airavata.helix.api.HelixParticipant;
 import org.apache.airavata.k8s.api.resources.task.type.TaskTypeResource;
@@ -6,6 +6,7 @@
 import org.apache.helix.task.TaskCallbackContext;
 import org.apache.helix.task.TaskFactory;
 
+import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -17,9 +18,8 @@
  */
 public class Participant extends HelixParticipant {
 
-    public Participant(String zkAddress, String clusterName, String participantName,
-                       String taskTypeName, String apiServerUrl) {
-        super(zkAddress, clusterName, participantName, taskTypeName, apiServerUrl);
+    public Participant(String propertyFile) throws IOException {
+        super(propertyFile);
     }
 
     @Override
@@ -44,11 +44,11 @@
     }
 
     public static void main(String args[]) {
-        HelixParticipant participant = new Participant(
-                "localhost:2199",
-                "AiravataDemoCluster",
-                "data-out-p1", DataOutputTask.NAME,
-                "localhost:8080");
-        new Thread(participant).start();
+        try {
+            HelixParticipant participant = new Participant("application.properties");
+            new Thread(participant).start();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
     }
 }
diff --git a/airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/resources/application.properties b/airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/resources/application.properties
new file mode 100644
index 0000000..37109d6
--- /dev/null
+++ b/airavata-kubernetes/modules/microservices/tasks/data-out-task/src/main/resources/application.properties
@@ -0,0 +1,5 @@
+api.server.url=api-server.default.svc.cluster.local:8080
+zookeeper.connection.url=localhost:2199
+helix.cluster.name=AiravataDemoCluster
+participant.name=data-out-p1
+task.type.name=DATA_OUTPUT
\ No newline at end of file
diff --git a/airavata-kubernetes/modules/microservices/workflow-scheduler/pom.xml b/airavata-kubernetes/modules/microservices/workflow-scheduler/pom.xml
index 245716a..66974fb 100644
--- a/airavata-kubernetes/modules/microservices/workflow-scheduler/pom.xml
+++ b/airavata-kubernetes/modules/microservices/workflow-scheduler/pom.xml
@@ -45,9 +45,17 @@
             <version>1.0-SNAPSHOT</version>
         </dependency>
 
+
+
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.springframework.boot</groupId>
+                    <artifactId>spring-boot-starter-logging</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
@@ -59,6 +67,11 @@
         </dependency>
 
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+            <version>1.7.25</version>
+        </dependency>
+        <dependency>
             <groupId>org.apache.helix</groupId>
             <artifactId>helix-core</artifactId>
             <version>0.6.7</version>
diff --git a/airavata-kubernetes/modules/microservices/workflow-scheduler/src/main/java/org/apache/airavata/k8s/gfac/core/HelixWorkflowManager.java b/airavata-kubernetes/modules/microservices/workflow-scheduler/src/main/java/org/apache/airavata/k8s/gfac/core/HelixWorkflowManager.java
index 36f66b4..53778ac 100644
--- a/airavata-kubernetes/modules/microservices/workflow-scheduler/src/main/java/org/apache/airavata/k8s/gfac/core/HelixWorkflowManager.java
+++ b/airavata-kubernetes/modules/microservices/workflow-scheduler/src/main/java/org/apache/airavata/k8s/gfac/core/HelixWorkflowManager.java
@@ -38,20 +38,28 @@
     private final RestTemplate restTemplate;
     private String apiServerUrl;
 
+    private String zkConnectionString;
+    private String helixClusterName;
+    private String instanceName;
+
     public HelixWorkflowManager(long processId, List<TaskResource> tasks, Map<Long, Long> edgeMap,
                                 KafkaSender kafkaSender,
-                                RestTemplate restTemplate, String apiServerUrl) {
+                                RestTemplate restTemplate, String apiServerUrl, String zkConnectionString,
+                                String helixClusterName, String instanceName) {
         this.processId = processId;
         this.tasks = tasks;
         this.edgeMap = edgeMap;
         this.kafkaSender = kafkaSender;
         this.restTemplate = restTemplate;
         this.apiServerUrl = apiServerUrl;
+        this.zkConnectionString = zkConnectionString;
+        this.helixClusterName = helixClusterName;
+        this.instanceName = instanceName;
     }
 
     public void launchWorkflow() {
-        org.apache.helix.HelixManager helixManager = HelixManagerFactory.getZKHelixManager("AiravataDemoCluster", "Admin",
-                InstanceType.SPECTATOR, "localhost:2199");
+        org.apache.helix.HelixManager helixManager = HelixManagerFactory.getZKHelixManager(helixClusterName, instanceName,
+                InstanceType.SPECTATOR, zkConnectionString);
 
         try {
             updateProcessStatus(ProcessStatusResource.State.CREATED);
diff --git a/airavata-kubernetes/modules/microservices/workflow-scheduler/src/main/java/org/apache/airavata/k8s/gfac/service/WorkerService.java b/airavata-kubernetes/modules/microservices/workflow-scheduler/src/main/java/org/apache/airavata/k8s/gfac/service/WorkerService.java
index 1ccf1d1..606c20a 100644
--- a/airavata-kubernetes/modules/microservices/workflow-scheduler/src/main/java/org/apache/airavata/k8s/gfac/service/WorkerService.java
+++ b/airavata-kubernetes/modules/microservices/workflow-scheduler/src/main/java/org/apache/airavata/k8s/gfac/service/WorkerService.java
@@ -54,6 +54,15 @@
     @Value("${api.server.url}")
     private String apiServerUrl;
 
+    @Value("${zookeeper.connection.url}")
+    private String zkConnectionString;
+
+    @Value("${helix.cluster.name}")
+    private String helixClusterName;
+
+    @Value("${instance.name}")
+    private String instanceName;
+
     public WorkerService(RestTemplate restTemplate, KafkaSender kafkaSender) {
         this.restTemplate = restTemplate;
         this.kafkaSender = kafkaSender;
@@ -83,7 +92,9 @@
 
         //processLifecycleStore.put(processId, manager);
 
-        final HelixWorkflowManager helixWorkflowManager = new HelixWorkflowManager(processId, taskResources, edgeMap, kafkaSender, restTemplate, apiServerUrl);
+        final HelixWorkflowManager helixWorkflowManager = new HelixWorkflowManager(processId, taskResources, edgeMap,
+                kafkaSender, restTemplate, apiServerUrl,
+                zkConnectionString, helixClusterName, instanceName);
 
         executorService.execute(new Runnable() {
             @Override
diff --git a/airavata-kubernetes/modules/microservices/workflow-scheduler/src/main/resources/application.properties b/airavata-kubernetes/modules/microservices/workflow-scheduler/src/main/resources/application.properties
index c23a904..41b2847 100644
--- a/airavata-kubernetes/modules/microservices/workflow-scheduler/src/main/resources/application.properties
+++ b/airavata-kubernetes/modules/microservices/workflow-scheduler/src/main/resources/application.properties
@@ -2,4 +2,8 @@
 api.server.url = api-server.default.svc.cluster.local:8080
 scheduler.topic.name = airavata-scheduler
 scheduler.group.name = task-scheduler
-task.event.topic.name = airavata-task-event
\ No newline at end of file
+task.event.topic.name = airavata-task-event
+
+zookeeper.connection.url=localhost:2199
+helix.cluster.name=AiravataDemoCluster
+instance.name=Admin
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/docker/jenkins-docker-kubectl-mvn/Dockerfile b/airavata-kubernetes/scripts/docker/jenkins-docker-kubectl-mvn/Dockerfile
new file mode 100644
index 0000000..544a9d3
--- /dev/null
+++ b/airavata-kubernetes/scripts/docker/jenkins-docker-kubectl-mvn/Dockerfile
@@ -0,0 +1,2 @@
+FROM chadmoon/jenkins-docker-kubectl:latest
+ADD apache-maven-3.5.2 /opt/maven
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/api-server/api-server-dep.yml b/airavata-kubernetes/scripts/k8s/api-server/api-server-dep.yml
index 95c6502..8f61723 100644
--- a/airavata-kubernetes/scripts/k8s/api-server/api-server-dep.yml
+++ b/airavata-kubernetes/scripts/k8s/api-server/api-server-dep.yml
@@ -18,9 +18,9 @@
       - name: api-server
         env:
         - name: spring_datasource_username
-          value: airavata-user
+          value: root
         - name: spring_datasource_password
-          value: password
+          value: fun123
         image: dimuthuupe/api-server:v1.0
         ports:
         - containerPort: 8080
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/ci-cd/Jenkinsfile b/airavata-kubernetes/scripts/k8s/ci-cd/Jenkinsfile
new file mode 100644
index 0000000..aaf3a04
--- /dev/null
+++ b/airavata-kubernetes/scripts/k8s/ci-cd/Jenkinsfile
@@ -0,0 +1,78 @@
+node {
+
+    checkout scm
+
+    env.DOCKER_API_VERSION="1.23"
+
+    sh "git rev-parse --short HEAD > commit-id"
+
+    tag = readFile('commit-id').replace("\n", "").replace("\r", "")
+    registryHost = "192.168.1.114:5000"
+
+    api_server_imageName = "${registryHost}/api-server:${tag}"
+    env.BUILDIMG_API_SERVER=api_server_imageName
+
+    event_sink_imageName = "${registryHost}/event-sink:${tag}"
+    env.BUILDIMG_EVENT_SINK=event_sink_imageName
+
+    helix_controller_imageName = "${registryHost}/helix-controller:${tag}"
+    env.BUILDIMG_HELIX_CONTROLLER=helix_controller_imageName
+
+    task_scheduler_imageName = "${registryHost}/task-scheduler:${tag}"
+    env.BUILDIMG_TASK_SCHEDULER=task_scheduler_imageName
+
+    command_task_imageName = "${registryHost}/command-task:${tag}"
+    env.BUILDIMG_COMMAND_TASK=command_task_imageName
+
+    data_in_task_imageName = "${registryHost}/data-in-task:${tag}"
+    env.BUILDIMG_DATA_IN_TASK=data_in_task_imageName
+
+    data_out_task_imageName = "${registryHost}/data-out-task:${tag}"
+    env.BUILDIMG_DATA_OUT_TASK=data_out_task_imageName
+
+    stage "Build"
+        sh "/opt/maven/bin/mvn -f modules/api-resource/ clean install"
+        sh "/opt/maven/bin/mvn -f modules/compute-resource-api/ clean install"
+        sh "/opt/maven/bin/mvn -f modules/helix-task-api/ clean install"
+        sh "/opt/maven/bin/mvn -f modules/microservices/api-server/ clean install docker:build -DdockerImageTags=${tag} -Ddocker.image.prefix=${registryHost}"
+        sh "/opt/maven/bin/mvn -f modules/microservices/event-sink/ clean install docker:build -DdockerImageTags=${tag} -Ddocker.image.prefix=${registryHost}"
+        sh "/opt/maven/bin/mvn -f modules/microservices/helix-controller/ clean install docker:build -DdockerImageTags=${tag} -Ddocker.image.prefix=${registryHost}"
+        sh "/opt/maven/bin/mvn -f modules/microservices/workflow-scheduler/ clean install docker:build -DdockerImageTags=${tag} -Ddocker.image.prefix=${registryHost}"
+        sh "/opt/maven/bin/mvn -f modules/microservices/tasks/command-task/ clean install docker:build -DdockerImageTags=${tag} -Ddocker.image.prefix=${registryHost}"
+        sh "/opt/maven/bin/mvn -f modules/microservices/tasks/data-in-task/ clean install docker:build -DdockerImageTags=${tag} -Ddocker.image.prefix=${registryHost}"
+        sh "/opt/maven/bin/mvn -f modules/microservices/tasks/data-out-task/ clean install docker:build -DdockerImageTags=${tag} -Ddocker.image.prefix=${registryHost}"
+
+    stage "Push"
+
+        sh "docker push ${api_server_imageName}"
+        sh "docker push ${event_sink_imageName}"
+        sh "docker push ${helix_controller_imageName}"
+        sh "docker push ${task_scheduler_imageName}"
+        sh "docker push ${command_task_imageName}"
+        sh "docker push ${data_in_task_imageName}"
+        sh "docker push ${data_out_task_imageName}"
+
+    stage "Deploy"
+
+        sh "sed 's#dimuthuupe/api-server:v1.0#'$BUILDIMG_API_SERVER'#' scripts/k8s/api-server/api-server-dep.yaml | kubectl apply -f -"
+        sh "kubectl rollout status deployment/api-server"
+
+        sh "sed 's#dimuthuupe/event-sink:v1.0#'BUILDIMG_EVENT_SINK'#' scripts/k8s/event-sink/event-sink-dep.yaml | kubectl apply -f -"
+        sh "kubectl rollout status deployment/event-sink"
+
+        sh "sed 's#dimuthuupe/helix-controller:v1.0#'BUILDIMG_HELIX_CONTROLLER'#' scripts/k8s/helix-controller/helix-controller-dep.yaml | kubectl apply -f -"
+        sh "kubectl rollout status deployment/helix-controller"
+
+        sh "sed 's#dimuthuupe/task-scheduler:v1.0#'BUILDIMG_TASK_SCHEDULER'#' scripts/k8s/task-scheduler/task-scheduler-dep.yaml | kubectl apply -f -"
+        sh "kubectl rollout status deployment/task-scheduler"
+
+        sh "sed 's#dimuthuupe/command-task:v1.0#'BUILDIMG_COMMAND_TASK'#' scripts/k8s/command-task/command-task-dep.yaml | kubectl apply -f -"
+        sh "kubectl rollout status deployment/command-task"
+
+        sh "sed 's#dimuthuupe/data-in-task:v1.0#'BUILDIMG_DATA_IN_TASK'#' scripts/k8s/data-in-task/data-in-task-dep.yaml | kubectl apply -f -"
+        sh "kubectl rollout status deployment/data-in-task"
+
+        sh "sed 's#dimuthuupe/data-out-task:v1.0#'BUILDIMG_DATA_OUT_TASK'#' scripts/k8s/data-out-task/data-out-task-dep.yaml | kubectl apply -f -"
+        sh "kubectl rollout status deployment/data-out-task"
+
+}
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/ci-cd/jenkins.yml b/airavata-kubernetes/scripts/k8s/ci-cd/jenkins.yml
new file mode 100644
index 0000000..6f98fc4
--- /dev/null
+++ b/airavata-kubernetes/scripts/k8s/ci-cd/jenkins.yml
@@ -0,0 +1,76 @@
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: jenkins
+  labels:
+    type: local
+spec:
+  capacity:
+    storage: 2Gi
+  accessModes:
+    - ReadWriteOnce
+  hostPath:
+    path: "/data/jenkins/"
+
+---
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: jenkins-claim
+spec:
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 2Gi
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: jenkins
+  labels:
+    app: jenkins
+spec:
+  ports:
+    - port: 80
+      targetPort: 8080
+  selector:
+    app: jenkins
+    tier: jenkins
+  type: NodePort
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: jenkins
+  labels:
+    app: jenkins
+spec:
+  strategy:
+    type: Recreate
+  template:
+    metadata:
+      labels:
+        app: jenkins
+        tier: jenkins
+    spec:
+      containers:
+      - image: dimuthuupe/jenkins-docker-kubectl:v1
+        name: jenkins
+        securityContext:
+          privileged: true
+        ports:
+        - containerPort: 8080
+          name: jenkins
+        volumeMounts:
+        - name: jenkins-persistent-storage
+          mountPath: /root/.jenkins
+        - name: docker
+          mountPath: /var/run/docker.sock
+      volumes:
+      - name: docker
+        hostPath:
+          path: /var/run/docker.sock
+      - name: jenkins-persistent-storage
+        persistentVolumeClaim:
+          claimName: jenkins-claim
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/helix-controller/helix-controller-dep.yml b/airavata-kubernetes/scripts/k8s/helix-controller/helix-controller-dep.yml
new file mode 100644
index 0000000..6dfad3e
--- /dev/null
+++ b/airavata-kubernetes/scripts/k8s/helix-controller/helix-controller-dep.yml
@@ -0,0 +1,24 @@
+apiVersion: apps/v1beta2 # for versions before 1.7.0 use apps/v1beta1
+kind: Deployment
+metadata:
+  name: helix-controller
+  labels:
+    app: helix-controller
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: helix-controller
+  template:
+    metadata:
+      labels:
+        app: helix-controller
+    spec:
+      containers:
+      - name: helix-controller
+        image: dimuthuupe/helix-controller:v1.0
+        env:
+        - name: zookeeper_connection_url
+          value: zk.default.svc.cluster.local:2199
+        ports:
+        - containerPort: 8080
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/task-scheduler/task-secheduler-dep.yml b/airavata-kubernetes/scripts/k8s/task-scheduler/task-secheduler-dep.yml
index 283a40b..c731bfb 100644
--- a/airavata-kubernetes/scripts/k8s/task-scheduler/task-secheduler-dep.yml
+++ b/airavata-kubernetes/scripts/k8s/task-scheduler/task-secheduler-dep.yml
@@ -17,5 +17,8 @@
       containers:
       - name: task-scheduler
         image: dimuthuupe/task-scheduler:v1.0
+        env:
+        - name: zookeeper_connection_url
+          value: zk.default.svc.cluster.local:2199
         ports:
         - containerPort: 8080
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/tasks/command-task/command-task-dep.yml b/airavata-kubernetes/scripts/k8s/tasks/command-task/command-task-dep.yml
new file mode 100644
index 0000000..04bc4a9
--- /dev/null
+++ b/airavata-kubernetes/scripts/k8s/tasks/command-task/command-task-dep.yml
@@ -0,0 +1,28 @@
+apiVersion: apps/v1beta2 # for versions before 1.7.0 use apps/v1beta1
+kind: Deployment
+metadata:
+  name: command-task
+  labels:
+    app: command-task
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: command-task
+  template:
+    metadata:
+      labels:
+        app: command-task
+    spec:
+      containers:
+      - name: command-task
+        image: dimuthuupe/command-task:v1.0
+        env:
+        - name: zookeeper_connection_url
+          value: zk.default.svc.cluster.local:2199
+        - name: participant_name
+          valueFrom:
+            fieldRef:
+              fieldPath: metadata.name
+        ports:
+        - containerPort: 8080
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/tasks/data-in-task/data-in-task-dep.yml b/airavata-kubernetes/scripts/k8s/tasks/data-in-task/data-in-task-dep.yml
new file mode 100644
index 0000000..ca5dfd9
--- /dev/null
+++ b/airavata-kubernetes/scripts/k8s/tasks/data-in-task/data-in-task-dep.yml
@@ -0,0 +1,28 @@
+apiVersion: apps/v1beta2 # for versions before 1.7.0 use apps/v1beta1
+kind: Deployment
+metadata:
+  name: data-in-task
+  labels:
+    app: data-in-task
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: data-in-task
+  template:
+    metadata:
+      labels:
+        app: data-in-task
+    spec:
+      containers:
+      - name: data-in-task
+        image: dimuthuupe/data-in-task:v1.0
+        env:
+        - name: zookeeper_connection_url
+          value: zk.default.svc.cluster.local:2199
+        - name: participant_name
+          valueFrom:
+            fieldRef:
+              fieldPath: metadata.name
+        ports:
+        - containerPort: 8080
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/tasks/data-out-task/data-out-task-dep.yml b/airavata-kubernetes/scripts/k8s/tasks/data-out-task/data-out-task-dep.yml
new file mode 100644
index 0000000..8ab80fb
--- /dev/null
+++ b/airavata-kubernetes/scripts/k8s/tasks/data-out-task/data-out-task-dep.yml
@@ -0,0 +1,28 @@
+apiVersion: apps/v1beta2 # for versions before 1.7.0 use apps/v1beta1
+kind: Deployment
+metadata:
+  name: data-out-task
+  labels:
+    app: data-out-task
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: data-out-task
+  template:
+    metadata:
+      labels:
+        app: data-out-task
+    spec:
+      containers:
+      - name: data-out-task
+        image: dimuthuupe/data-out-task:v1.0
+        env:
+        - name: zookeeper_connection_url
+          value: zk.default.svc.cluster.local:2199
+        - name: participant_name
+          valueFrom:
+            fieldRef:
+              fieldPath: metadata.name
+        ports:
+        - containerPort: 8080
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/tasks/egress-staging-task/egress-staging-task-dep.yml b/airavata-kubernetes/scripts/k8s/tasks/egress-staging-task/egress-staging-task-dep.yml
deleted file mode 100644
index a1588a0..0000000
--- a/airavata-kubernetes/scripts/k8s/tasks/egress-staging-task/egress-staging-task-dep.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-apiVersion: apps/v1beta2 # for versions before 1.7.0 use apps/v1beta1
-kind: Deployment
-metadata:
-  name: egress-staging-task
-  labels:
-    app: egress-staging-task
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: egress-staging-task
-  template:
-    metadata:
-      labels:
-        app: egress-staging-task
-    spec:
-      containers:
-      - name: egress-staging-task
-        image: dimuthuupe/egress-staging-task:v1.0
-        ports:
-        - containerPort: 8080
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/tasks/env-cleanup-task/env-cleanup-task-dep.yml b/airavata-kubernetes/scripts/k8s/tasks/env-cleanup-task/env-cleanup-task-dep.yml
deleted file mode 100644
index 85b1c20..0000000
--- a/airavata-kubernetes/scripts/k8s/tasks/env-cleanup-task/env-cleanup-task-dep.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-apiVersion: apps/v1beta2 # for versions before 1.7.0 use apps/v1beta1
-kind: Deployment
-metadata:
-  name: env-cleanup-task
-  labels:
-    app: env-cleanup-task
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: env-cleanup-task
-  template:
-    metadata:
-      labels:
-        app: env-cleanup-task
-    spec:
-      containers:
-      - name: env-cleanup-task
-        image: dimuthuupe/env-cleanup-task:v1.0
-        ports:
-        - containerPort: 8080
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/tasks/env-setup-task/env-setup-task-dep.yml b/airavata-kubernetes/scripts/k8s/tasks/env-setup-task/env-setup-task-dep.yml
deleted file mode 100644
index 4e92893..0000000
--- a/airavata-kubernetes/scripts/k8s/tasks/env-setup-task/env-setup-task-dep.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-apiVersion: apps/v1beta2 # for versions before 1.7.0 use apps/v1beta1
-kind: Deployment
-metadata:
-  name: env-setup-task
-  labels:
-    app: env-setup-task
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: env-setup-task
-  template:
-    metadata:
-      labels:
-        app: env-setup-task
-    spec:
-      containers:
-      - name: env-setup-task
-        image: dimuthuupe/env-setup-task:v1.0
-        ports:
-        - containerPort: 8080
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/tasks/ingress-staging-task/ingress-staging-task-dep.yml b/airavata-kubernetes/scripts/k8s/tasks/ingress-staging-task/ingress-staging-task-dep.yml
deleted file mode 100644
index 7e1b6ad..0000000
--- a/airavata-kubernetes/scripts/k8s/tasks/ingress-staging-task/ingress-staging-task-dep.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-apiVersion: apps/v1beta2 # for versions before 1.7.0 use apps/v1beta1
-kind: Deployment
-metadata:
-  name: ingress-staging-task
-  labels:
-    app: ingress-staging-task
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: ingress-staging-task
-  template:
-    metadata:
-      labels:
-        app: ingress-staging-task
-    spec:
-      containers:
-      - name: ingress-staging-task
-        image: dimuthuupe/ingress-staging-task:v1.0
-        ports:
-        - containerPort: 8080
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/tasks/job-submission-task/job-submission-task-dep.yml b/airavata-kubernetes/scripts/k8s/tasks/job-submission-task/job-submission-task-dep.yml
deleted file mode 100644
index 354edc4..0000000
--- a/airavata-kubernetes/scripts/k8s/tasks/job-submission-task/job-submission-task-dep.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-apiVersion: apps/v1beta2 # for versions before 1.7.0 use apps/v1beta1
-kind: Deployment
-metadata:
-  name: job-submission-task
-  labels:
-    app: job-submission-task
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: job-submission-task
-  template:
-    metadata:
-      labels:
-        app: job-submission-task
-    spec:
-      containers:
-      - name: job-submission-task
-        image: dimuthuupe/job-submission-task:v1.0
-        ports:
-        - containerPort: 8080
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/workflow-generator/workflow-generator-dep.yml b/airavata-kubernetes/scripts/k8s/workflow-generator/workflow-generator-dep.yml
deleted file mode 100644
index 91a08b6..0000000
--- a/airavata-kubernetes/scripts/k8s/workflow-generator/workflow-generator-dep.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-apiVersion: apps/v1beta2 # for versions before 1.7.0 use apps/v1beta1
-kind: Deployment
-metadata:
-  name: workflow-generator
-  labels:
-    app: workflow-generator
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: workflow-generator
-  template:
-    metadata:
-      labels:
-        app: workflow-generator
-    spec:
-      containers:
-      - name: workflow-generator
-        image: dimuthuupe/workflow-generator:v1.0
-        ports:
-        - containerPort: 8080
\ No newline at end of file
diff --git a/airavata-kubernetes/scripts/k8s/zookeeper-service.yml b/airavata-kubernetes/scripts/k8s/zookeeper-service.yml
new file mode 100644
index 0000000..19fbf94
--- /dev/null
+++ b/airavata-kubernetes/scripts/k8s/zookeeper-service.yml
@@ -0,0 +1,24 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: zk
+  labels:
+    name: zk
+spec:
+  ports:
+    - port: 2199
+      targetPort: 2199
+      protocol: TCP
+      name: zk
+---
+
+kind: Endpoints
+apiVersion: v1
+metadata:
+  name: zk
+subsets:
+  - addresses:
+      - ip: 192.168.1.114
+    ports:
+      - port: 2199
+        name: zk
\ No newline at end of file
