Help us shape the future of Go! Take the 2026 Go Developer Survey

status

package
v0.49.2 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2023 License: Apache-2.0 Imports: 11 Imported by: 24

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) 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"`
	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