blob: 7b71492cbb1e22ab7316e691fab157e04eddc677 [file] [log] [blame]
giolekvaf2550252020-12-15 16:12:44 +04001__HELM_INSTALL_TMPL = """
2#!/bin/sh
3# --- begin runfiles.bash initialization ---
4# Copy-pasted from Bazel's Bash runfiles library (tools/bash/runfiles/runfiles.bash).
5set -euo pipefail
6if [[ ! -d "\$${{RUNFILES_DIR:-/dev/null}}" && ! -f "\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
7 if [[ -f "\$$0.runfiles_manifest" ]]; then
8 export RUNFILES_MANIFEST_FILE="\$$0.runfiles_manifest"
9 elif [[ -f "\$$0.runfiles/MANIFEST" ]]; then
10 export RUNFILES_MANIFEST_FILE="\$$0.runfiles/MANIFEST"
11 elif [[ -f "\$$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
12 export RUNFILES_DIR="\$$0.runfiles"
13 fi
14fi
15if [[ -f "\$${{RUNFILES_DIR:-/dev/null}}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
16 source "\$${{RUNFILES_DIR}}/bazel_tools/tools/bash/runfiles/runfiles.bash"
17elif [[ -f "\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
18 source "\$$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash " \
19 "\$$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)"
20else
21 echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash"
22 exit 1
23fi
24# --- end runfiles.bash initialization ---
25CHART_TARBALL=\$$(rlocation __main__/{package}/{chart})
26helm --namespace={namespace} install --create-namespace {release_name} \$$CHART_TARBALL {args}
27"""
28
29def helm_install(name, namespace, release_name, chart, args):
30 args_str = ""
31 for arg, value in args.items():
32 args_str += "--set %s=%s " % (arg, value)
33 native.genrule(
34 name = "%s.sh" % name,
35 executable = False,
36 srcs = [chart,],
37 outs = ["helm_install.sh",],
38 cmd = """cat > $@ <<EOM
39%s
40EOM
41""" % __HELM_INSTALL_TMPL.format(
42 namespace = namespace,
43 release_name = release_name,
44 package = native.package_name(),
45 chart = "%s.tar.gz" % chart.split(":")[1],
46 args = args_str,
47 ))
48 native.sh_binary(
49 name = name,
50 srcs = ["helm_install.sh",],
51 data = [
52 chart,
53 ],
54 deps = [
55 "@bazel_tools//tools/bash/runfiles",
56 ])