Documentation
¶
Index ¶
- Constants
- func RegisterStubBuiltins(defs *StubBuiltinDefs)
- type BuildParams
- type BuildTargetType
- type Config
- type Flags
- type LocalBundlesConfig
- type Manifest
- type MetadataEx
- 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 WithConfig(cfg *Config) 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 RegoVersion
- type Runtime
- type StubBuiltin
- type StubBuiltin1
- type StubBuiltin2
- type StubBuiltin3
- type StubBuiltin4
- type StubBuiltinDefs
- type StubBuiltinDyn
Constants ¶
View Source
const DefaultRegoVersion = RegoV1
Variables ¶
This section is empty.
Functions ¶
func RegisterStubBuiltins ¶
func RegisterStubBuiltins(defs *StubBuiltinDefs)
Types ¶
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
RegoVersion RegoVersion
}
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 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 Manifest ¶
type Manifest struct {
bundle.Manifest
RequiredBuiltIns StubBuiltinDefs
}
func LoadManifest ¶
func NewManifest ¶
func NewManifest() *Manifest
type MetadataEx ¶
type MetadataEx struct {
Metadata struct {
RequiredBuiltins *StubBuiltinDefs `json:"required_builtins"`
} `json:"metadata"`
}
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]*bundleplugin.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 WithConfig ¶
func WithImport ¶
func WithImports ¶
func WithRegoVersion ¶
func WithRegoVersion(v ast.RegoVersion) Option
func WithStorage ¶
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 Runtime ¶
type StubBuiltin ¶
type StubBuiltin1 ¶
type StubBuiltin1 StubBuiltin
type StubBuiltin2 ¶
type StubBuiltin2 StubBuiltin
type StubBuiltin3 ¶
type StubBuiltin3 StubBuiltin
type StubBuiltin4 ¶
type StubBuiltin4 StubBuiltin
type StubBuiltinDefs ¶
type StubBuiltinDefs struct {
Builtin1 []StubBuiltin1 `json:"builtin1,omitempty"`
Builtin2 []StubBuiltin2 `json:"builtin2,omitempty"`
Builtin3 []StubBuiltin3 `json:"builtin3,omitempty"`
Builtin4 []StubBuiltin4 `json:"builtin4,omitempty"`
BuiltinDyn []StubBuiltinDyn `json:"builtin_dyn,omitempty"`
}
type StubBuiltinDyn ¶
type StubBuiltinDyn StubBuiltin
Click to show internal directories.
Click to hide internal directories.