|
| 1 | +############################################################################### |
| 2 | +# Bazel now uses Bzlmod by default to manage external dependencies. |
| 3 | +# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel. |
| 4 | +# |
| 5 | +# For more details, please check https://github.com/bazelbuild/bazel/issues/18958 |
| 6 | +############################################################################### |
| 7 | + |
| 8 | +module( |
| 9 | + name = "rules_kubebuilder", |
| 10 | + version = "0.1.0", |
| 11 | +) |
| 12 | + |
| 13 | +# Keep consistent with https://github.com/openai/openai/blob/master/MODULE.bazel |
| 14 | +bazel_dep(name = "platforms", version = "1.0.0") |
| 15 | +bazel_dep(name = "rules_go", version = "0.55.1") |
| 16 | +bazel_dep(name = "rules_pkg", version = "1.0.1") |
| 17 | + |
| 18 | +# Create controller-gen and kustomize repos via local extensions so that |
| 19 | +# this module can reference them from its packages (toolchains). |
| 20 | +cg = use_extension("@rules_kubebuilder//controller-gen:extensions.bzl", "cg_ext") |
| 21 | +cg.controller_gen( |
| 22 | + arches = [ |
| 23 | + "amd64", |
| 24 | + "arm64", |
| 25 | + ], |
| 26 | + version = "0.17.1", |
| 27 | +) # create controller_gen_<os>_<arch> |
| 28 | +use_repo( |
| 29 | + cg, |
| 30 | + "controller_gen_darwin_amd64", |
| 31 | + "controller_gen_darwin_arm64", |
| 32 | + "controller_gen_linux_amd64", |
| 33 | + "controller_gen_linux_arm64", |
| 34 | +) |
| 35 | + |
| 36 | +kz = use_extension("@rules_kubebuilder//kustomize:extensions.bzl", "kz_ext") |
| 37 | +kz.kustomize( |
| 38 | + arches = [ |
| 39 | + "amd64", |
| 40 | + "arm64", |
| 41 | + ], |
| 42 | + version = "5.7.1", |
| 43 | +) # create kustomize_<os>_<arch> |
| 44 | +use_repo( |
| 45 | + kz, |
| 46 | + "kustomize_darwin_amd64", |
| 47 | + "kustomize_darwin_arm64", |
| 48 | + "kustomize_linux_amd64", |
| 49 | + "kustomize_linux_arm64", |
| 50 | +) |
| 51 | + |
| 52 | +# Create Kubebuilder SDK repo (used by tests) |
| 53 | +kb = use_extension("@rules_kubebuilder//kubebuilder:extensions.bzl", "kb_ext") |
| 54 | +kb.kubebuilder_sdk( |
| 55 | + name = "kubebuilder_sdk", |
| 56 | + version = "4.7.1", |
| 57 | +) |
| 58 | +use_repo(kb, "kubebuilder_sdk") |
| 59 | + |
| 60 | +# Register toolchains so that local builds/tests in this repository resolve |
| 61 | +# the kustomize and controller-gen toolchains. When used as a dependency, |
| 62 | +# only the root module's register_toolchains(...) is honored, so these lines |
| 63 | +# are effectively ignored by downstream consumers. |
| 64 | +register_toolchains( |
| 65 | + # controller-gen toolchains |
| 66 | + "@rules_kubebuilder//controller-gen:controller_gen_linux_amd64_toolchain", |
| 67 | + "@rules_kubebuilder//controller-gen:controller_gen_linux_arm64_toolchain", |
| 68 | + "@rules_kubebuilder//controller-gen:controller_gen_darwin_amd64_toolchain", |
| 69 | + "@rules_kubebuilder//controller-gen:controller_gen_darwin_arm64_toolchain", |
| 70 | + # kustomize toolchains |
| 71 | + "@rules_kubebuilder//kustomize:kustomize_linux_amd64_toolchain", |
| 72 | + "@rules_kubebuilder//kustomize:kustomize_linux_arm64_toolchain", |
| 73 | + "@rules_kubebuilder//kustomize:kustomize_darwin_amd64_toolchain", |
| 74 | + "@rules_kubebuilder//kustomize:kustomize_darwin_arm64_toolchain", |
| 75 | +) |
0 commit comments