Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsOperatorAlwaysManaged ¶
func IsOperatorAlwaysManaged() bool
IsOperatorAlwaysManaged means the operator can't be set to unmanaged state.
func IsOperatorManaged ¶
func IsOperatorManaged(state v1.ManagementState) bool
IsOperatorManaged indicates whether the operator management state allows the control loop to proceed and manage the operand.
func IsOperatorNotRemovable ¶
func IsOperatorNotRemovable() bool
IsOperatorNotRemovable means the operator can't bet set to removed state.
func IsOperatorUnknownState ¶
func IsOperatorUnknownState(state v1.ManagementState) bool
func SetOperatorAlwaysManaged ¶
func SetOperatorAlwaysManaged()
SetOperatorAlwaysManaged is one time choice when an operator want to opt-out from supporting the "unmanaged" state. This is a case of control plane operators or operators that are required to always run otherwise the cluster will get into unstable state or critical components will stop working.
func SetOperatorNotRemovable ¶
func SetOperatorNotRemovable()
SetOperatorNotRemovable is one time choice the operator author can make to indicate the operator does not support removing of his operand. This makes sense for operators like kube-apiserver where removing operand will lead to a bricked, non-automatically recoverable state.
Types ¶
type ManagementStateController ¶
type ManagementStateController struct {
// contains filtered or unexported fields
}
ManagementStateController watches changes of `managementState` field and react in case that field is set to an unsupported value. As each operator can opt-out from supporting `unmanaged` or `removed` states, this controller will add failing condition when the value for this field is set to this values for those operators.
func NewOperatorManagementStateController ¶
func NewOperatorManagementStateController( name string, operatorStatusProvider operatorv1helpers.OperatorClient, recorder events.Recorder, ) *ManagementStateController
func (*ManagementStateController) Run ¶
func (c *ManagementStateController) Run(workers int, stopCh <-chan struct{})