config

package
v0.63.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2024 License: Apache-2.0 Imports: 11 Imported by: 15

Documentation

Overview

Package config implements OPA configuration file parsing and validation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Services                     json.RawMessage            `json:"services,omitempty"`
	Labels                       map[string]string          `json:"labels,omitempty"`
	Discovery                    json.RawMessage            `json:"discovery,omitempty"`
	Bundle                       json.RawMessage            `json:"bundle,omitempty"` // Deprecated: Use `bundles` instead
	Bundles                      json.RawMessage            `json:"bundles,omitempty"`
	DecisionLogs                 json.RawMessage            `json:"decision_logs,omitempty"`
	Status                       json.RawMessage            `json:"status,omitempty"`
	Plugins                      map[string]json.RawMessage `json:"plugins,omitempty"`
	Keys                         json.RawMessage            `json:"keys,omitempty"`
	DefaultDecision              *string                    `json:"default_decision,omitempty"`
	DefaultAuthorizationDecision *string                    `json:"default_authorization_decision,omitempty"`
	Caching                      json.RawMessage            `json:"caching,omitempty"`
	NDBuiltinCache               bool                       `json:"nd_builtin_cache,omitempty"`
	PersistenceDirectory         *string                    `json:"persistence_directory,omitempty"`
	DistributedTracing           json.RawMessage            `json:"distributed_tracing,omitempty"`
	Server                       *struct {
		Encoding json.RawMessage `json:"encoding,omitempty"`
		Metrics  json.RawMessage `json:"metrics,omitempty"`
	} `json:"server,omitempty"`
	Storage *struct {
		Disk json.RawMessage `json:"disk,omitempty"`
	} `json:"storage,omitempty"`
	Extra map[string]json.RawMessage `json:"-"`
}

Config represents the configuration file that OPA can be started with.

func ParseConfig

func ParseConfig(raw []byte, id string) (*Config, error)

ParseConfig returns a valid Config object with defaults injected. The id and version parameters will be set in the labels map.

func (*Config) ActiveConfig added in v0.28.0

func (c *Config) ActiveConfig() (interface{}, error)

ActiveConfig returns OPA's active configuration with the credentials and crypto keys removed

func (Config) DefaultAuthorizationDecisionRef

func (c Config) DefaultAuthorizationDecisionRef() ast.Ref

DefaultAuthorizationDecisionRef returns the default authorization decision as a reference.

func (Config) DefaultDecisionRef

func (c Config) DefaultDecisionRef() ast.Ref

DefaultDecisionRef returns the default decision as a reference.

func (Config) GetPersistenceDirectory added in v0.27.0

func (c Config) GetPersistenceDirectory() (string, error)

GetPersistenceDirectory returns the configured persistence directory, or $PWD/.opa if none is configured

func (Config) NDBuiltinCacheEnabled added in v0.45.0

func (c Config) NDBuiltinCacheEnabled() bool

NDBuiltinCacheEnabled returns if the ND builtins cache should be used.

func (Config) PluginNames added in v0.36.0

func (c Config) PluginNames() (result []string)

PluginNames returns a sorted list of names of enabled plugins.

func (Config) PluginsEnabled

func (c Config) PluginsEnabled() bool

PluginsEnabled returns true if one or more plugin features are enabled.

Deprecated. Use PluginNames instead.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL