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
// Addrs are the listening addresses that the OPA server will bind to.
Addrs *[]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
// Optional filter that will be passed to the file loader.
Filter loader.Filter
// 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.