mirror of
https://github.com/open-policy-agent/opa.git
synced 2026-08-13 03:42:35 -06:00
a179a24c48
All packages, except for `cmd` and `internal`, have been moved into a new `v1` root package. Old packages are kept for backwards-compatibility reasons. All contained code is replaced with simple type aliases and proxy functions to `v1` implementations. Old packages default to the Rego v0 syntax, new `v1` packages default to the Rego v1 syntax. Signed-off-by: Johan Fylling <johan.dev@fylling.se>
41 lines
1.3 KiB
Go
41 lines
1.3 KiB
Go
// Copyright 2016 The OPA Authors. All rights reserved.
|
|
// Use of this source code is governed by an Apache2
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package runtime
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/open-policy-agent/opa/plugins"
|
|
v1 "github.com/open-policy-agent/opa/v1/runtime"
|
|
)
|
|
|
|
// 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.
|
|
func RegisterPlugin(name string, factory plugins.Factory) {
|
|
v1.RegisterPlugin(name, factory)
|
|
}
|
|
|
|
// Params stores the configuration for an OPA instance.
|
|
type Params = v1.Params
|
|
|
|
// LoggingConfig stores the configuration for OPA's logging behaviour.
|
|
type LoggingConfig = v1.LoggingConfig
|
|
|
|
// NewParams returns a new Params object.
|
|
func NewParams() Params {
|
|
return v1.NewParams()
|
|
}
|
|
|
|
// Runtime represents a single OPA instance.
|
|
type Runtime = v1.Runtime
|
|
|
|
// NewRuntime returns a new Runtime object initialized with params. Clients must
|
|
// call StartServer() or StartREPL() to start the runtime in either mode.
|
|
func NewRuntime(ctx context.Context, params Params) (*Runtime, error) {
|
|
return v1.NewRuntime(ctx, params)
|
|
}
|