controller

package
v0.0.0-...-f541eed Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2026 License: Apache-2.0 Imports: 42 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Config holds the loaded configuration
	// Loaded once at package initialization
	Config = config.Load()
)
View Source
var ConfigMapSizeLimit = Config.ConfigMapSizeLimit

Deprecated: Use Config.ConfigMapSizeLimit instead ConfigMap size limit (1MB) - Kubernetes ConfigMap size limit

View Source
var DefaultArchiveFormat = Config.DefaultArchiveFormat

Deprecated: Use Config.DefaultArchiveFormat instead

View Source
var DefaultBackoffBase = Config.DefaultBackoffBase

Deprecated: Use Config.DefaultBackoffBase instead

View Source
var DefaultBackoffFactor = Config.DefaultBackoffFactor

Deprecated: Use Config.DefaultBackoffFactor instead

View Source
var DefaultBackoffLimit = Config.DefaultBackoffLimit

Deprecated: Use Config.DefaultBackoffLimit instead Default retry/backoff values

View Source
var DefaultCompression = Config.DefaultCompression

Deprecated: Use Config.DefaultCompression instead

View Source
var DefaultConcurrencyPolicy = Config.DefaultConcurrencyPolicy

Deprecated: Use Config.DefaultConcurrencyPolicy instead

View Source
var DefaultConfigMapKey = Config.DefaultConfigMapKey

Deprecated: Use Config.DefaultConfigMapKey instead Default strings

View Source
var DefaultContainerName = Config.DefaultContainerName

Deprecated: Use Config.DefaultContainerName instead

View Source
var DefaultContentType = Config.DefaultContentType

Deprecated: Use Config.DefaultContentType instead

View Source
var DefaultDirPerm = Config.DefaultDirPerm

Deprecated: Use Config.DefaultDirPerm instead File permissions

View Source
var DefaultFilePerm = Config.DefaultFilePerm

Deprecated: Use Config.DefaultFilePerm instead

View Source
var DefaultRetryLimit = Config.DefaultRetryLimit

Deprecated: Use Config.DefaultRetryLimit instead

View Source
var DefaultTTLSeconds = Config.DefaultTTLSeconds

Deprecated: Use Config.DefaultTTLSeconds instead Default TTL (24 hours in seconds)

View Source
var UIDTruncateLength = Config.UIDTruncateLength

Deprecated: Use Config.UIDTruncateLength instead UID truncation length for resource names

Functions

func SetupController

func SetupController(mgr ctrl.Manager, maxConcurrentReconciles int, metricsRecorder *metrics.Recorder, eventRecorder *EventRecorder) error

SetupController sets up the JobFlow controller with the manager.

func SetupControllerWithReconciler

func SetupControllerWithReconciler(mgr ctrl.Manager, maxConcurrentReconciles int, reconciler *JobFlowReconciler) error

SetupControllerWithReconciler sets up the JobFlow controller with a pre-configured reconciler.

func SetupManager

func SetupManager(options ctrl.Options) (ctrl.Manager, error)

SetupManager creates and configures a controller-runtime manager.

Types

type EventRecorder

type EventRecorder struct {
	*sdkevents.Recorder
}

EventRecorder wraps Kubernetes event recorder for JobFlow controller. This now uses zen-sdk/pkg/events as the base implementation.

func NewEventRecorder

func NewEventRecorder(kubeClient kubernetes.Interface) *EventRecorder

NewEventRecorder creates a new event recorder.

func (*EventRecorder) RecordJobFlowCompleted

func (er *EventRecorder) RecordJobFlowCompleted(jobFlow *v1alpha1.JobFlow)

RecordJobFlowCompleted records that a JobFlow completed successfully.

func (*EventRecorder) RecordJobFlowCreated

func (er *EventRecorder) RecordJobFlowCreated(jobFlow *v1alpha1.JobFlow)

RecordJobFlowCreated records that a JobFlow was created. Events for CRDs may not be supported by all Kubernetes clusters. This function logs errors but does not fail if event recording fails.

func (*EventRecorder) RecordJobFlowFailed

func (er *EventRecorder) RecordJobFlowFailed(jobFlow *v1alpha1.JobFlow, reason string)

RecordJobFlowFailed records that a JobFlow failed.

func (*EventRecorder) RecordJobFlowStarted

func (er *EventRecorder) RecordJobFlowStarted(jobFlow *v1alpha1.JobFlow)

RecordJobFlowStarted records that a JobFlow started execution.

func (*EventRecorder) RecordStepCreated

func (er *EventRecorder) RecordStepCreated(jobFlow *v1alpha1.JobFlow, stepName string, job runtime.Object)

RecordStepCreated records that a step's Job was created.

func (*EventRecorder) RecordStepFailed

func (er *EventRecorder) RecordStepFailed(jobFlow *v1alpha1.JobFlow, stepName string, err error)

RecordStepFailed records that a step failed.

func (*EventRecorder) RecordStepSucceeded

func (er *EventRecorder) RecordStepSucceeded(jobFlow *v1alpha1.JobFlow, stepName string)

RecordStepSucceeded records that a step succeeded.

type ExecutionPlan

type ExecutionPlan struct {
	ReadySteps []string
}

ExecutionPlan represents an execution plan for a JobFlow.

type JobFlowReconciler

type JobFlowReconciler struct {
	client.Client
	Scheme          *runtime.Scheme
	MetricsRecorder *metrics.Recorder
	EventRecorder   *EventRecorder
	// contains filtered or unexported fields
}

JobFlowReconciler reconciles a JobFlow object

func NewJobFlowReconciler

func NewJobFlowReconciler(mgr ctrl.Manager, metricsRecorder *metrics.Recorder, eventRecorder *EventRecorder) *JobFlowReconciler

NewJobFlowReconciler creates a new JobFlowReconciler Leader election is handled by controller-runtime Manager, not in the reconciler

func (*JobFlowReconciler) Reconcile

func (r *JobFlowReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

Reconcile is part of the main kubernetes reconciliation loop +kubebuilder:rbac:groups=workflow.kube-zen.io,resources=jobflows,verbs=get;list;watch;delete +kubebuilder:rbac:groups=workflow.kube-zen.io,resources=jobflows/status,verbs=get;update;patch +kubebuilder:rbac:groups=batch,resources=jobs,verbs=get;list;watch;create;delete +kubebuilder:rbac:groups="",resources=persistentvolumeclaims,verbs=get;list;watch;create +kubebuilder:rbac:groups="",resources=configmaps,verbs=get;list;watch;create +kubebuilder:rbac:groups="",resources=secrets,verbs=get;list;watch +kubebuilder:rbac:groups="",resources=events,verbs=create +kubebuilder:rbac:groups="",resources=pods,verbs=get;list;watch

func (*JobFlowReconciler) SetupWithManager

func (r *JobFlowReconciler) SetupWithManager(b *builder.Builder) error

SetupWithManager sets up the controller with the Manager.

type ParameterContext

type ParameterContext struct {
	Parameters map[string]string // parameter name -> value
	JobFlow    *v1alpha1.JobFlow
	StepName   string
}

ParameterContext provides context for parameter template substitution

type TemplateContext

type TemplateContext struct {
	JobFlow    *v1alpha1.JobFlow
	StepStatus map[string]*v1alpha1.StepStatus // step name -> status
}

TemplateContext provides context for template evaluation

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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