build(deps): bump github.com/open-policy-agent/opa from 0.59.0 to 0.60.0
Bumps [github.com/open-policy-agent/opa](https://github.com/open-policy-agent/opa) from 0.59.0 to 0.60.0. - [Release notes](https://github.com/open-policy-agent/opa/releases) - [Changelog](https://github.com/open-policy-agent/opa/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-policy-agent/opa/compare/v0.59.0...v0.60.0) --- updated-dependencies: - dependency-name: github.com/open-policy-agent/opa dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
committed by
Ralf Haferkamp
parent
b62ba69bba
commit
f989854f0a
+22
-2
@@ -400,6 +400,7 @@ type Reader struct {
|
||||
lazyLoadingMode bool
|
||||
name string
|
||||
persist bool
|
||||
regoVersion ast.RegoVersion
|
||||
}
|
||||
|
||||
// NewReader is deprecated. Use NewCustomReader instead.
|
||||
@@ -503,11 +504,17 @@ func (r *Reader) WithBundlePersistence(persist bool) *Reader {
|
||||
return r
|
||||
}
|
||||
|
||||
func (r *Reader) WithRegoVersion(version ast.RegoVersion) *Reader {
|
||||
r.regoVersion = version
|
||||
return r
|
||||
}
|
||||
|
||||
func (r *Reader) ParserOptions() ast.ParserOptions {
|
||||
return ast.ParserOptions{
|
||||
ProcessAnnotation: r.processAnnotations,
|
||||
Capabilities: r.capabilities,
|
||||
JSONOptions: r.jsonOptions,
|
||||
RegoVersion: r.regoVersion,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1005,12 +1012,18 @@ func hashBundleFiles(hash SignatureHasher, b *Bundle) ([]FileInfo, error) {
|
||||
}
|
||||
|
||||
// FormatModules formats Rego modules
|
||||
// Modules will be formatted to comply with rego-v1, but Rego compatibility of individual parsed modules will be respected (e.g. if 'rego.v1' is imported).
|
||||
func (b *Bundle) FormatModules(useModulePath bool) error {
|
||||
return b.FormatModulesForRegoVersion(ast.RegoV0, true, useModulePath)
|
||||
}
|
||||
|
||||
// FormatModulesForRegoVersion formats Rego modules to comply with a given Rego version
|
||||
func (b *Bundle) FormatModulesForRegoVersion(version ast.RegoVersion, preserveModuleRegoVersion bool, useModulePath bool) error {
|
||||
var err error
|
||||
|
||||
for i, module := range b.Modules {
|
||||
if module.Raw == nil {
|
||||
module.Raw, err = format.Ast(module.Parsed)
|
||||
module.Raw, err = format.AstWithOpts(module.Parsed, format.Opts{RegoVersion: version})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -1020,7 +1033,14 @@ func (b *Bundle) FormatModules(useModulePath bool) error {
|
||||
path = module.Path
|
||||
}
|
||||
|
||||
module.Raw, err = format.Source(path, module.Raw)
|
||||
opts := format.Opts{}
|
||||
if preserveModuleRegoVersion {
|
||||
opts.RegoVersion = module.Parsed.RegoVersion()
|
||||
} else {
|
||||
opts.RegoVersion = version
|
||||
}
|
||||
|
||||
module.Raw, err = format.SourceWithOpts(path, module.Raw, opts)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
+12
-10
@@ -301,6 +301,7 @@ type ActivateOpts struct {
|
||||
Bundles map[string]*Bundle // Optional
|
||||
ExtraModules map[string]*ast.Module // Optional
|
||||
AuthorizationDecisionRef ast.Ref
|
||||
ParserOptions ast.ParserOptions
|
||||
|
||||
legacy bool
|
||||
}
|
||||
@@ -314,10 +315,11 @@ func Activate(opts *ActivateOpts) error {
|
||||
|
||||
// DeactivateOpts defines options for the Deactivate API call
|
||||
type DeactivateOpts struct {
|
||||
Ctx context.Context
|
||||
Store storage.Store
|
||||
Txn storage.Transaction
|
||||
BundleNames map[string]struct{}
|
||||
Ctx context.Context
|
||||
Store storage.Store
|
||||
Txn storage.Transaction
|
||||
BundleNames map[string]struct{}
|
||||
ParserOptions ast.ParserOptions
|
||||
}
|
||||
|
||||
// Deactivate the bundle(s). This will erase associated data, policies, and the manifest entry from the store.
|
||||
@@ -332,7 +334,7 @@ func Deactivate(opts *DeactivateOpts) error {
|
||||
erase[root] = struct{}{}
|
||||
}
|
||||
}
|
||||
_, err := eraseBundles(opts.Ctx, opts.Store, opts.Txn, opts.BundleNames, erase)
|
||||
_, err := eraseBundles(opts.Ctx, opts.Store, opts.Txn, opts.ParserOptions, opts.BundleNames, erase)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -382,7 +384,7 @@ func activateBundles(opts *ActivateOpts) error {
|
||||
|
||||
// Erase data and policies at new + old roots, and remove the old
|
||||
// manifests before activating a new snapshot bundle.
|
||||
remaining, err := eraseBundles(opts.Ctx, opts.Store, opts.Txn, names, erase)
|
||||
remaining, err := eraseBundles(opts.Ctx, opts.Store, opts.Txn, opts.ParserOptions, names, erase)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -585,13 +587,13 @@ func activateDeltaBundles(opts *ActivateOpts, bundles map[string]*Bundle) error
|
||||
|
||||
// erase bundles by name and roots. This will clear all policies and data at its roots and remove its
|
||||
// manifest from storage.
|
||||
func eraseBundles(ctx context.Context, store storage.Store, txn storage.Transaction, names map[string]struct{}, roots map[string]struct{}) (map[string]*ast.Module, error) {
|
||||
func eraseBundles(ctx context.Context, store storage.Store, txn storage.Transaction, parserOpts ast.ParserOptions, names map[string]struct{}, roots map[string]struct{}) (map[string]*ast.Module, error) {
|
||||
|
||||
if err := eraseData(ctx, store, txn, roots); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
remaining, err := erasePolicies(ctx, store, txn, roots)
|
||||
remaining, err := erasePolicies(ctx, store, txn, parserOpts, roots)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -633,7 +635,7 @@ func eraseData(ctx context.Context, store storage.Store, txn storage.Transaction
|
||||
return nil
|
||||
}
|
||||
|
||||
func erasePolicies(ctx context.Context, store storage.Store, txn storage.Transaction, roots map[string]struct{}) (map[string]*ast.Module, error) {
|
||||
func erasePolicies(ctx context.Context, store storage.Store, txn storage.Transaction, parserOpts ast.ParserOptions, roots map[string]struct{}) (map[string]*ast.Module, error) {
|
||||
|
||||
ids, err := store.ListPolicies(ctx, txn)
|
||||
if err != nil {
|
||||
@@ -647,7 +649,7 @@ func erasePolicies(ctx context.Context, store storage.Store, txn storage.Transac
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
module, err := ast.ParseModule(id, string(bs))
|
||||
module, err := ast.ParseModuleWithOpts(id, string(bs), parserOpts)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user