Documentation
¶
Index ¶
- Constants
- 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 WithRegoVersion(v ast.RegoVersion) Option
- func WithStorage(storageInterface storage.Store) Option
- type PathFilterFn
- type Policy
- type PolicyItem
- type RegoVersion
- type Result
- type Runtime
- func (r *Runtime) CheckPluginsStatus() error
- func (r *Runtime) Compile(ctx context.Context, qStr string, input map[string]any, unknowns []string, ...) (*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]any, ...) (*Result, error)
- func (r *Runtime) Start(ctx context.Context) error
- func (r *Runtime) Stop(ctx context.Context)
- func (r *Runtime) ValidateQuery(query string) (ast.Body, error)
- func (r *Runtime) ValidateRule(rule string) (bool, error)
- type State
Constants ¶
const DefaultRegoVersion = RegoV1
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BundleState ¶
type CompileResult ¶
CompileResult 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]any `json:"services,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Discovery *discovery.Config `json:"discovery,omitempty"`
Bundles map[string]*bp.Source `json:"bundles,omitempty"`
DecisionLogs *logs.Config `json:"decision_logs,omitempty"`
Status *status.Config `json:"status,omitempty"`
Plugins map[string]any `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 WithRegoVersion ¶
func WithRegoVersion(v ast.RegoVersion) Option
func WithStorage ¶
type PathFilterFn ¶
type PolicyItem ¶
type RegoVersion ¶
type RegoVersion int
const ( RegoUndefined RegoVersion = iota // RegoV0 is the default, original Rego syntax. RegoV0 // RegoV0CompatV1 requires modules to comply with both the RegoV0 and RegoV1 syntax (as when 'rego.v1' is imported in a module). // Shortly, RegoV1 compatibility is required, but 'rego.v1' or 'future.keywords' must also be imported. RegoV0CompatV1 // RegoV1 is the Rego syntax enforced by OPA 1.0; e.g.: // future.keywords part of default keyword set, and don't require imports; // 'if' and 'contains' required in rule heads; // (some) strict checks on by default. RegoV1 )
func RegoVersionFromString ¶
func RegoVersionFromString(v string) RegoVersion
func (RegoVersion) String ¶
func (v RegoVersion) String() string
func (RegoVersion) ToAstRegoVersion ¶
func (v RegoVersion) ToAstRegoVersion() ast.RegoVersion
type Result ¶
type Result struct {
Result rego.ResultSet
Metrics map[string]any
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
// contains filtered or unexported fields
}
func (*Runtime) CheckPluginsStatus ¶
CheckPluginsStatus, check all plugins if status is NOT plugins.StateOK.
func (*Runtime) GetBundleByID ¶
func (*Runtime) GetBundles ¶
func (r *Runtime) GetBundles(ctx context.Context) ([]*PolicyItem, error)
func (*Runtime) GetPluginsManager ¶
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]any, 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".
type State ¶
type State struct {
Ready bool
Errors []error
Bundles []BundleState
}