chore(deps): update dependency open-policy-agent/opa to v1 (opa/dockerfile) (master) #997
+1
−1
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:
0.62.1
->1.1.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)
v1.1.0
Compare Source
This release contains a mix of features, performance improvements, and bugfixes.
Performance Improvements
opa bench
(#7291) authored by @anderseknertio.jwt
token verification built-ins (#7274) authored by @johanfyllingTopdown and Rego
numbers.range
built-in (#7269) authored by @anderseknertRuntime, Tooling, SDK
opa repl
(#7301) authored by @anderseknert reported by @tsandall--v0-compatible
foropa eval
partial eval support modules (#7251) authored by @johanfyllinglinter-settings
configuration name (#7244) authored by @JuneezeeDocs, Website, Ecosystem
Miscellaneous
v1.0.1
Compare Source
This is a bug fix release addressing the following issues:
Addressing
CVE-2024-45341
andCVE-2024-45336
vulnerabilities in the Go runtime.Fixing an issue where the rego-version for individual modules was lost during bundle deactivation (bundle lifecycle) if this version diverged from the active runtime rego-version.
This could cause reloading of v0 bundles to fail when OPA was not running with the
--v0-compatible
flag.v1.0.0
Compare Source
We are excited to announce OPA 1.0, a milestone release consolidating an improved developer experience for the future of Policy as Code. The release makes new functionality designed to simplify policy writing and improve the language's consistency the default.
Changes to Rego in OPA 1.0
Below we highlight some key changes to the defaults in OPA 1.0:
if
for all rule definitions andcontains
for multi-value rules is now mandatory, not just when using therego.v1
import.every
,in
) are available without any imports.opa check --strict
) are now the default. Duplicate imports and imports which shadow each other are no longer allowed.if you must continue to support v0 Rego.
Read more about the OPA 1.0 announcement here on our blog.
Following are other changes that are included in OPA 1.0.
Improvements to memory allocations
PRs #7172, #7190, #7193, #7165, #7168, #7191 & #7222 together improve the memory performance of OPA. Key strategies
include reusing pointers and optimizing array and object operations, minimizing intermediate object creation, and using
sync.Pool
to manage memory-heavy operations. These changes cumulatively greatly reduced the number of allocations and improved
evaluation speed by 10-20%. Additional benchmarks highlighted significant memory and speed improvements in custom
function evaluation.
Authored by @anderseknert.
Wrap http.RoundTripper for SDK users
PR #7180 adds an
EvalHTTPRoundTrip
EvalOption and query-levelWithHTTPRoundTrip
option.Both use a new function type which converts an
http.Transport
configured by topdown to anhttp.RoundTripper
.This supports use cases requiring the customization of the
http.send
built in behavior.Authored by @evankanderson.
Improvements to scientific notation parsing in
units.parse
PR #7147 extends the behaviour of
extractNumAndUnit
to supportscientific notation values. This means values such as
1e3KB
can now be handled by this function.Authored by @berdanA.
Support customized buckets
bundle_loading_duration_ns
metricPR #7156 extends OPA’s Prometheus configuration to allow the
setting of user defined buckets for metrics. This aids when debugging the loading of slow bundles.
Authored by @jwu730-1.
Test suite performance improvements
PR #7126 updates tests to improve performance. Topdown and
storage/disk/
tests now run around 50% and 75% faster respectively.
Authored by @philipaconrad.
OPA 1.0 Preparation
rego.v1
andfuture.keywords
imports for v1 by @johanfylling in #7224--rego-v1
cmd flag to--v0-v1
by @johanfylling in #7225Topdown and Rego
topdown/cache
by @evankanderson in #7188to_number
now rejects "Inf", "Infinity" and "NaN" values by @sikehish in #7203Runtime, Tooling, SDK
opa build
: provide an option to preserve print statements for the "wasm" target (#7194) by @me-viper in #7195opa eval
: Return error if illegal arguments passed with--unknowns
flag by @kd-labs in #7149Docs, Website, Ecosystem
Dependency Updates
v0.70.0
Compare Source
This release contains a mix of features, performance improvements, and bugfixes.
Optimized read mode for OPA's in-memory store (#7125)
A new optimized read mode has been added to the default in-memory store, where data written to the store is eagerly converted
to AST values (the data format used during evaluation). This removes the time spent converting raw data values to AST
during policy evaluation, thereby improving performance.
The memory footprint of the store will increase, as processed AST values generally take up more space in memory than the
corresponding raw data values, but overall memory usage of OPA might remain more stable over time, as pre-converted data
is shared across evaluations and isn't recomputed for each evaluation, which can cause spikes in memory usage.
This mode can be enabled for
opa run
,opa eval
, andopa bench
by setting the--optimize-store-for-read-speed
flag.More information about this feature can be found here.
Co-authored by @johanfylling and @ashutosh-narkar.
Topdown and Rego
json.match_schema
built-in function (#7011) authored by @anderseknert reported by @lcarvaopa check
where a file that referenced non-provided schemas failed validation (#7124) authored by @tjonsyes
/no
values as boolean. The usage of yaml.v2 in the parser was unintentional and now has been updated to yaml.v3 (#7090) authored by @anderseknertRuntime, Tooling, SDK
opa check
respect--ignore
when--bundle
flag is set (#7136) authored by @anderseknertsuperfluous call to WriteHeader()
while still returning200
HTTP status code. Now, errors encoding the payload properly lead to500
HTTP status code, without extra logs. Also use Header().Set() not Header().Add() to avoid duplicate content-type headers (#7114) authored by @srenatusfile://
format for TLS key material file flags inopa run
(#7094) authored by @alexrohozneanuDocs, Website, Ecosystem
Miscellaneous
v0.69.0
Compare Source
This release contains a mix of features, bugfixes and necessary tooling and test changes required to support the upcoming OPA
1.0
release.Inter-Query Value Cache (#6908)
OPA now has a new inter-query value cache added to the SDK. It is intended to be used for values that are expensive to compute and can be reused across multiple queries. The cache can be leveraged by built-in functions to store values that otherwise aren't appropriate for the existing inter-query cache; for instance when the entry size isn't an appropriate or primary limiting factor for cache eviction.
The default size of the inter-query value cache is unbounded, but can be configured via the
caching.inter_query_builtin_value_cache.max_num_entries
configuration field. OPA will drop random items from the cache if this limit is exceeded.The cache is used by the
regex
andglob
built-in functions, which previously had individual, non-configurable caches with a max entry size of100
each.Currently, the cache is only exercised when running OPA in server mode (ie.
opa run -s
). Also this feature is unsupported for WASM.Authored by @ashutosh-narkar, reported by @amirsalarsafaei
Topdown and Rego
ast
,topdown
,rego
etc. packages to be1.0
compatible (authored by @johanfylling)Module.String()
includeif
/contains
for v1 modules (#6973) authored by @johanfylling reported by @nikpivkinhttp.send
latency timer when an error is encountered (#7007) authored by @lukyerwith
's target (#6979) authored by @srenatus reported by @bluebrownRuntime, Tooling, SDK
sdk
,downlaod
,server
,cmd
etc. packages to be1.0
compatible (authored by @johanfylling)--v0-compatible
flag to make OPA behave asv0.x
postv1.0
release (#7065) authored by @johanfyllingRegoOption
launch option to debugger for setting custom Rego options (#7045) authored by @johanfyllingInput
andData
variable scopes to ease discoverability of the scopes (#7074) authored by @johanfyllingDocs, Website, Ecosystem
1.0
compatible (#7033) authored by @charlieegan3Miscellaneous
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
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
Configuration
📅 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 is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Renovate Bot.