Documentation
¶
Index ¶
- func CreateRateLimiter(cfg *config.HookConfig) *rate.Limiter
- func ValidateMetricOperation(op MetricOperation) error
- func ValidateOperations(ops []MetricOperation) error
- type CommonHook
- type Hook
- func (h *Hook) GetConfig() *config.HookConfig
- func (h *Hook) GetConfigDescription() string
- func (h *Hook) LoadConfig(configOutput []byte) (*Hook, error)
- func (h *Hook) RateLimitWait(ctx context.Context) error
- func (h *Hook) Run(ctx context.Context, _ htypes.BindingType, context []bctx.BindingContext, ...) (*Result, error)
- func (h *Hook) SafeName() string
- func (h *Hook) WithHookController(hookController *controller.HookController)
- func (h *Hook) WithTmpDir(dir string)
- type Manager
- func (hm *Manager) CreateTasksFromKubeEvent(kubeEvent kemtypes.KubeEvent, ...) []task.Task
- func (hm *Manager) DetectAdmissionEventType(event admission.Event) htypes.BindingType
- func (hm *Manager) FindConversionChain(crdName string, rule conversion.Rule) []conversion.Rule
- func (hm *Manager) GetHook(name string) *Hook
- func (hm *Manager) GetHookNames() []string
- func (hm *Manager) GetHooksInOrder(bindingType htypes.BindingType) ([]string, error)
- func (hm *Manager) HandleAdmissionEvent(ctx context.Context, event admission.Event, ...)
- func (hm *Manager) HandleConversionEvent(ctx context.Context, crdName string, request *v1.ConversionRequest, ...)
- func (hm *Manager) HandleCreateTasksFromScheduleEvent(crontab string, ...) []task.Task
- func (hm *Manager) Init() error
- func (hm *Manager) TempDir() string
- func (hm *Manager) UpdateConversionChains() error
- func (hm *Manager) WorkingDir() string
- type ManagerConfig
- type MetricOperation
- type Result
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateRateLimiter ¶
func CreateRateLimiter(cfg *config.HookConfig) *rate.Limiter
func ValidateMetricOperation ¶ added in v1.11.0
func ValidateMetricOperation(op MetricOperation) error
func ValidateOperations ¶ added in v1.11.0
func ValidateOperations(ops []MetricOperation) error
Types ¶
type CommonHook ¶
type CommonHook interface {
Name() string
}
type Hook ¶
type Hook struct {
Name string // The unique name like '002-prometheus-hooks/startup_hook'.
Path string // The absolute path to the executable file.
Config *config.HookConfig
HookController *controller.HookController
RateLimiter *rate.Limiter
TmpDir string
KeepTemporaryHookFiles bool
LogProxyHookJSON bool
LogProxyHookJSONKey string
Logger *log.Logger
}
func (*Hook) GetConfig ¶
func (h *Hook) GetConfig() *config.HookConfig
func (*Hook) GetConfigDescription ¶
func (*Hook) WithHookController ¶
func (h *Hook) WithHookController(hookController *controller.HookController)
func (*Hook) WithTmpDir ¶
type Manager ¶ added in v1.4.12
type Manager struct {
// contains filtered or unexported fields
}
func NewHookManager ¶
func NewHookManager(config *ManagerConfig) *Manager
func (*Manager) CreateTasksFromKubeEvent ¶ added in v1.7.0
func (hm *Manager) CreateTasksFromKubeEvent(kubeEvent kemtypes.KubeEvent, createTaskFn func(*Hook, controller.BindingExecutionInfo) task.Task) []task.Task
func (*Manager) DetectAdmissionEventType ¶ added in v1.4.12
func (hm *Manager) DetectAdmissionEventType(event admission.Event) htypes.BindingType
func (*Manager) FindConversionChain ¶ added in v1.4.12
func (hm *Manager) FindConversionChain(crdName string, rule conversion.Rule) []conversion.Rule
func (*Manager) GetHookNames ¶ added in v1.4.12
func (*Manager) GetHooksInOrder ¶ added in v1.4.12
func (hm *Manager) GetHooksInOrder(bindingType htypes.BindingType) ([]string, error)
func (*Manager) HandleAdmissionEvent ¶ added in v1.4.12
func (hm *Manager) HandleAdmissionEvent(ctx context.Context, event admission.Event, createTaskFn func(*Hook, controller.BindingExecutionInfo))
func (*Manager) HandleConversionEvent ¶ added in v1.4.12
func (hm *Manager) HandleConversionEvent(ctx context.Context, crdName string, request *v1.ConversionRequest, rule conversion.Rule, createTaskFn func(*Hook, controller.BindingExecutionInfo))
HandleConversionEvent receives a crdName and calculates a sequence of hooks to run.
func (*Manager) HandleCreateTasksFromScheduleEvent ¶ added in v1.7.0
func (hm *Manager) HandleCreateTasksFromScheduleEvent(crontab string, createTaskFn func(*Hook, controller.BindingExecutionInfo) task.Task) []task.Task
func (*Manager) Init ¶ added in v1.4.12
Init finds executables in WorkingDir, execute them with --config argument and add them into indices.
func (*Manager) UpdateConversionChains ¶ added in v1.4.12
func (*Manager) WorkingDir ¶ added in v1.4.12
type ManagerConfig ¶ added in v1.4.12
type ManagerConfig struct {
WorkingDir string
TempDir string
Kmgr kubeeventsmanager.KubeEventsManager
Smgr schedulemanager.ScheduleManager
Wmgr *admission.WebhookManager
Cmgr *conversion.WebhookManager
Logger *log.Logger
}
ManagerConfig sets configuration for Manager
type MetricOperation ¶ added in v1.11.0
type MetricOperation struct {
Name string `json:"name"`
// Deprecated: use Value + Action="add" instead. Add only works for parsing from file
Add *float64 `json:"add,omitempty"` // shortcut for action=add value=num
// Deprecated: use Value + Action="set" instead. Set only works for parsing from file
Set *float64 `json:"set,omitempty"` // shortcut for action=set value=num
Value *float64 `json:"value,omitempty"`
Buckets []float64 `json:"buckets,omitempty"`
Labels map[string]string `json:"labels"`
Group string `json:"group,omitempty"`
Action string `json:"action,omitempty"`
}
func MetricOperationsFromBytes ¶ added in v1.11.0
func MetricOperationsFromBytes(data []byte, defaultGroup string) ([]MetricOperation, error)
func MetricOperationsFromFile ¶ added in v1.11.0
func MetricOperationsFromFile(filePath, defaultGroup string) ([]MetricOperation, error)
func MetricOperationsFromReader ¶ added in v1.11.0
func MetricOperationsFromReader(r io.Reader, defaultGroup string) ([]MetricOperation, error)
func (MetricOperation) String ¶ added in v1.11.0
func (m MetricOperation) String() string
Click to show internal directories.
Click to hide internal directories.