status

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: 13 Imported by: 13

Documentation

Overview

Package status implements status reporting.

Index

Constants

View Source
const Name = "status"

Name identifies the plugin on manager.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Plugin        *string              `json:"plugin"`
	Service       string               `json:"service"`
	PartitionName string               `json:"partition_name,omitempty"`
	ConsoleLogs   bool                 `json:"console"`
	Prometheus    bool                 `json:"prometheus"`
	Trigger       *plugins.TriggerMode `json:"trigger,omitempty"` // trigger mode
}

Config contains configuration for the plugin.

func ParseConfig added in v0.10.2

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

ParseConfig validates the config and injects default values.

type ConfigBuilder added in v0.32.0

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

ConfigBuilder assists in the construction of the plugin configuration.

func NewConfigBuilder added in v0.32.0

func NewConfigBuilder() *ConfigBuilder

NewConfigBuilder returns a new ConfigBuilder to build and parse the plugin config.

func (*ConfigBuilder) Parse added in v0.32.0

func (b *ConfigBuilder) Parse() (*Config, error)

Parse validates the config and injects default values.

func (*ConfigBuilder) WithBytes added in v0.32.0

func (b *ConfigBuilder) WithBytes(config []byte) *ConfigBuilder

WithBytes sets the raw plugin config.

func (*ConfigBuilder) WithPlugins added in v0.32.0

func (b *ConfigBuilder) WithPlugins(plugins []string) *ConfigBuilder

WithPlugins sets the list of named plugins for status updates.

func (*ConfigBuilder) WithServices added in v0.32.0

func (b *ConfigBuilder) WithServices(services []string) *ConfigBuilder

WithServices sets the services that implement control plane APIs.

func (*ConfigBuilder) WithTriggerMode added in v0.32.0

func (b *ConfigBuilder) WithTriggerMode(trigger *plugins.TriggerMode) *ConfigBuilder

WithTriggerMode sets the plugin trigger mode.

type Logger added in v0.28.0

type Logger interface {
	plugins.Plugin

	Log(context.Context, *UpdateRequestV1) error
}

Logger defines the interface for status plugins.

type Plugin

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

Plugin implements status reporting. Updates can be triggered by the caller.

func Lookup added in v0.10.2

func Lookup(manager *plugins.Manager) *Plugin

Lookup returns the status plugin registered with the manager.

func New

func New(parsedConfig *Config, manager *plugins.Manager) *Plugin

New returns a new Plugin with the given config.

func (*Plugin) BulkUpdateBundleStatus added in v0.13.0

func (p *Plugin) BulkUpdateBundleStatus(status map[string]*bundle.Status)

BulkUpdateBundleStatus notifies the plugin that the policy bundle was updated.

func (*Plugin) Reconfigure added in v0.10.2

func (p *Plugin) Reconfigure(_ context.Context, config interface{})

Reconfigure notifies the plugin with a new configuration.

func (*Plugin) Snapshot added in v0.36.0

func (p *Plugin) Snapshot() *UpdateRequestV1

Snapshot returns the current status.

func (*Plugin) Start

func (p *Plugin) Start(ctx context.Context) error

Start starts the plugin.

func (*Plugin) Stop

func (p *Plugin) Stop(ctx context.Context)

Stop stops the plugin.

func (*Plugin) Trigger added in v0.32.0

func (p *Plugin) Trigger(ctx context.Context) error

Trigger can be used to control when the plugin attempts to upload status in manual triggering mode.

func (*Plugin) UpdateBundleStatus added in v0.10.2

func (p *Plugin) UpdateBundleStatus(status bundle.Status)

UpdateBundleStatus notifies the plugin that the policy bundle was updated. Deprecated: Use BulkUpdateBundleStatus instead.

func (*Plugin) UpdateDecisionLogsStatus added in v0.50.0

func (p *Plugin) UpdateDecisionLogsStatus(status lstat.Status)

UpdateDecisionLogsStatus notifies the plugin that status of a decision log upload event.

func (*Plugin) UpdateDiscoveryStatus added in v0.10.2

func (p *Plugin) UpdateDiscoveryStatus(status bundle.Status)

UpdateDiscoveryStatus notifies the plugin that the discovery bundle was updated.

func (*Plugin) UpdatePluginStatus added in v0.17.0

func (p *Plugin) UpdatePluginStatus(status map[string]*plugins.Status)

UpdatePluginStatus notifies the plugin that a plugin status was updated.

func (*Plugin) WithMetrics added in v0.14.0

func (p *Plugin) WithMetrics(m metrics.Metrics) *Plugin

WithMetrics sets the global metrics provider to be used by the plugin.

type UpdateRequestV1

type UpdateRequestV1 struct {
	Labels       map[string]string          `json:"labels"`
	Bundle       *bundle.Status             `json:"bundle,omitempty"` // Deprecated: Use bulk `bundles` status updates instead
	Bundles      map[string]*bundle.Status  `json:"bundles,omitempty"`
	Discovery    *bundle.Status             `json:"discovery,omitempty"`
	DecisionLogs *lstat.Status              `json:"decision_logs,omitempty"`
	Metrics      map[string]interface{}     `json:"metrics,omitempty"`
	Plugins      map[string]*plugins.Status `json:"plugins,omitempty"`
}

UpdateRequestV1 represents the status update message that OPA sends to remote HTTP endpoints.

Jump to

Keyboard shortcuts

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