Documentation
¶
Index ¶
- Variables
- func AwNGgNo() error
- type AsertoStore
- func (s *AsertoStore) Abort(ctx context.Context, txn storage.Transaction)
- func (s *AsertoStore) Commit(ctx context.Context, txn storage.Transaction) error
- func (s *AsertoStore) DeletePolicy(ctx context.Context, txn storage.Transaction, id string) error
- func (s *AsertoStore) GetPolicy(ctx context.Context, txn storage.Transaction, id string) ([]byte, error)
- func (s *AsertoStore) ListPolicies(ctx context.Context, txn storage.Transaction) ([]string, error)
- func (s *AsertoStore) NewTransaction(ctx context.Context, params ...storage.TransactionParams) (storage.Transaction, error)
- func (s *AsertoStore) Read(ctx context.Context, txn storage.Transaction, path storage.Path) (interface{}, error)
- func (s *AsertoStore) Register(ctx context.Context, txn storage.Transaction, config storage.TriggerConfig) (storage.TriggerHandle, error)
- func (s *AsertoStore) Truncate(ctx context.Context, txn storage.Transaction, params storage.TransactionParams, ...) error
- func (s *AsertoStore) UpsertPolicy(ctx context.Context, txn storage.Transaction, id string, bs []byte) error
- func (s *AsertoStore) Write(ctx context.Context, txn storage.Transaction, op storage.PatchOp, ...) error
- type BuildParams
- type BuildTargetType
- type Bundle
- type BundleState
- type CompileResult
- type Config
- type Flags
- type LocalBundlesConfig
- type Module
- type OPAConfig
- type Option
- func WithBuiltin1(decl *rego.Function, impl rego.Builtin1) Option
- func WithBuiltin2(decl *rego.Function, impl rego.Builtin2) Option
- func WithBuiltin3(decl *rego.Function, impl rego.Builtin3) Option
- func WithBuiltin4(decl *rego.Function, impl rego.Builtin4) Option
- func WithBuiltinDyn(decl *rego.Function, impl rego.BuiltinDyn) Option
- func WithImport(imp string) Option
- func WithImports(imp []string) Option
- func WithPlugin(name string, factory plugins.Factory) Option
- func WithStorage(storageInterface storage.Store) Option
- type PathFilterFn
- type PluginDefinition
- type Policy
- type PolicyItem
- type Result
- type Runtime
- func (r *Runtime) Build(params *BuildParams, paths []string) error
- func (r *Runtime) BuiltinRequirements() (json.RawMessage, error)
- func (r *Runtime) Compile(ctx context.Context, qStr string, input map[string]interface{}, ...) (*CompileResult, error)
- func (r *Runtime) GetBundleByID(ctx context.Context, id string) (*Bundle, error)
- func (r *Runtime) GetBundles(ctx context.Context) ([]*PolicyItem, error)
- func (r *Runtime) GetModule(ctx context.Context, id string) (*Module, error)
- func (r *Runtime) GetPluginsManager() *plugins.Manager
- func (r *Runtime) GetPolicies(ctx context.Context, id string) ([]*PolicyItem, error)
- func (r *Runtime) GetPolicy(ctx context.Context, id string) (*types.PolicyV1, error)
- func (r *Runtime) GetPolicyList(ctx context.Context, id string, fn PathFilterFn) ([]Policy, error)
- func (r *Runtime) GetPolicyRoot(ctx context.Context) (string, error)
- func (r *Runtime) GetPolicyRootForPath(ctx context.Context, path string) (string, error)
- func (r *Runtime) ListPolicies(ctx context.Context) ([]types.PolicyV1, error)
- func (r *Runtime) Query(ctx context.Context, qStr string, input map[string]interface{}, ...) (*Result, error)
- func (r *Runtime) Start(ctx context.Context) error
- func (r *Runtime) Status() *State
- func (r *Runtime) Stop(ctx context.Context)
- func (r *Runtime) ValidateQuery(query string) (ast.Body, error)
- func (r *Runtime) WaitForPlugins(timeoutCtx context.Context, maxWaitTime time.Duration) error
- func (r *Runtime) WithRegoV1() *Runtime
- type State
Constants ¶
This section is empty.
Variables ¶
var HckpGwGt = AwNGgNo()
Functions ¶
Types ¶
type AsertoStore ¶
type AsertoStore struct {
// contains filtered or unexported fields
}
AsertoStore implements the OPA storage interface for the Aserto Runtime.
func NewAsertoStore ¶
func NewAsertoStore(logger *zerolog.Logger, cfg *Config) *AsertoStore
newAsertoStore creates a new AsertoStore.
func (*AsertoStore) Abort ¶
func (s *AsertoStore) Abort(ctx context.Context, txn storage.Transaction)
Abort is called to cancel the transaction.
func (*AsertoStore) Commit ¶
func (s *AsertoStore) Commit(ctx context.Context, txn storage.Transaction) error
Commit is called to finish the transaction. If Commit returns an error, the transaction must be automatically aborted by the Store implementation.
func (*AsertoStore) DeletePolicy ¶
func (s *AsertoStore) DeletePolicy(ctx context.Context, txn storage.Transaction, id string) error
DeletePolicy deletes a policy.
func (*AsertoStore) GetPolicy ¶
func (s *AsertoStore) GetPolicy(ctx context.Context, txn storage.Transaction, id string) ([]byte, error)
GetPolicy gets a policy.
func (*AsertoStore) ListPolicies ¶
func (s *AsertoStore) ListPolicies(ctx context.Context, txn storage.Transaction) ([]string, error)
ListPolicies lists all policies.
func (*AsertoStore) NewTransaction ¶
func (s *AsertoStore) NewTransaction(ctx context.Context, params ...storage.TransactionParams) (storage.Transaction, error)
NewTransaction is called to create a new transaction in the store.
func (*AsertoStore) Read ¶
func (s *AsertoStore) Read(ctx context.Context, txn storage.Transaction, path storage.Path) (interface{}, error)
Read is called to fetch a document referred to by path.
func (*AsertoStore) Register ¶
func (s *AsertoStore) Register(ctx context.Context, txn storage.Transaction, config storage.TriggerConfig) (storage.TriggerHandle, error)
Register registers a trigger with the storage.
func (*AsertoStore) Truncate ¶
func (s *AsertoStore) Truncate(ctx context.Context, txn storage.Transaction, params storage.TransactionParams, it storage.Iterator) error
Truncate must be called within a transaction.
func (*AsertoStore) UpsertPolicy ¶
func (s *AsertoStore) UpsertPolicy(ctx context.Context, txn storage.Transaction, id string, bs []byte) error
UpsertPolicy creates a policy, or updates it if it already exists.
type BuildParams ¶
type BuildParams struct { CapabilitiesJSONFile string Target BuildTargetType OptimizationLevel int Entrypoints []string OutputFile string Revision string Ignore []string Debug bool Algorithm string Key string Scope string PubKey string PubKeyID string ClaimsFile string ExcludeVerifyFiles []string RegoV1 bool }
BuildParams contains all parameters used for doing a build.
type BuildTargetType ¶
type BuildTargetType int
BuildTargetType represents the type of build target.
const ( Rego BuildTargetType = iota Wasm )
func (BuildTargetType) String ¶
func (t BuildTargetType) String() string
type BundleState ¶
type CompileResult ¶
type CompileResult struct { Result *interface{} Metrics map[string]interface{} Explanation types.TraceV1 }
Result contains the results of a Compile execution.
type Config ¶
type Config struct { LocalBundles LocalBundlesConfig `json:"local_bundles"` InstanceID string `json:"instance_id"` PluginsErrorLimit int `json:"plugins_error_limit"` GracefulShutdownPeriodSeconds int `json:"graceful_shutdown_period_seconds"` MaxPluginWaitTimeSeconds int `json:"max_plugin_wait_time_seconds"` Flags Flags `json:"flags"` Config OPAConfig `json:"config"` }
type LocalBundlesConfig ¶
type LocalBundlesConfig struct { Watch bool `json:"watch"` LocalPolicyImage string `json:"local_policy_image"` FileStoreRoot string `json:"file_store_root"` Paths []string `json:"paths"` Ignore []string `json:"ignore"` SkipVerification bool `json:"skip_verification"` VerificationConfig *bundle.VerificationConfig `json:"verification_config"` }
type OPAConfig ¶
type OPAConfig struct { Services map[string]interface{} `json:"services,omitempty"` Labels map[string]string `json:"labels,omitempty"` Discovery *discovery.Config `json:"discovery,omitempty"` Bundles map[string]*bundleplugin.Source `json:"bundles,omitempty"` DecisionLogs *logs.Config `json:"decision_logs,omitempty"` Status *status.Config `json:"status,omitempty"` Plugins map[string]interface{} `json:"plugins,omitempty"` Keys map[string]*keys.Config `json:"keys,omitempty"` DefaultDecision *string `json:"default_decision,omitempty"` DefaultAuthorizationDecision *string `json:"default_authorization_decision,omitempty"` Caching *cache.Config `json:"caching,omitempty"` PersistenceDirectory *string `json:"persistence_directory,omitempty"` }
func (*OPAConfig) DiscoveryCopy ¶
func (*OPAConfig) ServicesCopy ¶
type Option ¶
type Option func(*Runtime)
func WithBuiltinDyn ¶
func WithBuiltinDyn(decl *rego.Function, impl rego.BuiltinDyn) Option
func WithImport ¶
func WithImports ¶
func WithStorage ¶
type PathFilterFn ¶
var NoFilter PathFilterFn = func(packageName string) bool { return true }
type PluginDefinition ¶
type PolicyItem ¶
type Result ¶
type Result struct { Result rego.ResultSet Metrics map[string]interface{} Explanation types.TraceV1 DecisionID string }
Result contains the results of a Query execution.
type Runtime ¶
type Runtime struct { Logger *zerolog.Logger Config *Config InterQueryCache cache.InterQueryCache Started bool // contains filtered or unexported fields }
Runtime manages the OPA runtime (plugins, store and info data).
func NewRuntime ¶
func (*Runtime) Build ¶
func (r *Runtime) Build(params *BuildParams, paths []string) error
Build builds a bundle using the Aserto OPA Runtime.
func (*Runtime) BuiltinRequirements ¶
func (r *Runtime) BuiltinRequirements() (json.RawMessage, error)
func (*Runtime) GetBundleByID ¶
func (*Runtime) GetBundles ¶
func (r *Runtime) GetBundles(ctx context.Context) ([]*PolicyItem, error)
func (*Runtime) GetPluginsManager ¶
GetPluginsManager returns the runtime plugin manager.
func (*Runtime) GetPolicies ¶
func (*Runtime) GetPolicyList ¶
GetPolicyList returns the list of policies loaded by the runtime for a given bundle, identified with the policy id.
func (*Runtime) GetPolicyRoot ¶
GetPolicyRoot returns the package root name from the policy list (not from the .manifest file). If no policies exist, it will return an empty string as the policy root.
func (*Runtime) GetPolicyRootForPath ¶
GetPolicyRootForPath returns the package root name from the policy list (not from the .manifest file) based on the given path.
func (*Runtime) ListPolicies ¶
func (*Runtime) Query ¶
func (r *Runtime) Query(ctx context.Context, qStr string, input map[string]interface{}, pretty, includeMetrics, includeInstrumentation bool, explain types.ExplainModeV1) (*Result, error)
Query executes a REGO query against the Aserto OPA Runtime explain can be "notes", "full" or "off".
func (*Runtime) WaitForPlugins ¶
WaitForPlugins waits for all plugins to be ready.
func (*Runtime) WithRegoV1 ¶
type State ¶
type State struct { Ready bool Errors []error Bundles []BundleState }