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",
+	])
