plugins

package
v0.0.0-...-932f233 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AlreadyMigrated = errors.New("database already migrated")
View Source
var EnvironmentPreparedOrder = EnvironmentPreparingOrder + 1

EnvironmentPreparedOrder describes an order at which you can put a plugin and expect that the base environment is already configured by Universal/Kubernetes plugins.

View Source
var EnvironmentPreparingOrder = 0

EnvironmentPreparingOrder describes an order at which base environment plugins (Universal/Kubernetes) configure the control plane.

Functions

func Register

func Register(name PluginName, plugin Plugin)

Types

type BootstrapPlugin

type BootstrapPlugin interface {
	Plugin
	BeforeBootstrap(*MutablePluginContext, PluginConfig) error
	AfterBootstrap(*MutablePluginContext, PluginConfig) error
	Name() PluginName
	// Order defines an order in which plugins are applied on the control plane.
	// If you don't have specific need, consider using EnvironmentPreparedOrder
	Order() int
}

BootstrapPlugin is responsible for environment-specific initialization at start up, e.g. Kubernetes-specific part of configuration. Unlike other plugins, can mutate plugin context directly.

type CaPlugin

type CaPlugin interface {
	Plugin
	NewCaManager(PluginContext, PluginConfig)
}

type ConfigStorePlugin

type ConfigStorePlugin interface {
	Plugin
	NewConfigStore(PluginContext, PluginConfig) (core_store.ResourceStore, error)
}

ConfigStorePlugin is responsible for instantiating a particular ConfigStore.

type DbVersion

type DbVersion = uint

ResourceStorePlugin is responsible for instantiating a particular ResourceStore.

type MutablePluginContext

type MutablePluginContext = core_runtime.Builder

type MutableRegistry

type MutableRegistry interface {
	Registry
	RegistryMutator
}

func NewRegistry

func NewRegistry() MutableRegistry

type Plugin

type Plugin interface{}

type PluginConfig

type PluginConfig interface{}

type PluginContext

type PluginContext = core_runtime.BuilderContext

type PluginName

type PluginName string
const (
	Kubernetes  PluginName = "k8s"
	Universal   PluginName = "universal"
	Memory      PluginName = "memory"
	Zookeeper   PluginName = "zookeeper"
	Traditional PluginName = "traditional"
	Nacos       PluginName = "nacos"
	MySQL       PluginName = "mysql"

	CaBuiltin PluginName = "builtin"
)

type PolicyPlugin

type PolicyPlugin interface {
	Plugin
	// MatchedPolicies accessible in Apply through `proxy.Policies.Dynamic`
	MatchedPolicies(dataplane *core_mesh.DataplaneResource, resource xds_context.Resources) (core_xds.TypedMatchingPolicies, error)
	// Apply to `rs` using the `ctx` and `proxy` the mutation for all policies of the type this plugin implements.
	// You can access matching policies by using `proxy.Policies.Dynamic`.
	Apply(rs *core_xds.ResourceSet, ctx xds_context.Context, proxy *core_xds.Proxy) error
}

PolicyPlugin a plugin to add a Policy to dubbo

type RegisteredPolicyPlugin

type RegisteredPolicyPlugin struct {
	Plugin PolicyPlugin
	Name   PluginName
}

type Registry

type Registry interface {
	BootstrapPlugins() []BootstrapPlugin
	ResourceStore(name PluginName) (ResourceStorePlugin, error)
	ConfigStore(name PluginName) (ConfigStorePlugin, error)
	RuntimePlugins() map[PluginName]RuntimePlugin
	PolicyPlugins([]PluginName) []RegisteredPolicyPlugin
}

func Plugins

func Plugins() Registry

type RegistryMutator

type RegistryMutator interface {
	Register(PluginName, Plugin) error
}

type ResourceStorePlugin

type ResourceStorePlugin interface {
	Plugin
	NewResourceStore(PluginContext, PluginConfig) (core_store.ResourceStore, core_store.Transactions, error)
	Migrate(PluginContext, PluginConfig) (DbVersion, error)
	EventListener(PluginContext, events.Emitter) error
}

ResourceStorePlugin is responsible for instantiating a particular ResourceStore.

type RuntimePlugin

type RuntimePlugin interface {
	Plugin
	Customize(core_runtime.Runtime) error
}

RuntimePlugin is responsible for registering environment-specific components, e.g. Kubernetes admission web hooks.

Jump to

Keyboard shortcuts

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