diff --git a/appmanager/BUILD b/appmanager/BUILD
index 9faa2ab..ac84729 100644
--- a/appmanager/BUILD
+++ b/appmanager/BUILD
@@ -1,4 +1,6 @@
 load("//:bazel_tools/docker.bzl", "docker_image")
+load("//:bazel_tools/helm.bzl", "helm_install")
+load("@rules_pkg//:pkg.bzl", "pkg_tar")
 
 # TODO(lekva): figure out how to build py_binary with pip dependencies and
 # migrate off docker_image rule
@@ -10,3 +12,21 @@
 	dockerfile = "Dockerfile",
 	srcs = glob(["**"], exclude=["Dockerfile"]),
 )
+
+pkg_tar(
+	name = "chart",
+	srcs = glob(["chart/**"]),
+	extension = "tar.gz",
+	strip_prefix = "./chart",
+)
+
+helm_install(
+	name = "install",
+	namespace = "pcloud-app-manager",
+	release_name = "init",
+	chart = ":chart",
+	args = {
+	     "image.name": "localhost:30500/giolekva/pcloud-app-manager",
+     	     "image.pullPolicy": "Always",
+	},
+)
diff --git a/bazel_tools/helm.bzl b/bazel_tools/helm.bzl
new file mode 100644
index 0000000..7b71492
--- /dev/null
+++ b/bazel_tools/helm.bzl
@@ -0,0 +1,56 @@
+__HELM_INSTALL_TMPL = """
+#!/bin/sh
+# --- begin runfiles.bash initialization ---
+# Copy-pasted from Bazel's Bash runfiles library (tools/bash/runfiles/runfiles.bash).
+set -euo pipefail
+if [[ ! -d "\$${{RUNFILES_DIR:-/dev/null}}" && ! -f "\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
+    if [[ -f "\$$0.runfiles_manifest" ]]; then
+        export RUNFILES_MANIFEST_FILE="\$$0.runfiles_manifest"
+    elif [[ -f "\$$0.runfiles/MANIFEST" ]]; then
+        export RUNFILES_MANIFEST_FILE="\$$0.runfiles/MANIFEST"
+    elif [[ -f "\$$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
+        export RUNFILES_DIR="\$$0.runfiles"
+    fi
+fi
+if [[ -f "\$${{RUNFILES_DIR:-/dev/null}}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
+    source "\$${{RUNFILES_DIR}}/bazel_tools/tools/bash/runfiles/runfiles.bash"
+elif [[ -f "\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
+    source "\$$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash " \
+    	                 "\$$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)"
+else
+    echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash"
+    exit 1
+fi
+# --- end runfiles.bash initialization ---
+CHART_TARBALL=\$$(rlocation __main__/{package}/{chart})
+helm --namespace={namespace} install --create-namespace {release_name} \$$CHART_TARBALL {args}
+"""
+
+def helm_install(name, namespace, release_name, chart, args):
+    args_str = ""
+    for arg, value in args.items():
+        args_str += "--set %s=%s " % (arg, value)
+    native.genrule(
+	name = "%s.sh" % name,
+	executable = False,
+	srcs = [chart,],
+	outs = ["helm_install.sh",],
+	cmd = """cat > $@ <<EOM
+%s
+EOM
+""" % __HELM_INSTALL_TMPL.format(
+		namespace = namespace,
+		release_name = release_name,
+		package = native.package_name(),
+		chart = "%s.tar.gz" % chart.split(":")[1],
+		args = args_str,
+	))
+    native.sh_binary(
+	name = name,
+	srcs = ["helm_install.sh",],
+	data = [
+	     chart,
+	],
+	deps = [
+	     "@bazel_tools//tools/bash/runfiles",
+	])
diff --git a/controller/BUILD b/controller/BUILD
index bfdf0b1..48e6b37 100644
--- a/controller/BUILD
+++ b/controller/BUILD
@@ -1,4 +1,6 @@
 load("//:bazel_tools/docker.bzl", "docker_image")
+load("//:bazel_tools/helm.bzl", "helm_install")
+load("@rules_pkg//:pkg.bzl", "pkg_tar")
 
 # TODO(lekva): figure out how to build py_binary with pip dependencies and
 # migrate off docker_image rule
@@ -10,3 +12,21 @@
 	dockerfile = "Dockerfile",
 	srcs = glob(["**"], exclude=["Dockerfile"]),
 )
+
+pkg_tar(
+	name = "chart",
+	srcs = glob(["chart/**"]),
+	extension = "tar.gz",
+	strip_prefix = "./chart",
+)
+
+helm_install(
+	name = "install",
+	namespace = "pcloud",
+	release_name = "init",
+	chart = ":chart",
+	args = {
+	     "image.name": "localhost:30500/giolekva/pcloud-api-server",
+     	     "image.pullPolicy": "Always",
+	},
+)
diff --git a/dev/install_core_services.sh b/dev/install_core_services.sh
index d1515c6..28d66f8 100755
--- a/dev/install_core_services.sh
+++ b/dev/install_core_services.sh
@@ -2,28 +2,17 @@
 
 ROOT="$(dirname -- $(pwd))"
 
+# Dgraph
 source $ROOT/apps/dgraph/install.sh
 
 # Knowledge Graph
-cd "$ROOT/controller"
 bazel run //controller:push_to_dev
-kubectl create namespace pcloud
-helm --namespace=pcloud install init chart \
-     --set image.name=localhost:30500/giolekva/pcloud-api-server \
-     --set image.pullPolicy=Always
+bazel run //controller:install
 
 # Application Manager
-cd "$ROOT/appmanager"
 bazel run //appmanager:push_to_dev
-kubectl create namespace pcloud-app-manager
-helm --namespace=pcloud-app-manager install init chart \
-     --set image.name=localhost:30500/giolekva/pcloud-app-manager \
-     --set image.pullPolicy=Always
+bazel run //appmanager:install
 
 # Event Processor
-cd "$ROOT/events"
 bazel run //events:push_to_dev
-kubectl create namespace pcloud-event-processor
-helm --namespace=pcloud-event-processor install init chart \
-     --set image.name=localhost:30500/giolekva/pcloud-event-processor \
-     --set image.pullPolicy=Always
+bazel run //events:install
diff --git a/events/BUILD b/events/BUILD
index a53e460..71bacea 100644
--- a/events/BUILD
+++ b/events/BUILD
@@ -1,4 +1,6 @@
 load("//:bazel_tools/docker.bzl", "docker_image")
+load("//:bazel_tools/helm.bzl", "helm_install")
+load("@rules_pkg//:pkg.bzl", "pkg_tar")
 
 # TODO(lekva): figure out how to build py_binary with pip dependencies and
 # migrate off docker_image rule
@@ -10,3 +12,21 @@
 	dockerfile = "Dockerfile",
 	srcs = glob(["**"], exclude=["Dockerfile"]),
 )
+
+pkg_tar(
+	name = "chart",
+	srcs = glob(["chart/**"]),
+	extension = "tar.gz",
+	strip_prefix = "./chart",
+)
+
+helm_install(
+	name = "install",
+	namespace = "pcloud-event-processor",
+	release_name = "init",
+	chart = ":chart",
+	args = {
+	     "image.name": "localhost:30500/giolekva/pcloud-event-processor",
+     	     "image.pullPolicy": "Always",
+	},
+)
