Documentation
¶
Index ¶
Constants ¶
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.