Documentation ¶
Overview ¶
Package storage exposes the policy engine's storage layer.
Deprecated: This package is intended for older projects transitioning from OPA v0.x and will remain for the lifetime of OPA v1.x, but its use is not recommended. For newer features and behaviours, such as defaulting to the Rego v1 syntax, use the corresponding components in the github.com/open-policy-agent/opa/v1 package instead. See https://www.openpolicyagent.org/docs/latest/v0-compatibility/ for more information.
Index ¶
- Constants
- Variables
- func IsIndexingNotSupported(err error) booldeprecated
- func IsInvalidPatch(err error) bool
- func IsInvalidTransaction(err error) bool
- func IsNotFound(err error) bool
- func IsWriteConflictError(err error) bool
- func MakeDir(ctx context.Context, store Store, txn Transaction, path Path) error
- func NonEmpty(ctx context.Context, store Store, txn Transaction) func([]string) (bool, error)
- func ReadOne(ctx context.Context, store Store, path Path) (interface{}, error)
- func Txn(ctx context.Context, store Store, params TransactionParams, ...) error
- func WriteOne(ctx context.Context, store Store, op PatchOp, path Path, value interface{}) error
- type Context
- type DataEvent
- type Error
- type Iterator
- type MakeDirer
- type PatchOp
- type Path
- type Policy
- type PolicyEvent
- type PolicyNotSupported
- type Store
- type Transaction
- type TransactionParams
- type Trigger
- type TriggerConfig
- type TriggerEvent
- type TriggerHandle
- type TriggersNotSupported
- type Update
- type WritesNotSupported
Constants ¶
const ( // InternalErr indicates an unknown, internal error has occurred. InternalErr = v1.InternalErr // NotFoundErr indicates the path used in the storage operation does not // locate a document. NotFoundErr = v1.NotFoundErr // WriteConflictErr indicates a write on the path enocuntered a conflicting // value inside the transaction. WriteConflictErr = v1.WriteConflictErr // InvalidPatchErr indicates an invalid patch/write was issued. The patch // was rejected. InvalidPatchErr = v1.InvalidPatchErr // InvalidTransactionErr indicates an invalid operation was performed // inside of the transaction. InvalidTransactionErr = v1.InvalidTransactionErr // TriggersNotSupportedErr indicates the caller attempted to register a // trigger against a store that does not support them. TriggersNotSupportedErr = v1.TriggersNotSupportedErr // WritesNotSupportedErr indicate the caller attempted to perform a write // against a store that does not support them. WritesNotSupportedErr = v1.WritesNotSupportedErr // PolicyNotSupportedErr indicate the caller attempted to perform a policy // management operation against a store that does not support them. PolicyNotSupportedErr = v1.PolicyNotSupportedErr )
Patch supports add, remove, and replace operations.
Variables ¶
var WriteParams = v1.WriteParams
WriteParams specifies the TransactionParams for a write transaction.
Functions ¶
func IsIndexingNotSupported
deprecated
added in
v0.5.0
func IsInvalidPatch ¶ added in v0.2.0
IsInvalidPatch returns true if this error is a InvalidPatchErr.
func IsInvalidTransaction ¶ added in v0.5.0
IsInvalidTransaction returns true if this error is a InvalidTransactionErr.
func IsNotFound ¶
IsNotFound returns true if this error is a NotFoundErr.
func IsWriteConflictError ¶ added in v0.8.0
IsWriteConflictError returns true if this error a WriteConflictErr.
func MakeDir ¶ added in v0.8.0
MakeDir inserts an empty object at path. If the parent path does not exist, MakeDir will create it recursively.
func NonEmpty ¶ added in v0.10.4
NonEmpty returns a function that tests if a path is non-empty. A path is non-empty if a Read on the path returns a value or a Read on any of the path prefixes returns a non-object value.
func ReadOne ¶ added in v0.5.3
ReadOne is a convenience function to read a single value from the provided Store. It will create a new Transaction to perform the read with, and clean up after itself should an error occur.
func Txn ¶ added in v0.5.9
func Txn(ctx context.Context, store Store, params TransactionParams, f func(Transaction) error) error
Txn is a convenience function that executes f inside a new transaction opened on the store. If the function returns an error, the transaction is aborted and the error is returned. Otherwise, the transaction is committed and the result of the commit is returned.
Types ¶
type Context ¶ added in v0.12.2
Context is a simple container for key/value pairs.
func NewContext ¶ added in v0.12.2
func NewContext() *Context
NewContext returns a new context object.
type Iterator ¶ added in v0.42.0
Iterator defines the interface that can be used to read files from a directory starting with files at the base of the directory, then sub-directories etc.
type MakeDirer ¶ added in v0.39.0
MakeDirer defines the interface a Store could realize to override the generic MakeDir functionality in storage.MakeDir
type Path ¶ added in v0.3.0
Path refers to a document in storage.
func MustParsePath ¶ added in v0.3.0
MustParsePath returns a new Path for s. If s cannot be parsed, this function will panic. This is mostly for test purposes.
func NewPathForRef ¶ added in v0.3.0
NewPathForRef returns a new path for the given ref.
func ParsePathEscaped ¶ added in v0.8.1
ParsePathEscaped returns a new path for the given escaped str.
type PolicyEvent ¶ added in v0.5.3
type PolicyEvent = v1.PolicyEvent
PolicyEvent describes a change to a policy.
type PolicyNotSupported ¶ added in v0.5.0
type PolicyNotSupported = v1.PolicyNotSupported
PolicyNotSupported provides a default implementation of the policy interface which may be used if the backend does not support policy storage.
type Transaction ¶ added in v0.2.0
type Transaction = v1.Transaction
Transaction defines the interface that identifies a consistent snapshot over the policy engine's storage layer.
func NewTransactionOrDie ¶ added in v0.2.0
func NewTransactionOrDie(ctx context.Context, store Store, params ...TransactionParams) Transaction
NewTransactionOrDie is a helper function to create a new transaction. If the storage layer cannot create a new transaction, this function will panic. This function should only be used for tests.
type TransactionParams ¶ added in v0.3.0
type TransactionParams = v1.TransactionParams
TransactionParams describes a new transaction.
type Trigger ¶ added in v0.2.0
Trigger defines the interface that stores implement to register for change notifications when the store is changed.
type TriggerConfig ¶ added in v0.2.0
type TriggerConfig = v1.TriggerConfig
TriggerConfig contains the trigger registration configuration.
type TriggerEvent ¶ added in v0.5.0
type TriggerEvent = v1.TriggerEvent
TriggerEvent describes the changes that caused the trigger to be invoked.
type TriggerHandle ¶ added in v0.5.3
type TriggerHandle = v1.TriggerHandle
TriggerHandle defines the interface that can be used to unregister triggers that have been registered on a Store.
type TriggersNotSupported ¶ added in v0.2.0
type TriggersNotSupported = v1.TriggersNotSupported
TriggersNotSupported provides default implementations of the Trigger interface which may be used if the backend does not support triggers.
type WritesNotSupported ¶ added in v0.2.0
type WritesNotSupported = v1.WritesNotSupported
WritesNotSupported provides a default implementation of the write interface which may be used if the backend does not support writes.
Directories ¶
Path | Synopsis |
---|---|
Package disk provides disk-based implementation of the storage.Store interface.
|
Package disk provides disk-based implementation of the storage.Store interface. |
Deprecated: This package is intended for older projects transitioning from OPA v0.x and will remain for the lifetime of OPA v1.x, but its use is not recommended.
|
Deprecated: This package is intended for older projects transitioning from OPA v0.x and will remain for the lifetime of OPA v1.x, but its use is not recommended. |
test
Deprecated: This package is intended for older projects transitioning from OPA v0.x and will remain for the lifetime of OPA v1.x, but its use is not recommended.
|
Deprecated: This package is intended for older projects transitioning from OPA v0.x and will remain for the lifetime of OPA v1.x, but its use is not recommended. |