catalog

package
v0.1.6 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2026 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ImpulseTemplateFinalizer is the finalizer for ImpulseTemplate resources
	ImpulseTemplateFinalizer = "impulsetemplate.catalog.bubustack.io/finalizer"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type EngramTemplateReconciler

type EngramTemplateReconciler struct {
	config.ControllerDependencies
}

EngramTemplateReconciler reconciles an EngramTemplate object

func (*EngramTemplateReconciler) Reconcile

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

Reconcile validates and manages EngramTemplate lifecycle. For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.23.1/pkg/reconcile

Behavior:

  • Fetches the EngramTemplate and validates required fields (image, version).
  • Validates JSON schemas (input, output, config) if provided.
  • Updates status with validation results and usage count.
  • Records metrics for reconcile duration and errors.

Arguments:

  • ctx context.Context: for API calls and timeout from ConfigResolver.
  • req ctrl.Request: identifies the EngramTemplate to reconcile.

Returns:

  • ctrl.Result with optional RequeueAfter on transient failures.
  • Error propagated for logging; nil on success or handled errors.

func (*EngramTemplateReconciler) SetupWithManager

func (r *EngramTemplateReconciler) SetupWithManager(mgr ctrl.Manager, opts controller.Options) error

SetupWithManager sets up the controller with the Manager.

Behavior:

  • Registers the controller for EngramTemplate resources.
  • Watches Engram resources to update template usage counts.
  • Applies GenerationChangedPredicate to skip status-only updates.

Arguments:

  • mgr ctrl.Manager: the controller-runtime manager.
  • opts controller.Options: controller configuration (concurrency, etc.).

Returns:

  • nil on success.
  • Error if controller setup fails.

type ImpulseTemplateReconciler

type ImpulseTemplateReconciler struct {
	config.ControllerDependencies
}

ImpulseTemplateReconciler reconciles a ImpulseTemplate object

func (*ImpulseTemplateReconciler) Reconcile

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

Reconcile validates and manages ImpulseTemplate lifecycle. For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.23.1/pkg/reconcile

Behavior:

  • Fetches the ImpulseTemplate and validates required fields (image, version).
  • Validates supported modes (deployment/statefulset only for impulses).
  • Validates JSON schemas (context, config) if provided.
  • Updates status with validation results and usage count.
  • Records metrics for reconcile duration and errors.

Arguments:

  • ctx context.Context: for API calls and timeout from ConfigResolver.
  • req ctrl.Request: identifies the ImpulseTemplate to reconcile.

Returns:

  • ctrl.Result with optional RequeueAfter on transient failures.
  • Error propagated for logging; nil on success or handled errors.

func (*ImpulseTemplateReconciler) SetupWithManager

func (r *ImpulseTemplateReconciler) SetupWithManager(mgr ctrl.Manager, opts controller.Options) error

SetupWithManager sets up the controller with the Manager.

Behavior:

  • Delegates to setupControllerWithOptions for actual setup.

Arguments:

  • mgr ctrl.Manager: the controller-runtime manager.
  • opts controller.Options: controller configuration (concurrency, etc.).

Returns:

  • nil on success.
  • Error if controller setup fails.

type SchemaEntry added in v0.1.4

type SchemaEntry struct {
	Name   string
	Schema *runtime.RawExtension
}

SchemaEntry represents a named JSON schema for validation.

type TemplateSpecAccessor added in v0.1.4

type TemplateSpecAccessor interface {
	// GetImage returns the template's container image.
	GetImage() string
	// GetVersion returns the template's version.
	GetVersion() string
}

TemplateSpecAccessor provides access to common template spec fields.

Behavior:

  • Implemented by EngramTemplate and ImpulseTemplate.
  • Allows shared validation helpers to operate on both types.

type TemplateStatusAccessor added in v0.1.4

type TemplateStatusAccessor interface {
	// GetGeneration returns the resource's generation for ObservedGeneration.
	GetGeneration() int64
	// GetTemplateStatus returns a pointer to the embedded TemplateStatus.
	GetTemplateStatus() *catalogv1alpha1.TemplateStatus
}

TemplateStatusAccessor provides access to the embedded TemplateStatus.

Behavior:

  • Implemented by EngramTemplate and ImpulseTemplate.
  • Allows shared status update helpers to operate on both types.

Jump to

Keyboard shortcuts

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