cert-manager/hack/bin/deps.bzl
irbekrm 62620f2c86 Adds ytt yaml interpolator to deps
Signed-off-by: irbekrm <irbekrm@gmail.com>
2021-07-06 17:20:21 +01:00

255 lines
8.1 KiB
Python

# Copyright 2021 The cert-manager Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file", "http_archive")
load("@bazel_gazelle//:deps.bzl", "go_repository")
def install():
install_misc()
install_integration_test_dependencies()
install_bazel_tools()
install_staticcheck()
install_helm()
install_kubectl()
install_oc3()
install_kind()
install_ytt()
# Install golang.org/x/build as kubernetes/repo-infra requires it for the
# build-tar bazel target.
go_repository(
name = "org_golang_x_build",
build_file_generation = "on",
build_file_proto_mode = "disable",
importpath = "golang.org/x/build",
sum = "h1:hXVePvSFG7tPGX4Pwk1d10ePFfoTCc0QmISfpKOHsS8=",
version = "v0.0.0-20190927031335-2835ba2e683f",
)
def install_staticcheck():
http_archive(
name = "co_honnef_go_tools_staticcheck_linux",
sha256 = "1ffaa079089ce8209f0c89a5d8726d06b8632eb2682e57016ff07f7e29e912dc",
urls = ["https://github.com/dominikh/go-tools/releases/download/2021.1/staticcheck_linux_amd64.tar.gz"],
build_file_content = """
filegroup(
name = "file",
srcs = [
"staticcheck/staticcheck",
],
visibility = ["//visibility:public"],
)
""",
)
http_archive(
name = "co_honnef_go_tools_staticcheck_osx",
sha256 = "03b100561e3bc14db0b3b4004b102a00cb0197938d23cc40193f269f7b246d2d",
urls = ["https://github.com/dominikh/go-tools/releases/download/2021.1/staticcheck_darwin_amd64.tar.gz"],
build_file_content = """
filegroup(
name = "file",
srcs = [
"staticcheck/staticcheck",
],
visibility = ["//visibility:public"],
)
""",
)
def install_misc():
http_file(
name = "jq_linux",
executable = 1,
sha256 = "af986793a515d500ab2d35f8d2aecd656e764504b789b66d7e1a0b727a124c44",
urls = ["https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64"],
)
http_file(
name = "jq_osx",
executable = 1,
sha256 = "5c0a0a3ea600f302ee458b30317425dd9632d1ad8882259fcaf4e9b868b2b1ef",
urls = ["https://github.com/stedolan/jq/releases/download/jq-1.6/jq-osx-amd64"],
)
# Install dependencies used by the controller-runtime integration test framework
# Use these links to check for new versions:
# https://console.developers.google.com/storage/kubebuilder-tools/
def install_integration_test_dependencies():
http_archive(
name = "kubebuilder-tools_linux_amd64",
sha256 = "5bee54dcae3bab7689505b438432de9ebfe880ea684aa54c6b81d6bc0d8df86a",
urls = ["https://storage.googleapis.com/kubebuilder-tools/kubebuilder-tools-1.21.2-linux-amd64.tar.gz"],
build_file_content = """
filegroup(
name = "kube-apiserver",
srcs = [
"kubebuilder/bin/kube-apiserver",
],
visibility = ["//visibility:public"],
)
filegroup(
name = "etcd",
srcs = [
"kubebuilder/bin/etcd",
],
visibility = ["//visibility:public"],
)
""",
)
http_archive(
name = "kubebuilder-tools_darwin_amd64",
sha256 = "add3f62be843b0c0f4be17d9159ebea738da18e2f0edce62d945b3ffdd683800",
urls = ["https://storage.googleapis.com/kubebuilder-tools/kubebuilder-tools-1.21.2-darwin-amd64.tar.gz"],
build_file_content = """
filegroup(
name = "kube-apiserver",
srcs = [
"kubebuilder/bin/kube-apiserver",
],
visibility = ["//visibility:public"],
)
filegroup(
name = "etcd",
srcs = [
"kubebuilder/bin/etcd",
],
visibility = ["//visibility:public"],
)
""",
)
# Install additional tools for Bazel management
def install_bazel_tools():
## Install buildozer, for mass-editing BUILD files
http_file(
name = "buildozer_darwin",
executable = 1,
sha256 = "972944bbd15a20d1527695ba805ca7e7f98c3381c8f521359791e0016f079713",
urls = ["https://github.com/bazelbuild/buildtools/releases/download/4.0.1/buildozer-darwin-amd64"],
)
http_file(
name = "buildozer_linux",
executable = 1,
sha256 = "082aea1df38fe30ce41d955a2cbf309cae8ec386507e0c10cc16f0d9a93e151f",
urls = ["https://github.com/bazelbuild/buildtools/releases/download/4.0.1/buildozer-linux-amd64"],
)
# Install Helm targets
def install_helm():
## Fetch helm & tiller for use in template generation and testing
## You can bump the version of Helm & Tiller used during e2e tests by tweaking
## the version numbers in these rules.
http_archive(
name = "helm_darwin",
sha256 = "81a94d2877326012b99ac0737517501e5ed69bb4987884e7f2d0887ad27895a9",
urls = ["https://get.helm.sh/helm-v3.6.2-darwin-amd64.tar.gz"],
build_file_content =
"""
filegroup(
name = "file",
srcs = [
"darwin-amd64/helm",
],
visibility = ["//visibility:public"],
)
""",
)
http_archive(
name = "helm_linux",
sha256 = "f3a4be96b8a3b61b14eec1a35072e1d6e695352e7a08751775abf77861a0bf54",
urls = ["https://get.helm.sh/helm-v3.6.2-linux-amd64.tar.gz"],
build_file_content =
"""
filegroup(
name = "file",
srcs = [
"linux-amd64/helm",
],
visibility = ["//visibility:public"],
)
""",
)
# Define rules for different kubectl versions
def install_kubectl():
http_file(
name = "kubectl_1_21_darwin",
executable = 1,
sha256 = "4a6c072223d5944b98601fc9f4cfdc5652ff0919ca91210b7eed5c83f2422fa1",
urls = ["https://storage.googleapis.com/kubernetes-release/release/v1.21.2/bin/darwin/amd64/kubectl"],
)
http_file(
name = "kubectl_1_21_linux",
executable = 1,
sha256 = "55b982527d76934c2f119e70bf0d69831d3af4985f72bb87cd4924b1c7d528da",
urls = ["https://storage.googleapis.com/kubernetes-release/release/v1.21.2/bin/linux/amd64/kubectl"],
)
# Define rules for different oc versions
def install_oc3():
http_archive(
name = "oc_3_11_linux",
sha256 = "4b0f07428ba854174c58d2e38287e5402964c9a9355f6c359d1242efd0990da3",
urls = ["https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz"],
build_file_content =
"""
filegroup(
name = "file",
srcs = [
"openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit/oc",
],
visibility = ["//visibility:public"],
)
""",
)
## Fetch kind images used during e2e tests
def install_kind():
# install kind binary
http_file(
name = "kind_darwin",
executable = 1,
sha256 = "432bef555a70e9360b44661c759658265b9eaaf7f75f1beec4c4d1e6bbf97ce3",
urls = ["https://github.com/kubernetes-sigs/kind/releases/download/v0.11.1/kind-darwin-amd64"],
)
http_file(
name = "kind_linux",
executable = 1,
sha256 = "949f81b3c30ca03a3d4effdecda04f100fa3edc07a28b19400f72ede7c5f0491",
urls = ["https://github.com/kubernetes-sigs/kind/releases/download/v0.11.1/kind-linux-amd64"],
)
# ytt is a yaml interpolator from the Carvel toolchain https://carvel.dev/.
def install_ytt():
http_file(
name = "ytt_darwin",
executable = 1,
sha256 = "a874395924e670f2c89160efeffc35b94a9bcf4e515e49935cb1ceb22be7f08a",
urls = ["https://github.com/vmware-tanzu/carvel-ytt/releases/download/v0.34.0/ytt-darwin-amd64"],
)
http_file(
name = "ytt_linux",
executable = 1,
sha256 = "49741ac5540fc64da8566f3d1c9538f4f0fec22c62b8ba83e5e3d8efb91ee170",
urls = ["https://github.com/vmware-tanzu/carvel-ytt/releases/download/v0.34.0/ytt-linux-amd64"],
)