-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathtoolchains.bzl
58 lines (41 loc) · 2.71 KB
/
toolchains.bzl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
load("//helm/private:helm_toolchain.bzl", "helm_repo", "helm_toolchain_configure", "HELM_VERSIONS", "HELM_DEFAULT_VERSION")
load("//gcs/private:gcloud_toolchain.bzl", "gcloud_repo", "gcloud_toolchain_configure", "GCLOUD_VERSIONS", "GCLOUD_DEFAULT_VERSION")
load("//k8s/private:kubectl_toolchain.bzl", "kubectl_repo", "kubectl_toolchain_configure", "KUBECTL_VERSIONS", "KUBECTL_DEFAULT_VERSION")
load("//sops/private:sops_toolchain.bzl", "sops_repo", "sops_toolchain_configure", "SOPS_VERSIONS", "SOPS_DEFAULT_VERSION")
def register_helm_toolchains(name, version, register = False):
helm_platforms = HELM_VERSIONS[version]
for platform, sha in helm_platforms.items():
helm_repo(name="%s_%s" % (name, platform), version=version, platform=platform, sha=sha)
helm_toolchain_configure(name="%s_toolchains" % name)
if register:
for platform, _ in helm_platforms.items():
native.register_toolchains("@%s_toolchains//:%s_toolchain" % (name, platform))
def register_sops_toolchains(name, version, register = False):
sops_platforms = SOPS_VERSIONS[version]
for platform, sha in sops_platforms.items():
sops_repo(name="%s_%s" % (name, platform), version=version, platform=platform, sha=sha)
sops_toolchain_configure(name="%s_toolchains" % name)
if register:
for platform, _ in sops_platforms.items():
native.register_toolchains("@%s_toolchains//:%s_toolchain" % (name, platform))
def register_gcloud_toolchains(name, version, register = False):
gcloud_platforms = GCLOUD_VERSIONS[version]
for platform, sha in gcloud_platforms.items():
gcloud_repo(name="%s_%s" % (name, platform), version=version, platform=platform, sha=sha)
gcloud_toolchain_configure(name="%s_toolchains" % name)
if register:
for platform, _ in gcloud_platforms.items():
native.register_toolchains("@%s_toolchains//:%s_toolchain" % (name, platform))
def register_kubectl_toolchains(name, version, register = False):
kubectl_platforms = KUBECTL_VERSIONS[version]
for platform, sha in kubectl_platforms.items():
kubectl_repo(name="%s_%s" % (name, platform), version=version, platform=platform, sha=sha)
kubectl_toolchain_configure(name="%s_toolchains" % name)
if register:
for platform, _ in kubectl_platforms.items():
native.register_toolchains("@%s_toolchains//:%s_toolchain" % (name, platform))
def masorange_rules_helm_register_toolchains():
register_helm_toolchains("helm", HELM_DEFAULT_VERSION, True)
register_sops_toolchains("sops", SOPS_DEFAULT_VERSION, True)
register_gcloud_toolchains("gcloud", GCLOUD_DEFAULT_VERSION, True)
register_kubectl_toolchains("kubectl", KUBECTL_DEFAULT_VERSION, True)