Documentation ¶
Overview ¶
Package runtime contains the entry point to the policy engine.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewLoggingHandler ¶
NewLoggingHandler returns a new http.Handler.
Types ¶
type LoggingConfig ¶ added in v0.4.6
LoggingConfig stores the configuration for OPA's logging behaviour.
type LoggingHandler ¶
type LoggingHandler struct {
// contains filtered or unexported fields
}
LoggingHandler returns an http.Handler that will print log messages containing the request information as well as response status and latency.
func (*LoggingHandler) ServeHTTP ¶
func (h *LoggingHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
type Params ¶
type Params struct { // Globally unique identifier for this OPA instance. If an ID is not specified, // the runtime will generate one. ID string // Addr is the listening address that the OPA server will bind to. Addr string // InsecureAddr is the listening address that the OPA server will bind to // in addition to Addr if TLS is enabled. InsecureAddr string // Authentication is the type of authentication scheme to use. Authentication server.AuthenticationScheme // Authorization is the type of authorization scheme to use. Authorization server.AuthorizationScheme // Certificate is the certificate to use in server-mode. If the certificate // is nil, the server will NOT use TLS. Certificate *tls.Certificate // HistoryPath is the filename to store the interactive shell user // input history. HistoryPath string // Output format controls how the REPL will print query results. // Default: "pretty". OutputFormat string // Paths contains filenames of base documents and policy modules to load on // startup. Data files may be prefixed with "<dotted-path>:" to indicate // where the contained document should be loaded. Paths []string // Watch flag controls whether OPA will watch the Paths files for changes. // If this flag is true, OPA will watch the Paths files for changes and // reload the storage layer each time they change. This is useful for // interactive development. Watch bool // ErrorLimit is the number of errors the compiler will allow to occur before // exiting early. ErrorLimit int // DecisionIDFactory generates decision IDs to include in API responses // sent by the server (in response to Data API queries.) DecisionIDFactory func() string // DiagnosticsBuffer is used by the server to record policy decisions. DiagnosticsBuffer server.Buffer // Logging configures the logging behaviour. Logging LoggingConfig // ConfigFile refers to the OPA configuration to load on startup. ConfigFile string // Output is the output stream used when run as an interactive shell. This // is mostly for test purposes. Output io.Writer }
Params stores the configuration for an OPA instance.
type Runtime ¶
type Runtime struct { Params Params Store storage.Store Manager *plugins.Manager // contains filtered or unexported fields }
Runtime represents a single OPA instance.
func NewRuntime ¶ added in v0.5.9
NewRuntime returns a new Runtime object initialized with params.
func (*Runtime) StartREPL ¶ added in v0.5.9
StartREPL starts the runtime in REPL mode. This function will block the calling goroutine.
func (*Runtime) StartServer ¶ added in v0.5.9
StartServer starts the runtime in server mode. This function will block the calling goroutine.