Documentation
¶
Index ¶
- Variables
- func Register(name PluginName, plugin Plugin)
- type AuthnAPIServerPlugin
- type BootstrapPlugin
- type CaPlugin
- type ConfigStorePlugin
- type DbVersion
- type MutablePluginContext
- type MutableRegistry
- type Plugin
- type PluginConfig
- type PluginContext
- type PluginName
- type Registry
- type RegistryMutator
- type ResourceStorePlugin
- type RuntimePlugin
- type SecretStorePlugin
Constants ¶
This section is empty.
Variables ¶
var AlreadyMigrated = errors.New("database already migrated")
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.
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 AuthnAPIServerPlugin ¶ added in v1.8.1
type AuthnAPIServerPlugin interface { Plugin NewAuthenticator(PluginContext) (authn.Authenticator, error) }
AuthnAPIServerPlugin is responsible for providing authenticator for API Server.
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) (core_ca.Manager, error) }
CaPlugin is responsible for providing Certificate Authority Manager
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 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" Postgres PluginName = "postgres" CaBuiltin PluginName = "builtin" CaProvided PluginName = "provided" )
type Registry ¶
type Registry interface { BootstrapPlugins() []BootstrapPlugin BootstrapPlugin(name PluginName) (BootstrapPlugin, error) ResourceStore(name PluginName) (ResourceStorePlugin, error) SecretStore(name PluginName) (SecretStorePlugin, error) ConfigStore(name PluginName) (ConfigStorePlugin, error) RuntimePlugins() map[PluginName]RuntimePlugin CaPlugins() map[PluginName]CaPlugin AuthnAPIServer() map[PluginName]AuthnAPIServerPlugin }
type RegistryMutator ¶
type RegistryMutator interface {
Register(PluginName, Plugin) error
}
type ResourceStorePlugin ¶
type ResourceStorePlugin interface { Plugin NewResourceStore(PluginContext, PluginConfig) (core_store.ResourceStore, error) Migrate(PluginContext, PluginConfig) (DbVersion, error) EventListener(PluginContext, events.Emitter) error }
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.
type SecretStorePlugin ¶
type SecretStorePlugin interface { Plugin NewSecretStore(PluginContext, PluginConfig) (secret_store.SecretStore, error) }
SecretStorePlugin is responsible for instantiating a particular SecretStore.