druid

package
v1.2.3 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2024 License: Apache-2.0 Imports: 36 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ContainsString

func ContainsString(slice []string, s string) bool

func IgnoreIgnoredObjectPredicate added in v1.1.0

func IgnoreIgnoredObjectPredicate(obj object) bool

func IgnoreNamespacePredicate

func IgnoreNamespacePredicate(obj object) bool

func LookupReconcileTime

func LookupReconcileTime() time.Duration

func RemoveString

func RemoveString(slice []string, s string) (result []string)

func Str2Int

func Str2Int(s string) int

to be used in max concurrent reconciles only defaulting to return 1

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) Reconcile

func (r *DruidReconciler) Reconcile(ctx context.Context, request reconcile.Request) (ctrl.Result, error)

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

type GenericPredicates struct {
	predicate.Funcs
}

All methods to implement GenericPredicates type GenericPredicates to be passed to manager

func (GenericPredicates) Create

create() to filter create events

func (GenericPredicates) Update

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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