package job import ( "github.com/ankitrgadiya/operatorlib/pkg/container" "github.com/ankitrgadiya/operatorlib/pkg/interfaces" "github.com/ankitrgadiya/operatorlib/pkg/meta" "github.com/ankitrgadiya/operatorlib/pkg/pod" batchv1 "k8s.io/api/batch/v1" "k8s.io/apimachinery/pkg/runtime" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" ) // GenConfigMapFunc defines a function which generates ConfigMap. type GenJobFunc func(Conf) (*batchv1.Job, error) type GenParallelismFunc func() (*int32, error) type GenCompletionsFunc func() (*int32, error) type GenActiveDeadlineSecondsFunc func() (*int64, error) type GenBackoffLimitFunc func() (*int32, error) // type GenSelectorFunc func(interfaces.Object) (*metav1.LabelSelector, error) // Conf is used to pass parameters to functions in this package to // perform operations on Configmap objects. type Conf struct { Namespace string Name string // Obj batchv1.Job Obj interfaces.Object Reconcile interfaces.Reconcile previousObject runtime.Object Owner interfaces.Object OwnerReference bool GenFinalizers meta.GenFinalizers GenLabels meta.GenLabels GenAnnotations meta.GenAnnotations ManualSelector bool GenJobFunc GenParallelismFunc GenCompletionsFunc GenActiveDeadlineSecondsFunc GenBackoffLimitFunc // GenSelectorFunc GenContainers []container.Mutate GenVolumesFunc pod.GenVolumesFunc GenSecurityContextFunc pod.GenSecurityContextFunc GenRestartPolicyFunc pod.GenRestartPolicyFunc } type Mutate interface { // meta.Mutate pod.Mutate Mutate() controllerutil.MutateFn GenParallelism() (*int32, error) GenCompletions() (*int32, error) GenActiveDeadlineSeconds() (*int64, error) GenBackoffLimit() (*int32, error) GenManualSelector() (*bool, error) }