 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- func RegisterAction(action Action)
- func StartAction(logger zerolog.Logger, actionType ActionType, ...)
- func StartLimitedAction(logger zerolog.Logger, actionType ActionType, ...)
- func StartPreStopActions(logger zerolog.Logger, serverType definitions.ServerType, progress Progressor)
- type Action
- type ActionPreStop
- type ActionType
- type ActionTypes
- type ProgressEmpty
- type ProgressLog
- type Progressor
- type Registry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterAction ¶
func RegisterAction(action Action)
RegisterAction registers a new action if it does not exist.
func StartAction ¶
func StartAction(logger zerolog.Logger, actionType ActionType, serverType definitions.ServerType)
StartAction starts actions based on type
func StartLimitedAction ¶
func StartLimitedAction(logger zerolog.Logger, actionType ActionType, serverType definitions.ServerType, limit ActionTypes)
StartAction starts actions based on type if actionType is on the limit list
func StartPreStopActions ¶
func StartPreStopActions(logger zerolog.Logger, serverType definitions.ServerType, progress Progressor)
StartPreStopActions runs registered pre stop actions.
Types ¶
type Action ¶
type Action interface {
	// Name returns name of the action.
	Name() string
	// Timeout returns how long it should wait for the action to be finished.
	Timeout() time.Duration
	// Condition returns true if this action should be launched.
	Condition(serverType definitions.ServerType) bool
}
    Action describes how some actions should be started.
type ActionPreStop ¶
type ActionPreStop interface {
	Action
	// PreStop runs action before server is stopped.
	PreStop(ctx context.Context, progress Progressor) error
}
    ActionPreStop describes how pre stop actions should be started.
type ActionType ¶
type ActionType string
ActionType keeps type of action
const ( // ActionTypeAll filter which run all action types ActionTypeAll ActionType = "All" // ActionTypePreStop PreStop Action Type ActionTypePreStop ActionType = "PreStop" )
func (ActionType) String ¶
func (a ActionType) String() string
String returns string value of ActionType
type ActionTypes ¶
type ActionTypes []ActionType
ActionTypes is the list of ActionType
func (ActionTypes) Contains ¶
func (a ActionTypes) Contains(t ActionType) bool
Contains returns true if requested action is on list
type ProgressEmpty ¶
type ProgressEmpty struct{}
    ProgressEmpty describes empty progress for the actions.
func (ProgressEmpty) Failed ¶
func (p ProgressEmpty) Failed(_ error)
Failed is launched when the action fails.
func (ProgressEmpty) Finished ¶
func (p ProgressEmpty) Finished()
Finished is launched when the action finishes.
func (ProgressEmpty) Progress ¶
func (p ProgressEmpty) Progress(message string) error
Progress is launched whenever some progress occurs for the specific action.
func (ProgressEmpty) Started ¶
func (p ProgressEmpty) Started(_ string)
Started is launched when the action starts.
type ProgressLog ¶
ProgressLog describes simple logger for actions.
func (*ProgressLog) Failed ¶
func (p *ProgressLog) Failed(err error)
Failed is launched when the action fails.
func (*ProgressLog) Finished ¶
func (p *ProgressLog) Finished()
Finished is launched when the action finishes.
func (*ProgressLog) Progress ¶
func (p *ProgressLog) Progress(message string) error
Progress is launched whenever some progress occurs for the specific action.
func (*ProgressLog) Started ¶
func (p *ProgressLog) Started(actionName string)
Started is launched when the action starts.
type Progressor ¶
type Progressor interface {
	// Started is launched when the action starts.
	Started(actionName string)
	// Failed is launched when the action fails.
	Failed(err error)
	// Finished is launched when the action finishes.
	Finished()
	// Progress is launched whenever some progress occurs for the specific action.
	Progress(message string) error
}
    Progressor describes what to do when the specific moment of action occurs.