Wrapper rules on the opa cli.
Those dependencies must be installed in the WORKSPACE
bzlmod usage (until it's available in the registry)
bazel_dep(name="rules_opa", version=<version>)
git_override(
module_name="rules_opa",
commit=<commit>,
remote="https://github.com/ticketmaster/rules_opa",
)Legacy workspace
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name="rules_opa",
sha256="<SHA256>",
strip_prefix="rules_opa-<VERSION>",
url="https://github.com/ticketmaster/rules_opa/archive/refs/tags/<VERSION>.tar.gz",
)
load("@rules_opa//opa:deps.bzl", "opa_register_toolchains", "opa_rules_dependencies")
opa_rules_dependencies()
opa_register_toolchains()See examples for more information
load("@rules_opa//opa:defs.bzl", "opa_check", "opa_eval_binary", "opa_library", "opa_test")
opa_library(
name="simple",
srcs= ["main.rego", "data.json"],
strip_prefix=package_name(),
)
opa_test(
name="simple_test",
size="small",
srcs= ["main_test.rego"],
bundle=":simple",
)To upgrade the opa version, run the following command
bazel run -- //tools:opa_upgrade --version <version>