Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .bazelversion
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
8.3.1
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# A custom merge driver for the Bazel lockfile.
# https://bazel.build/external/lockfile#automatic-resolution
MODULE.bazel.lock merge=bazel-lockfile-merge
8 changes: 1 addition & 7 deletions BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
load("@rules_pkg//:pkg.bzl", "pkg_tar")
load("@rules_kubebuilder//kubebuilder:def.bzl", "kubebuilder")
load("@rules_pkg//:pkg.bzl", "pkg_tar")

pkg_tar(
name = "release",
srcs = glob([
"*.bazel",
"*.bzl",
]) + [
"WORKSPACE",
],
extension = "tar.gz",
package_dir = "rules_kubebuilder",
deps = [
"//controller-gen:release",
"//kubebuilder:release",
"//kustomize:release",
],
)

# This is just an example of how to run kubebuilder via bazel
Expand Down
75 changes: 75 additions & 0 deletions MODULE.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
###############################################################################
# Bazel now uses Bzlmod by default to manage external dependencies.
# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel.
#
# For more details, please check https://github.com/bazelbuild/bazel/issues/18958
###############################################################################

module(
name = "rules_kubebuilder",
version = "0.1.0",
)

# Keep consistent with https://github.com/openai/openai/blob/master/MODULE.bazel
bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "rules_go", version = "0.55.1")
bazel_dep(name = "rules_pkg", version = "1.0.1")

# Create controller-gen and kustomize repos via local extensions so that
# this module can reference them from its packages (toolchains).
cg = use_extension("@rules_kubebuilder//controller-gen:extensions.bzl", "cg_ext")
cg.controller_gen(
arches = [
"amd64",
"arm64",
],
version = "0.19.0",
) # create controller_gen_<os>_<arch>
use_repo(
cg,
"controller_gen_darwin_amd64",
"controller_gen_darwin_arm64",
"controller_gen_linux_amd64",
"controller_gen_linux_arm64",
)

kz = use_extension("@rules_kubebuilder//kustomize:extensions.bzl", "kz_ext")
kz.kustomize(
arches = [
"amd64",
"arm64",
],
version = "5.7.1",
) # create kustomize_<os>_<arch>
use_repo(
kz,
"kustomize_darwin_amd64",
"kustomize_darwin_arm64",
"kustomize_linux_amd64",
"kustomize_linux_arm64",
)

# Create Kubebuilder SDK repo (used by tests)
kb = use_extension("@rules_kubebuilder//kubebuilder:extensions.bzl", "kb_ext")
kb.kubebuilder_sdk(
name = "kubebuilder_sdk",
version = "4.8.0",
)
use_repo(kb, "kubebuilder_sdk")

# Register toolchains so that local builds/tests in this repository resolve
# the kustomize and controller-gen toolchains. When used as a dependency,
# only the root module's register_toolchains(...) is honored, so these lines
# are effectively ignored by downstream consumers.
register_toolchains(
# controller-gen toolchains
"@rules_kubebuilder//controller-gen:controller_gen_linux_amd64_toolchain",
"@rules_kubebuilder//controller-gen:controller_gen_linux_arm64_toolchain",
"@rules_kubebuilder//controller-gen:controller_gen_darwin_amd64_toolchain",
"@rules_kubebuilder//controller-gen:controller_gen_darwin_arm64_toolchain",
# kustomize toolchains
"@rules_kubebuilder//kustomize:kustomize_linux_amd64_toolchain",
"@rules_kubebuilder//kustomize:kustomize_linux_arm64_toolchain",
"@rules_kubebuilder//kustomize:kustomize_darwin_amd64_toolchain",
"@rules_kubebuilder//kustomize:kustomize_darwin_arm64_toolchain",
)
383 changes: 383 additions & 0 deletions MODULE.bazel.lock

Large diffs are not rendered by default.

Loading