quarksjob

package
v1.0.219 Latest Latest
Warning

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

Go to latest
Published: May 25, 2021 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DeleteKind specify the kind of deleting resource.
	DeleteKind = "pod"
)
View Source
const (

	// EnvNamespace is the namespace in which the jobs run, used by
	// persist-output to create the secrets
	EnvNamespace = "NAMESPACE"
)
View Source
const (
	// ReconcileSkipDuration is the duration of merging consecutive triggers.
	ReconcileSkipDuration = 10 * time.Second
)

Variables

This section is empty.

Functions

func AddErrand

func AddErrand(ctx context.Context, config *config.Config, mgr manager.Manager) error

AddErrand creates a new QuarksJob controller to start errands, when their trigger strategy matches 'now' or 'once', or their configuration changed.

func AddJob

func AddJob(ctx context.Context, config *config.Config, mgr manager.Manager) error

AddJob creates a new Job controller to collect the output from jobs, persist that output as a secret and delete the k8s job afterwards.

func NewErrandReconciler

func NewErrandReconciler(
	ctx context.Context,
	config *config.Config,
	mgr manager.Manager,
	f setOwnerReferenceFunc,
	store vss.VersionedSecretStore,
) reconcile.Reconciler

NewErrandReconciler returns a new reconciler for errand jobs.

func NewJobReconciler

func NewJobReconciler(ctx context.Context, config *config.Config, mgr manager.Manager) (reconcile.Reconciler, error)

NewJobReconciler returns a new Reconciler

Types

type ErrandReconciler

type ErrandReconciler struct {
	// contains filtered or unexported fields
}

ErrandReconciler implements the Reconciler interface.

func (*ErrandReconciler) Reconcile

func (r *ErrandReconciler) Reconcile(_ context.Context, request reconcile.Request) (reconcile.Result, error)

Reconcile starts jobs for quarks jobs of the type errand with Run being set to 'now' manually.

type JobCreator

type JobCreator interface {
	Create(ctx context.Context, qJob qjv1a1.QuarksJob) (retry bool, err error)
}

JobCreator is the interface that wraps the basic Create method.

func NewJobCreator

func NewJobCreator(client crc.Client, scheme *runtime.Scheme, f setOwnerReferenceFunc, config *config.Config, store vss.VersionedSecretStore) JobCreator

NewJobCreator returns a new job creator

type OutputPersistor

type OutputPersistor struct {
	// contains filtered or unexported fields
}

OutputPersistor creates a kubernetes secret for each container in the in the qJob pod.

func NewOutputPersistor

func NewOutputPersistor(log *zap.SugaredLogger, namespace string, podName string, clientSet kubernetes.Interface, versionedClientSet versioned.Interface, outputFilePathPrefix string) *OutputPersistor

NewOutputPersistor returns a persist output interface which can create kubernetes secrets.

func (*OutputPersistor) Persist

func (po *OutputPersistor) Persist(ctx context.Context) error

Persist converts the output files of each container in the pod related to an qJob into a kubernetes secret.

type ReconcileJob

type ReconcileJob struct {
	// contains filtered or unexported fields
}

ReconcileJob reconciles an Job object

func (*ReconcileJob) Reconcile

func (r *ReconcileJob) Reconcile(_ context.Context, request reconcile.Request) (reconcile.Result, error)

Reconcile reads that state of the cluster for a Job object that is owned by an QuarksJob and makes changes based on the state read and what is in the QuarksJob.Spec Note: The Controller will requeue the Request to be processed again if the returned error is non-nil or Result.Requeue is true, otherwise upon completion it will remove the work from the queue.

Jump to

Keyboard shortcuts

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