...
1"""Macros for working with Helm Charts"""
2
3def helm_template(name, chart, release_name, namespace = "", values_yaml = ""):
4 """Returns a genrule for rendering a Helm Chart into a set of templates
5
6 Provides single multidoc as result that can be handed to k8s_object.
7 """
8
9 values_flag = "" if values_yaml == "" else "-f $(location " + values_yaml + ")"
10 namespace_flag = "" if namespace == "" else "--namespace " + namespace
11
12 native.genrule(
13 name = name,
14 # only add values_yaml if its provided
15 srcs = [chart] if values_yaml == "" else [chart, values_yaml],
16 tools = ["//hack/tools:helm"],
17 outs = [release_name + "_manifests.yaml"],
18 cmd = "$(location //hack/tools:helm) template --include-crds " + release_name + " $(location " + chart + ") " + values_flag + " " + namespace_flag + "> \"$@\"",
19 )
View as plain text