Documentation
¶
Index ¶
- type BaseCapabilityPlugin
- func (p *BaseCapabilityPlugin) AddCapability(capability PluginCapability)
- func (p *BaseCapabilityPlugin) GetCapabilities() []PluginCapability
- func (p *BaseCapabilityPlugin) GetType() PluginType
- func (p *BaseCapabilityPlugin) HasCapability(capability PluginCapability) bool
- func (p *BaseCapabilityPlugin) SetCapabilities(capabilities []PluginCapability)
- func (p *BaseCapabilityPlugin) SetType(pluginType PluginType)
- type CapabilityPlugin
- type Manager
- func (m *Manager) DisablePlugin(ctx context.Context, id string) error
- func (m *Manager) EnablePlugin(ctx context.Context, id string) error
- func (m *Manager) GetPlugin(id string) (Plugin, bool)
- func (m *Manager) InstallPlugin(ctx context.Context, path string) (*PluginInfo, error)
- func (m *Manager) ListPlugins(ctx context.Context) ([]*PluginInfo, error)
- func (m *Manager) LoadPlugin(ctx context.Context, info *PluginInfo) error
- func (m *Manager) LoadPlugins(ctx context.Context) error
- func (m *Manager) UninstallPlugin(ctx context.Context, id string) error
- type Plugin
- type PluginCapability
- type PluginInfo
- type PluginStatus
- type PluginType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseCapabilityPlugin ¶
type BaseCapabilityPlugin struct {
// contains filtered or unexported fields
}
BaseCapabilityPlugin 基础能力插件实现
func (*BaseCapabilityPlugin) AddCapability ¶
func (p *BaseCapabilityPlugin) AddCapability(capability PluginCapability)
AddCapability 添加插件能力
func (*BaseCapabilityPlugin) GetCapabilities ¶
func (p *BaseCapabilityPlugin) GetCapabilities() []PluginCapability
GetCapabilities 获取插件支持的能力
func (*BaseCapabilityPlugin) GetType ¶
func (p *BaseCapabilityPlugin) GetType() PluginType
GetType 获取插件类型
func (*BaseCapabilityPlugin) HasCapability ¶
func (p *BaseCapabilityPlugin) HasCapability(capability PluginCapability) bool
HasCapability 检查插件是否具有指定能力
func (*BaseCapabilityPlugin) SetCapabilities ¶
func (p *BaseCapabilityPlugin) SetCapabilities(capabilities []PluginCapability)
SetCapabilities 设置插件能力列表
func (*BaseCapabilityPlugin) SetType ¶
func (p *BaseCapabilityPlugin) SetType(pluginType PluginType)
SetType 设置插件类型
type CapabilityPlugin ¶
type CapabilityPlugin interface {
Plugin
// GetType 获取插件类型
GetType() PluginType
// GetCapabilities 获取插件支持的能力
GetCapabilities() []PluginCapability
// HasCapability 检查插件是否具有指定能力
HasCapability(capability PluginCapability) bool
}
CapabilityPlugin 具有能力的插件接口
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager 插件管理器
func NewManager ¶
NewManager 创建一个新的插件管理器
func (*Manager) DisablePlugin ¶
DisablePlugin 禁用插件
func (*Manager) EnablePlugin ¶
EnablePlugin 启用插件
func (*Manager) InstallPlugin ¶
InstallPlugin 安装插件
func (*Manager) ListPlugins ¶
func (m *Manager) ListPlugins(ctx context.Context) ([]*PluginInfo, error)
ListPlugins 获取所有插件信息
func (*Manager) LoadPlugin ¶
func (m *Manager) LoadPlugin(ctx context.Context, info *PluginInfo) error
LoadPlugin 加载单个插件
func (*Manager) LoadPlugins ¶
LoadPlugins 加载所有插件
type Plugin ¶
type Plugin interface {
// GetInfo 获取插件信息
GetInfo() PluginInfo
// Init 初始化插件
Init() error
// Start 启动插件
Start() error
// Stop 停止插件
Stop() error
}
Plugin 插件接口
type PluginCapability ¶
type PluginCapability string
PluginCapability 插件能力
const ( // CapabilityClusterCreate 创建集群能力 CapabilityClusterCreate PluginCapability = "cluster_create" // CapabilityClusterMonitor 监控集群能力 CapabilityClusterMonitor PluginCapability = "cluster_monitor" // CapabilityClusterBackup 备份集群能力 CapabilityClusterBackup PluginCapability = "cluster_backup" // CapabilityDeployK8s 部署Kubernetes能力 CapabilityDeployK8s PluginCapability = "deploy_k8s" // CapabilityDeployOffline 离线部署能力 CapabilityDeployOffline PluginCapability = "deploy_offline" // CapabilityDeliveryHelm Helm交付能力 CapabilityDeliveryHelm PluginCapability = "delivery_helm" // CapabilityDeliveryKustomize Kustomize交付能力 CapabilityDeliveryKustomize PluginCapability = "delivery_kustomize" // CapabilityDeliveryYaml YAML交付能力 CapabilityDeliveryYaml PluginCapability = "delivery_yaml" )
type PluginInfo ¶
type PluginInfo struct {
ID string `json:"id" gorm:"primaryKey"`
Name string `json:"name"`
Description string `json:"description"`
Version string `json:"version"`
Author string `json:"author"`
Path string `json:"path"`
Status PluginStatus `json:"status"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
PluginInfo 插件信息
type PluginStatus ¶
type PluginStatus string
PluginStatus 插件状态
const ( // StatusEnabled 启用状态 StatusEnabled PluginStatus = "enabled" // StatusDisabled 禁用状态 StatusDisabled PluginStatus = "disabled" // StatusError 错误状态 StatusError PluginStatus = "error" )
type PluginType ¶
type PluginType string
PluginType 插件类型
const ( // TypeClusterManager 集群管理插件 TypeClusterManager PluginType = "cluster_manager" // TypeDeployment 部署插件 TypeDeployment PluginType = "deployment" // TypeDelivery 交付插件 TypeDelivery PluginType = "delivery" // TypeMonitoring 监控插件 TypeMonitoring PluginType = "monitoring" // TypeSecurity 安全插件 TypeSecurity PluginType = "security" // TypeBackup 备份插件 TypeBackup PluginType = "backup" // TypeGeneral 通用插件 TypeGeneral PluginType = "general" )
Click to show internal directories.
Click to hide internal directories.