package runtime

import "github.com/open-policy-agent/opa/runtime"

Package runtime contains the entry point to the policy engine.

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

Functions

func NewLoggingHandler

func NewLoggingHandler(logger logging.Logger, inner http.Handler) http.Handler

NewLoggingHandler returns a new http.Handler.

func RegisterPlugin

func RegisterPlugin(name string, factory plugins.Factory)

RegisterPlugin registers a plugin factory with the runtime package. When the runtime is created, the factories are used to parse plugin configuration and instantiate plugins. If no configuration is provided, plugins are not instantiated. This function is idempotent.

Types

type LoggingConfig

type LoggingConfig = v1.LoggingConfig

LoggingConfig stores the configuration for OPA's logging behaviour.

type LoggingHandler

type LoggingHandler = v1.LoggingHandler

LoggingHandler returns an http.Handler that will print log messages containing the request information as well as response status and latency.

type Params

type Params = v1.Params

Params stores the configuration for an OPA instance.

func NewParams

func NewParams() Params

NewParams returns a new Params object.

type Runtime

type Runtime = v1.Runtime

Runtime represents a single OPA instance.

func NewRuntime

func NewRuntime(ctx context.Context, params Params) (*Runtime, error)

NewRuntime returns a new Runtime object initialized with params. Clients must call StartServer() or StartREPL() to start the runtime in either mode.

Source Files

doc.go logging.go runtime.go

Version
v1.4.2 (latest)
Published
May 2, 2025
Platform
linux/amd64
Imports
5 packages
Last checked
6 hours ago

Tools for package owners.