api

package
v0.0.0-...-3e4fbf8 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DBManager

type DBManager interface {
}

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
}

Jump to

Keyboard shortcuts

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