package server
import "github.com/open-policy-agent/opa/server"
Package server contains the policy engine's server handlers.
Index ¶
- type AuthenticationScheme
- type AuthorizationScheme
- type Buffer
- type Info
- type Server
- func New() *Server
- func (s *Server) Compiler() *ast.Compiler
- func (s *Server) Init(ctx context.Context) (*Server, error)
- func (s *Server) Listeners() (func() error, func() error)
- func (s *Server) WithAddress(addr string) *Server
- func (s *Server) WithAuthentication(scheme AuthenticationScheme) *Server
- func (s *Server) WithAuthorization(scheme AuthorizationScheme) *Server
- func (s *Server) WithCertificate(cert *tls.Certificate) *Server
- func (s *Server) WithCompilerErrorLimit(limit int) *Server
- func (s *Server) WithDecisionIDFactory(f func() string) *Server
- func (s *Server) WithDiagnosticsBuffer(buf Buffer) *Server
- func (s *Server) WithInsecureAddress(addr string) *Server
- func (s *Server) WithStore(store storage.Store) *Server
Types ¶
type AuthenticationScheme ¶
type AuthenticationScheme int
AuthenticationScheme enumerates the supported authentication schemes. The authentication scheme determines how client identities are established.
const ( AuthenticationOff AuthenticationScheme = iota AuthenticationToken = iota )
Set of supported authentication schemes.
type AuthorizationScheme ¶
type AuthorizationScheme int
AuthorizationScheme enumerates the supported authorization schemes. The authorization scheme determines how access to OPA is controlled.
const ( AuthorizationOff AuthorizationScheme = iota AuthorizationBasic = iota )
Set of supported authorization schemes.
type Buffer ¶
type Buffer interface { // Push adds the given Info into the buffer. Push(*Info) // Iter iterates over the buffer, from oldest present Info to newest. It should // call fn on each Info. Iter(fn func(*Info)) }
Buffer defines an interface that the server can call to push diagnostic information about policy decisions. Buffers must be able to handle concurrent calls.
func NewBoundedBuffer ¶
NewBoundedBuffer creates a new Buffer with maximum size n. NewBoundedBuffer will panic if n is not positive.
type Info ¶
type Info struct { DecisionID string RemoteAddr string Query string Timestamp time.Time Input interface{} Results *interface{} Error error Metrics metrics.Metrics Trace []*topdown.Event }
Info contains information describing a policy decision.
type Server ¶
Server represents an instance of OPA running in server mode.
func New ¶
func New() *Server
New returns a new Server.
func (*Server) Compiler ¶
Compiler returns the server's compiler.
The server's compiler contains the compiled versions of all modules added to the server as well as data structures for performing query analysis. This is intended to allow services to embed the OPA server while still relying on the topdown package for query evaluation.
func (*Server) Init ¶
Init initializes the server. This function MUST be called before Loop.
func (*Server) Listeners ¶
Listeners returns functions that listen and serve connections.
func (*Server) WithAddress ¶
WithAddress sets the listening address that the server will bind to.
func (*Server) WithAuthentication ¶
func (s *Server) WithAuthentication(scheme AuthenticationScheme) *Server
WithAuthentication sets authentication scheme to use on the server.
func (*Server) WithAuthorization ¶
func (s *Server) WithAuthorization(scheme AuthorizationScheme) *Server
WithAuthorization sets authorization scheme to use on the server.
func (*Server) WithCertificate ¶
func (s *Server) WithCertificate(cert *tls.Certificate) *Server
WithCertificate sets the server-side certificate that the server will use.
func (*Server) WithCompilerErrorLimit ¶
WithCompilerErrorLimit sets the limit on the number of compiler errors the server will allow.
func (*Server) WithDecisionIDFactory ¶
WithDecisionIDFactory sets a function on the server to generate decision IDs.
func (*Server) WithDiagnosticsBuffer ¶
WithDiagnosticsBuffer sets the diagnostics buffer used by the server.
func (*Server) WithInsecureAddress ¶
WithInsecureAddress sets the listening address that the server will bind to.
func (*Server) WithStore ¶
WithStore sets the storage used by the server.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
server/authorizer | Package authorizer provides authorization handlers to the server. |
server/identifier | Package identifier provides handlers for associating an identity with incoming requests. |
server/types | Package types contains request/response types and codes for the server. |
server/writer | Package writer contains utilities for writing responses in the server. |
- Version
- v0.5.12
- Published
- Nov 22, 2017
- Platform
- linux/amd64
- Imports
- 28 packages
- Last checked
- 13 minutes ago –
Tools for package owners.