package discovery

import "github.com/open-policy-agent/opa/plugins/discovery"

Package discovery implements configuration discovery.

Index

Functions

func CustomPlugins

func CustomPlugins(funcs map[string]plugins.PluginInitFunc) func(*Discovery)

CustomPlugins provides a set of factory functions to use for instantiating custom plugins.

Types

type Config

type Config struct {
	download.Config         // bundle downloader configuration
	Name            *string `json:"name"`   // name of the discovery bundle
	Prefix          *string `json:"prefix"` // path prefix for downloader
	// contains filtered or unexported fields
}

Config represents the configuration for the discovery feature.

func ParseConfig

func ParseConfig(bs []byte, services []string) (*Config, error)

ParseConfig returns a valid Config object with defaults injected.

type Discovery

type Discovery struct {
	// contains filtered or unexported fields
}

Discovery implements configuration discovery for OPA. When discovery is started it will periodically download a configuration bundle and try to reconfigure the OPA.

func New

func New(manager *plugins.Manager, opts ...func(*Discovery)) (*Discovery, error)

New returns a new discovery plugin.

func (*Discovery) Reconfigure

func (c *Discovery) Reconfigure(_ context.Context, _ interface{})

Reconfigure is a no-op on discovery.

func (*Discovery) Start

func (c *Discovery) Start(ctx context.Context) error

Start starts the dynamic discovery process if configured.

func (*Discovery) Stop

func (c *Discovery) Stop(ctx context.Context)

Stop stops the dynamic discovery process if configured.

Source Files

config.go discovery.go

Version
v0.10.2
Published
Dec 10, 2018
Platform
windows/amd64
Imports
16 packages
Last checked
1 second ago

Tools for package owners.