Documentation ¶
Index ¶
- func ContainsString(slice []string, s string) bool
- func IgnoreNamespacePredicate(obj object) bool
- func LookupReconcileTime() time.Duration
- func RemoveString(slice []string, s string) (result []string)
- func Str2Int(s string) int
- type DruidNodeStatus
- type DruidReconciler
- type EmitEventFuncs
- func (e EmitEventFuncs) EmitEventGeneric(obj object, eventReason, msg string, err error)
- func (e EmitEventFuncs) EmitEventOnCreate(obj, createObj object, err error)
- func (e EmitEventFuncs) EmitEventOnDelete(obj, deleteObj object, err error)
- func (e EmitEventFuncs) EmitEventOnGetError(obj, getObj object, err error)
- func (e EmitEventFuncs) EmitEventOnList(obj object, listObj objectList, err error)
- func (e EmitEventFuncs) EmitEventOnPatch(obj, patchObj object, err error)
- func (e EmitEventFuncs) EmitEventOnUpdate(obj, updateObj object, err error)
- func (e EmitEventFuncs) EmitEventRollingDeployWait(obj, k8sObj object, nodeSpecUniqueStr string)
- type EventEmitter
- type GenericEventEmitter
- type GenericPredicates
- type K8sEventEmitter
- type Reader
- type ReaderFuncs
- type Writer
- type WriterFuncs
- func (f WriterFuncs) Create(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, obj object, ...) (DruidNodeStatus, error)
- func (f WriterFuncs) Delete(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, obj object, ...) error
- func (f WriterFuncs) Patch(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, obj object, ...) error
- func (f WriterFuncs) Update(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, obj object, ...) (DruidNodeStatus, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ContainsString ¶
func IgnoreNamespacePredicate ¶
func IgnoreNamespacePredicate(obj object) bool
func LookupReconcileTime ¶
func RemoveString ¶
Types ¶
type DruidNodeStatus ¶
type DruidNodeStatus string
type DruidReconciler ¶
type DruidReconciler struct { client.Client Log logr.Logger Scheme *runtime.Scheme // reconcile time duration, defaults to 10s ReconcileWait time.Duration Recorder record.EventRecorder }
DruidReconciler reconciles a Druid object
func NewDruidReconciler ¶
func NewDruidReconciler(mgr ctrl.Manager) *DruidReconciler
func (*DruidReconciler) SetupWithManager ¶
func (r *DruidReconciler) SetupWithManager(mgr ctrl.Manager) error
type EmitEventFuncs ¶
type EmitEventFuncs struct {
record.EventRecorder
}
EmitEventFuncs struct
func (EmitEventFuncs) EmitEventGeneric ¶
func (e EmitEventFuncs) EmitEventGeneric(obj object, eventReason, msg string, err error)
EmitEventGeneric shall emit a generic event
func (EmitEventFuncs) EmitEventOnCreate ¶
func (e EmitEventFuncs) EmitEventOnCreate(obj, createObj object, err error)
EmitEventOnCreate shall emit event on CREATE operation
func (EmitEventFuncs) EmitEventOnDelete ¶
func (e EmitEventFuncs) EmitEventOnDelete(obj, deleteObj object, err error)
EmitEventOnDelete shall emit event on DELETE operation
func (EmitEventFuncs) EmitEventOnGetError ¶
func (e EmitEventFuncs) EmitEventOnGetError(obj, getObj object, err error)
EmitEventOnGetError shall emit event on GET err operation
func (EmitEventFuncs) EmitEventOnList ¶
func (e EmitEventFuncs) EmitEventOnList(obj object, listObj objectList, err error)
EmitEventOnList shall emit event on LIST err operation
func (EmitEventFuncs) EmitEventOnPatch ¶
func (e EmitEventFuncs) EmitEventOnPatch(obj, patchObj object, err error)
EmitEventOnPatch shall emit event on PATCH operation
func (EmitEventFuncs) EmitEventOnUpdate ¶
func (e EmitEventFuncs) EmitEventOnUpdate(obj, updateObj object, err error)
EmitEventOnUpdate shall emit event on UPDATE operation
func (EmitEventFuncs) EmitEventRollingDeployWait ¶
func (e EmitEventFuncs) EmitEventRollingDeployWait(obj, k8sObj object, nodeSpecUniqueStr string)
EmitEventRollingDeployWait shall emit an event when the current state of a druid node is rolling deploy
type EventEmitter ¶
type EventEmitter interface { K8sEventEmitter GenericEventEmitter }
EventEmitter Interface is a wrapper interface for all the emitter interface druid operator shall support. EventEmitter interface is initalized in druid_controller.go, reconcile method. The interface is passed as an arg to deployDruid(), handler.go
type GenericEventEmitter ¶
type GenericEventEmitter interface {
EmitEventGeneric(obj object, eventReason, msg string, err error)
}
GenericEventEmitter can be used for any case where the state change isn't handled by reader,writer or any custom event.
type GenericPredicates ¶
All methods to implement GenericPredicates type GenericPredicates to be passed to manager
func (GenericPredicates) Create ¶
func (GenericPredicates) Create(e event.CreateEvent) bool
create() to filter create events
func (GenericPredicates) Update ¶
func (GenericPredicates) Update(e event.UpdateEvent) bool
update() to filter update events
type K8sEventEmitter ¶
type K8sEventEmitter interface { EmitEventRollingDeployWait(obj, k8sObj object, nodeSpecUniqueStr string) EmitEventOnGetError(obj, getObj object, err error) EmitEventOnUpdate(obj, updateObj object, err error) EmitEventOnDelete(obj, deleteObj object, err error) EmitEventOnCreate(obj, createObj object, err error) EmitEventOnPatch(obj, patchObj object, err error) EmitEventOnList(obj object, listObj objectList, err error) }
Methods include an obj and k8s obj, obj is druid CR (runtime.Object) and k8s obj ( object interface ) K8sEventEmitter will also be displayed in logs of the operator. (only on state change) All methods are tied to reader,writer interfaces. Custom errors msg's and msg's are constructed within the methods and are not expected to change.
type Reader ¶
type Reader interface { List(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, selectorLabels map[string]string, emitEvent EventEmitter, emptyListObjFn func() objectList, ListObjFn func(obj runtime.Object) []object) ([]object, error) Get(ctx context.Context, sdk client.Client, nodeSpecUniqueStr string, drd *v1alpha1.Druid, emptyObjFn func() object, emitEvent EventEmitter) (object, error) }
Reader Interface
type ReaderFuncs ¶
type ReaderFuncs struct{}
ReaderFuncs struct
func (ReaderFuncs) Get ¶
func (f ReaderFuncs) Get(ctx context.Context, sdk client.Client, nodeSpecUniqueStr string, drd *v1alpha1.Druid, emptyObjFn func() object, emitEvent EventEmitter) (object, error)
Get methods shall the get the object.
func (ReaderFuncs) List ¶
func (f ReaderFuncs) List(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, selectorLabels map[string]string, emitEvent EventEmitter, emptyListObjFn func() objectList, ListObjFn func(obj runtime.Object) []object) ([]object, error)
List methods shall return the list of an object
type Writer ¶
type Writer interface { Delete(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, obj object, emitEvent EventEmitter, deleteOptions ...client.DeleteOption) error Create(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, obj object, emitEvent EventEmitter) (DruidNodeStatus, error) Update(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, obj object, emitEvent EventEmitter) (DruidNodeStatus, error) Patch(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, obj object, status bool, patch client.Patch, emitEvent EventEmitter) error }
Writer Interface
type WriterFuncs ¶
type WriterFuncs struct{}
WriterFuncs struct
func (WriterFuncs) Create ¶
func (f WriterFuncs) Create(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, obj object, emitEvent EventEmitter) (DruidNodeStatus, error)
Create methods shall create an object, and returns a string, error
func (WriterFuncs) Delete ¶
func (f WriterFuncs) Delete(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, obj object, emitEvent EventEmitter, deleteOptions ...client.DeleteOption) error
Delete methods shall delete the object, deleteOptions is a variadic parameter to support various delete options such as cascade deletion.
func (WriterFuncs) Patch ¶
func (f WriterFuncs) Patch(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, obj object, status bool, patch client.Patch, emitEvent EventEmitter) error
Patch method shall patch the status of Obj or the status. Pass status as true to patch the object status. NOTE: Not logging on patch success, it shall keep logging on each reconcile
func (WriterFuncs) Update ¶
func (f WriterFuncs) Update(ctx context.Context, sdk client.Client, drd *v1alpha1.Druid, obj object, emitEvent EventEmitter) (DruidNodeStatus, error)
Update Func shall update the Object