Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Plugin ¶
type Plugin interface { Name() string Init(config interface{}, mgr SidecarManager) error Start(ctx context.Context, errCh chan<- error) Stop(ctx context.Context) error Version() string Status() (*PluginStatus, error) // must return a pointer of your config GetConfigType() interface{} }
Plugin 定义所有插件必须实现的方法
type PluginConfig ¶
type PluginConfig struct { Name string `json:"name"` Config interface{} `json:"config"` BootOrder int `json:"bootOrder"` }
PluginConfig 表示插件的配置
type PluginStatus ¶
type PluginStatus struct { Name string `json:"name"` Version string `json:"version"` Running bool `json:"running"` LastChecked string `json:"lastChecked"` // 上一次健康检查时间,格式为 YYYY-MM-DD HH:MM:SS Health string `json:"health"` // 健康状态,例如 "Healthy", "Unhealthy" Infos []string `json:"infos"` // 插件的其他信息 }
PluginStatus 表示插件的状态
type Sidecar ¶
type Sidecar interface { AddPlugin(plugin Plugin) error RemovePlugin(pluginName string) error GetVersion() string PluginStatus(pluginName string) (*PluginStatus, error) Start(ctx context.Context) error Stop(ctx context.Context) error SetupWithManager(mgr SidecarManager) error LoadConfig(path string) error }
Sidecar 定义Sidecar对外的接口
type SidecarConfig ¶
type SidecarConfig struct { Plugins map[string]PluginConfig `json:"plugins"` // 启动的插件及其配置 RestartPolicy string `json:"restartPolicy"` // 重启策略 Resources map[string]string `json:"resources"` // Sidecar 所需的资源 SidecarStartOrder string `json:"sidecarStartOrder"` // Sidecar 的启动顺序,是在主容器之后还是之前 }
SidecarConfig 表示 Sidecar 的配置
type SidecarManager ¶
type SidecarManager interface { ctrl.Manager DBManager kubernetes.Interface }
Click to show internal directories.
Click to hide internal directories.