chore(deps): update open-policy-agent/opa to v0.68.0 #28
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
"v0.28.0"
->v0.68.0
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
open-policy-agent/opa (open-policy-agent/opa)
v0.68.0
Compare Source
This release contains a mix of features and bugfixes.
Breaking Changes
entrypoint
annotation impliesdocument
scope (#6798)The entrypoint annotation's scope requirement has changed from
rule
todocument
(https://github.com/open-policy-agent/opa/issues/6798). Furthermore, if noscope
annotation is declared for a METADATA block preceding a rule, the presence of anentrypoint
annotation with atrue
value will assign the block adocument
scope, where therule
scope is otherwise the default.In practice, a rule entrypoint always point to the entire document and not a particular rule definition. The previous behavior was a bug, and one we've now addressed.
Authored by @anderseknert
Topdown and Rego
Runtime, Tooling, SDK
copy
method copy all values (#6949) authored by @anderseknertopa exec
: This command never supported "pretty" formatting (--format=pretty
or-f pretty
), onlyjson
. Passingpretty
is now invalid. (#6923) authored by @srenatusNote that the flag is now unnecessary, but it's kept so existing calls like
opa exec -fjson ...
remain valid.Security Fix: CVE-2024-8260 (#6933)
This release includes a fix where OPA would accept UNC locations on Windows. Reading those could leak NTLM hashes.
The attack vector would include an adversary tricking the user in passing an UNC path to OPA, e.g.
opa eval -d $FILE
.UNC paths are now forbidden. If this is an issue for you, please reach out on Slack or GitHub issues.
Reported by Shelly Raban
Authored by @ashutosh-narkar
Docs, Website, Ecosystem
opa-config.yaml
as name for config file (#6966) (#6959) authored by @anderseknerthttp.send
in inter-query cache config docs (#6953) authored by @anderseknertMiscellaneous
v0.67.1
Compare Source
This is a bug fix release addressing the following issue:
v0.67.0
Compare Source
This release contains a mix of features, a new builtin function (
strings.count
), performance improvements, and bugfixes.Breaking Change
Request Body Size Limits
OPA now automatically rejects very large requests (#6868) authored by @philipaconrad.
Requests with a
Content-Length
larger than 128 MB uncompressed, and gzipped requests with payloads that decompress tolarger than 256 MB will be rejected, as part of hardening OPA against denial-of-service attacks. Previously, a large
enough request could cause an OPA instance to run out of memory in low-memory sidecar deployment scenarios, just from
attempting to read the request body into memory.
These changes allow improvements in memory usage for the OPA HTTP server, and help OPA deployments avoid some accidental out-of-memory situations.
For most users, no changes will be needed to continue using OPA. However, to control this behavior, two new configuration
keys are available:
server.decoding.max_length
andserver.decoding.gzip.max_length
. These control the max size inbytes to allow for an incoming request payload, and the maximum size in bytes to allow for a decompressed gzip request payload, respectively.
Here's an example OPA configuration using the new keys:
Topdown and Rego
strings.count
builtin which returns the number of non-overlapping instances of a substring in a string (#6827) authored by @Manish-Giri--rego-v1
formatted module has rule name conflicting with keyword (#6833) authored by @johanfyllingRuntime, Tooling, SDK
--follow-symlinks
flag to theopa build
command to allow users to build directories with symlinked files, and have the contents of those symlinked files included in the built bundle (#6800) authored by @tjonsexplain=fails
query value (#6886) authored by @acamatciscoDocs, Website, Ecosystem
rego_version
andfile_rego_versions
attributes (#6885) authored by @ashutosh-narkarMiscellaneous
v0.66.0
Compare Source
v0.66.0
This release contains a mix of features, performance improvements, and bugfixes.
Improved Test Reports (2546)
The
opa test
command now includes a new--var-values
flag that enriches reporting of failed tests with the values and locations for variables in the failing expression.E.g.:
Authored by @johanfylling, reported by @grosser.
Reading stdin in
opa exec
(#6538)The
opa exec
command now supports readinginput
documents from stdin with the--stdin-input
(-I
) flag.E.g.:
Authored by @colinjlacy, reported by @humbertoc-silva.
Topdown and Rego
every
domain (#6790) authored by @johanfylling reported by @anakrishRuntime, Tooling, SDK
Docs, Website, Ecosystem
go_memstats_gc_cpu_fraction
(#6783) authored by @philipaconradan HTTP
(#6786) authored by @jdbaldryMiscellaneous
v0.65.0
Compare Source
This release contains a mix of features and bugfixes.
Runtime, Tooling, SDK
Topdown and Rego
every
domain is a collection type before evaluation (#6762) authored by @johanfylling reported by @anderseknertMiscellaneous
Breaking changes
A new IsSetStmt statement has been added to the intermediate representation (IR).
This is a breaking change for custom IR evaluators, which must interpret this statement in IR plans generated by this OPA version and later.
No actions are required for Wasm users, as long as Wasm modules are built by this OPA version or later.
v0.64.1
Compare Source
This is a bug fix release addressing the following issues:
macos-latest
was changed fromamd64
toarm64
and as a resultdarwin/amd64
binary wasn't released (#6720) authored by @suzuki-shunsukev0.64.0
Compare Source
This release contains a mix of features, a new builtin function (
json.marshal_with_options()
), performance improvements, and bugfixes.Breaking Change
Bootstrap configuration overrides Discovered configuration
Previously if Discovery was enabled, other features like bundle downloading and status reporting could not be configured manually.
The reason for this was to prevent OPAs being deployed that could not be controlled through discovery. It's possible that
the system serving the discovered config is unaware of all options locally available in OPA. Hence, we relax the configuration
check when discovery is enabled so that the bootstrap configuration can contain plugin configurations. In case of conflicts,
the bootstrap configuration for plugins wins. These local configuration overrides from the bootstrap configuration are included
in the Status API messages so that management systems can get visibility into the local overrides.
In general, the bootstrap configuration overrides the discovered configuration. Previously this was not the case for all
configuration fields. For example, if the discovered configuration changes the
labels
section, only labels that areadditional compared to the bootstrap configuration are used, all other changes are ignored. This implies labels in the
bootstrap configuration override those in the discovered configuration. But for fields such as
default_decision
,default_authorization_decision
,nd_builtin_cache
, the discovered configuration would override the bootstrap configuration. Now the behavior is more consistentfor the entire configuration and helps to avoid accidental configuration errors. (#5722) authored by @ashutosh-narkar
Add
rego_version
attribute to the bundle manifestA new global
rego_version
attribute is added to the bundle manifest, to inform the OPA runtime about what Rego version (v0
/v1
) touse while parsing/compiling contained Rego files. There is also a new
file_rego_versions
attribute which allows individualfiles to override the global Rego version specified by
rego_version
.When the version of the contained Rego is advertised by the bundle through this attribute, it is not required to run OPA with the
--v1-compatible
(or future--v0-compatible
) flag in order to correctly parse, compile and evaluate the bundle's modules.A bundle's
rego_version
attribute takes precedence over any applied--v1-compatible
/--v0-compatible
flag. (#6578) authored by @johanfyllingRuntime, Tooling, SDK
opa build
was provided an entrypoint from both a CLI flag, and via entrypoint metadata annotation. (#6661) authored by @philipaconraddeps
command for policies with high dependency connectivity (#6685) authored by @johanfyllingv1
syntax (#6689) authored by @xico42Topdown and Rego
rego.v1
inv0
support modules when applicable (#6450) authored by @johanfyllingjson.marshal_with_options()
builtin for indented/"pretty-printed" and/or line-prefixed JSON (#6630) authored by @sean-r-williamsDocs, Website, Ecosystem
Miscellaneous
go
stanza of OPA'sgo.mod
togo 1.21
. OPA, used as Go dependency, requires at leastgo 1.21
, and thus works with all officially supported Go versions (1.21.x
and1.22.x
) (#6678) authored by @srenatusupload-artifact
anddownload-artifact
Github actions to the latest version (v4) (#6670) authored by @philipaconradv0.63.0
Compare Source
This release contains a mix of features, performance improvements, and bugfixes.
Runtime, Tooling, SDK
--timeout
flag toopa exec
to prevent infinite hangs. (#6613) authored by @philipaconradTopdown and Rego
crypto.x509.parse_and_verify_certificates_with_options
built-in function. (#5882) authored by @yogisinha reported by @IxDayDocs + Website + Ecosystem
Debugging OPA
(#6637) authored by @setchyMiscellaneous
v0.62.1
Compare Source
This is a security fix release for the fixes published in Go 1.22.1.
OPA servers using
--authentication=tls
would be affected: crafted malicious client certificates could cause a panic in the server.Also, crafted server certificates could panic OPA's HTTP clients, in bundle plugin, status and decision logs; and
http.send
calls that verify TLS.This is CVE-2024-24783 (https://pkg.go.dev/vuln/GO-2024-2598).
Note that there are other security fixes in this Golang release, but whether or not OPA is affected is harder to assess. An update is advised.
Miscellaneous
v0.62.0
Compare Source
This release contains a mix of improvements and bugfixes.
Runtime, Tooling, SDK
WithBundleParserOpts
method to OCI downloader (#6571) authored by @slonka%!F(MISSING)
in logs by skipping calls to the{Debug,Info,Warn,Error}f
functions when there are no arguments (#6555) authored by @srenatusTopdown and Rego
raise_error
flag during input validation (#6553) authored by @ashutosh-narkarDocs + Website + Ecosystem
application/yaml
instead ofapplication/x-yaml
as the former is now a recognized content type (#6565) authored by @anderseknertMiscellaneous
v0.61.0
Compare Source
This release contains a mix of new features and bugfixes.
Runtime, SDK
--v1-compatible
flag to all previously unsupported command line commands (#6520) authored by @johanfyllingsize_limit_bytes
(#6514) authored by @anderseknert reported by @dolevfTopdown
http.send
cache entries periodically (#5320) authored by @rudrakhp reported by @lukyerDocs
Miscellaneous
v0.60.0
Compare Source
v0.60.0
Runtime, Tooling, SDK
--v1-compatible
flag. When this mode is enabled, the current release of OPA will behave as OPAv1.0
will eventually behave by default. This flag is currently supported on thebuild
,check
,fmt
,eval
andtest
commands (#6478) authored by @johanfyllingopa fmt
where the assignment operator and term in the rule head of chain rules are removed from the re-written rule head (#6467) authored by @anderseknertdiff
tool with an external golang library function (#6284) authored by @colinjlacyTopdown and Rego
providers.aws.sign_req
builtin command (#6456) authored by @c2zwdjnlcgDocs
sprintf
builtin command when used with the%T
marker (#6487) authored by @lcarvaWebsite + Ecosystem
Miscellaneous
Makefile
to allow customGOFLAGS
to be provided to the golang executable (#6458) authored by @cova-fev0.59.0
Compare Source
v0.59.0
This release adds tooling to help prepare existing policies for the upcoming OPA 1.0 release.
It also contains a mix of improvements, bugfixes and security fixes for third-party libraries.
Rego v1
The upcoming release of OPA 1.0, which will be released at a future date, will introduce breaking changes to the Rego language. Most notably:
import future.keywords
into a module before use will be part of the Rego language by default, without the need to first import them.if
keyword will be required before the body of a rule.contains
keyword will be required when declaring a multi-value rule (partial set rule).This current release (
0.59.0
) introduces a new--rego-v1
flag to theopa fmt
andopa check
commands to facilitate the transition of existing policies to be compatible with the 1.0 syntax.When used with
opa fmt
, the--rego-v1
flag will format the module(s) according to the new Rego syntax in OPA 1.0.Formatted modules are compatible with both the current version of OPA and 1.0.
Modules using deprecated built-ins will terminate formatting with an error. Future versions of OPA will support rewriting applicable function calls with equivalent Rego compatible with 1.0.
When used with
opa check
, the--rego-v1
flag will check that the modules are compatible with both the current version of OPA and 1.0.Relevant Changes
--rego-v1
flag tocheck
cmd (#6429) authored by @johanfyllingopa fmt
(#6297) authored by @johanfyllingrego.v1
import (#6375) (authored by @johanfylling)rego.v1
) (#6356) authored by @ashutosh-narkarrego.v1
import (#6247) introduced in OPA 0.58.0, authored by @johanfyllingRuntime, Tooling, SDK
rule_head_refs
capabilities feature flag (#6334) authored by @johanfyllingConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.