package logs
import "github.com/open-policy-agent/opa/plugins/logs"
Package logs implements decision log buffering and uploading.
Index ¶
- Constants
- type Config
- type EventV1
- type Logger
- type Plugin
- func Lookup(manager *plugins.Manager) *Plugin
- func New(parsedConfig *Config, manager *plugins.Manager) *Plugin
- func (p *Plugin) Log(ctx context.Context, decision *server.Info) error
- func (p *Plugin) Reconfigure(_ context.Context, config interface{})
- func (p *Plugin) Start(ctx context.Context) error
- func (p *Plugin) Stop(ctx context.Context)
- type ReportingConfig
Constants ¶
const Name = "decision_logs"
Name identifies the plugin on manager.
Types ¶
type Config ¶
type Config struct { Plugin *string `json:"plugin"` Service string `json:"service"` PartitionName string `json:"partition_name,omitempty"` Reporting ReportingConfig `json:"reporting"` }
Config represents the plugin configuration.
func ParseConfig ¶
ParseConfig validates the config and injects default values.
type EventV1 ¶
type EventV1 struct { Labels map[string]string `json:"labels"` DecisionID string `json:"decision_id"` Revision string `json:"revision,omitempty"` Path string `json:"path,omitempty"` Query string `json:"query,omitempty"` Input *interface{} `json:"input,omitempty"` Result *interface{} `json:"result,omitempty"` Error error `json:"error,omitempty"` RequestedBy string `json:"requested_by"` Timestamp time.Time `json:"timestamp"` Metrics map[string]interface{} `json:"metrics,omitempty"` }
EventV1 represents a decision log event.
type Logger ¶
Logger defines the interface for decision logging plugins.
type Plugin ¶
type Plugin struct {
// contains filtered or unexported fields
}
Plugin implements decision log buffering and uploading.
func Lookup ¶
Lookup returns the decision logs plugin registered with the manager.
func New ¶
New returns a new Plugin with the given config.
func (*Plugin) Log ¶
Log appends a decision log event to the buffer for uploading.
func (*Plugin) Reconfigure ¶
Reconfigure notifies the plugin with a new configuration.
func (*Plugin) Start ¶
Start starts the plugin.
func (*Plugin) Stop ¶
Stop stops the plugin.
type ReportingConfig ¶
type ReportingConfig struct { BufferSizeLimitBytes *int64 `json:"buffer_size_limit_bytes,omitempty"` // max size of in-memory buffer UploadSizeLimitBytes *int64 `json:"upload_size_limit_bytes,omitempty"` // max size of upload payload MinDelaySeconds *int64 `json:"min_delay_seconds,omitempty"` // min amount of time to wait between successful poll attempts MaxDelaySeconds *int64 `json:"max_delay_seconds,omitempty"` // max amount of time to wait between poll attempts }
ReportingConfig represents configuration for the plugin's reporting behaviour.
Source Files ¶
buffer.go encoder.go plugin.go
- Version
- v0.10.6
- Published
- Mar 26, 2019
- Platform
- js/wasm
- Imports
- 18 packages
- Last checked
- 2 minutes ago –
Tools for package owners.