configmanager

package
v0.7.0-beta.11 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2023 License: AGPL-3.0 Imports: 37 Imported by: 1

Documentation

Index

Constants

View Source
const (
	KBScriptVolumePath = "/opt/kb-tools/reload"
	KBConfigVolumePath = "/opt/kb-tools/config"

	KBTOOLSScriptsPathEnv  = "TOOLS_SCRIPTS_PATH"
	KBConfigManagerPathEnv = "TOOLS_PATH"
)
View Source
const (
	DefaultRetryCount     = 3
	DefaultSleepRetryTime = 10
)
View Source
const KBConfigSpecLazyRenderedYamlFile = "lazy-rendered-config.yaml"

Variables

This section is empty.

Functions

func BuildConfigManagerContainerParams

func BuildConfigManagerContainerParams(cli client.Client, ctx context.Context, managerParams *CfgManagerBuildParams, volumeDirs []corev1.VolumeMount) error

func FindVolumeMount

func FindVolumeMount(volumeDirs []corev1.VolumeMount, volumeName string) *corev1.VolumeMount

func FromReloadTypeConfig

func FromReloadTypeConfig(reloadOptions *appsv1alpha1.ReloadOptions) appsv1alpha1.CfgReloadType

func GetConfigMountPoint

func GetConfigMountPoint(configSpec appsv1alpha1.ComponentConfigSpec) string

func GetConfigVolumeName

func GetConfigVolumeName(configSpec appsv1alpha1.ComponentConfigSpec) string

func GetScriptsMountPoint

func GetScriptsMountPoint(configSpec appsv1alpha1.ComponentConfigSpec) string

func GetScriptsVolumeName

func GetScriptsVolumeName(configSpec appsv1alpha1.ComponentConfigSpec) string

func IsSupportReload

func IsSupportReload(reload *appsv1alpha1.ReloadOptions) bool

func IsValidUnixSignal

func IsValidUnixSignal(sig appsv1alpha1.SignalType) bool

func NeedSharedProcessNamespace

func NeedSharedProcessNamespace(configSpecs []ConfigSpecMeta) bool

func ScanConfigVolume

func ScanConfigVolume(mountPoint string) ([]string, error)

func SetLogger

func SetLogger(zapLogger *zap.Logger)

func ValidateReloadOptions

func ValidateReloadOptions(reloadOptions *appsv1alpha1.ReloadOptions, cli client.Client, ctx context.Context) error

Types

type CfgManagerBuildParams

type CfgManagerBuildParams struct {
	ManagerName string          `json:"name"`
	Image       string          `json:"sidecarImage"`
	Args        []string        `json:"args"`
	Envs        []corev1.EnvVar `json:"envs"`

	ShareProcessNamespace bool `json:"shareProcessNamespace"`

	Volumes       []corev1.VolumeMount `json:"volumes"`
	ComponentName string               `json:"componentName"`
	CharacterType string               `json:"characterType"`
	SecreteName   string               `json:"secreteName"`
	EnvConfigName string               `json:"envConfigName"`

	// add volume to pod
	ScriptVolume           []corev1.Volume
	Cluster                *appsv1alpha1.Cluster
	ConfigSpecsBuildParams []ConfigSpecMeta

	// init tools container
	ToolsContainers           []corev1.Container
	DownwardAPIVolumes        []corev1.VolumeMount
	CMConfigVolumes           []corev1.Volume
	ConfigLazyRenderedVolumes map[string]corev1.VolumeMount
}

CfgManagerBuildParams is the params for building config manager sidecar

type ConfigHandler

type ConfigHandler interface {
	OnlineUpdate(ctx context.Context, name string, updatedParams map[string]string) error
	VolumeHandle(ctx context.Context, event fsnotify.Event) error
	MountPoint() []string
}

func CreateCombinedHandler

func CreateCombinedHandler(config string, backupPath string) (ConfigHandler, error)

func CreateExecHandler

func CreateExecHandler(command []string, mountPoint string, configMeta *ConfigSpecInfo, backupPath string) (ConfigHandler, error)

func CreateSignalHandler

func CreateSignalHandler(sig appsv1alpha1.SignalType, processName string, mountPoint string) (ConfigHandler, error)

func CreateTPLScriptHandler

func CreateTPLScriptHandler(name, configPath string, dirs []string, backupPath string) (ConfigHandler, error)

type ConfigLazyRenderedMeta

type ConfigLazyRenderedMeta struct {
	*appsv1alpha1.ComponentConfigSpec `json:",inline"`

	// secondary template path
	Templates       []string                     `json:"templates"`
	FormatterConfig appsv1alpha1.FormatterConfig `json:"formatterConfig"`
}

type ConfigMapVolumeWatcher

type ConfigMapVolumeWatcher struct {
	// contains filtered or unexported fields
}

func NewVolumeWatcher

func NewVolumeWatcher(volume []string, ctx context.Context, logger *zap.SugaredLogger) *ConfigMapVolumeWatcher

func (*ConfigMapVolumeWatcher) AddFilter

func (*ConfigMapVolumeWatcher) AddHandler

func (*ConfigMapVolumeWatcher) Close

func (w *ConfigMapVolumeWatcher) Close() error

func (*ConfigMapVolumeWatcher) Run

func (w *ConfigMapVolumeWatcher) Run() error

func (*ConfigMapVolumeWatcher) SetRetryCount

func (w *ConfigMapVolumeWatcher) SetRetryCount(count int) *ConfigMapVolumeWatcher

type ConfigSpecInfo

type ConfigSpecInfo struct {
	*appsv1alpha1.ReloadOptions `json:",inline"`

	ReloadType      appsv1alpha1.CfgReloadType       `json:"reloadType"`
	ConfigSpec      appsv1alpha1.ComponentConfigSpec `json:"configSpec"`
	FormatterConfig appsv1alpha1.FormatterConfig     `json:"formatterConfig"`

	DownwardAPIOptions []appsv1alpha1.DownwardAPIOption `json:"downwardAPIOptions"`

	// config volume mount path
	MountPoint string `json:"mountPoint"`
	TPLConfig  string `json:"tplConfig"`
}

type ConfigSpecMeta

type ConfigSpecMeta struct {
	ConfigSpecInfo `json:",inline"`

	ScriptConfig   []appsv1alpha1.ScriptConfig
	ToolsImageSpec *appsv1alpha1.ToolsImageSpec
}

func FilterSubPathVolumeMount

func FilterSubPathVolumeMount(metas []ConfigSpecMeta, volumes []corev1.VolumeMount) []ConfigSpecMeta

func GetSupportReloadConfigSpecs

func GetSupportReloadConfigSpecs(configSpecs []appsv1alpha1.ComponentConfigSpec, cli client.Client, ctx context.Context) ([]ConfigSpecMeta, error)

type DynamicParamUpdater

type DynamicParamUpdater interface {
	ExecCommand(ctx context.Context, command string, args ...string) (string, error)
	Close()
}

DynamicParamUpdater is designed to adapt to the dapper implementation.

func NewCommandChannel

func NewCommandChannel(ctx context.Context, dataType, dsn string) (DynamicParamUpdater, error)

type DynamicUpdater

type DynamicUpdater = func(ctx context.Context, configSpec string, updatedParams map[string]string) error

func OnlineUpdateParamsHandle

func OnlineUpdateParamsHandle(tplScriptPath string, formatConfig *appsv1alpha1.FormatterConfig, dataType, dsn string) (DynamicUpdater, error)

type NotifyEventFilter

type NotifyEventFilter func(event fsnotify.Event) (bool, error)

func CreateCfgRegexFilter

func CreateCfgRegexFilter(regexString string) (NotifyEventFilter, error)

func CreateValidConfigMapFilter

func CreateValidConfigMapFilter() NotifyEventFilter

CreateValidConfigMapFilter processes configmap volume https://github.com/ossrs/srs/issues/1635

type PID

type PID int32
const (
	InvalidPID PID = 0
)

type TPLScriptConfig

type TPLScriptConfig struct {
	Scripts   string `json:"scripts"`
	FileRegex string `json:"fileRegex"`
	DataType  string `json:"dataType"`
	DSN       string `json:"dsn"`

	FormatterConfig appsv1alpha1.FormatterConfig `json:"formatterConfig"`
}

type WatchEventHandler

type WatchEventHandler func(ctx context.Context, event fsnotify.Event) error

Jump to

Keyboard shortcuts

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