reconciler

package
v0.0.0-...-30bcceb Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2025 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package reconciler defines the interface contract between the main OLSConfigReconciler and component-specific reconcilers (appserver, postgres, console).

The Reconciler interface provides a clean abstraction that allows component packages to access only the functionality they need from the main controller, without creating circular dependencies or exposing internal implementation details.

By embedding client.Client and providing specific getter methods, this interface enables:

  • Component isolation and independent testing
  • Clear separation of concerns between components
  • Prevention of circular dependencies
  • Mock-friendly design for unit testing
  • Consistent access patterns across all components

Component reconcilers receive this interface and use it to interact with the Kubernetes API server and access operator configuration without directly depending on the main controller implementation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Reconciler

type Reconciler interface {
	// Embed client.Client to get Get, Create, Update, Delete, List, Patch methods
	client.Client

	// GetScheme returns the Kubernetes scheme
	GetScheme() *runtime.Scheme

	// GetLogger returns the logger instance
	GetLogger() logr.Logger

	// GetStateCache returns the state cache for hash-based change detection
	GetStateCache() map[string]string

	// GetNamespace returns the operator's namespace
	GetNamespace() string

	// GetPostgresImage returns the postgres image to use
	GetPostgresImage() string

	// GetConsoleUIImage returns the console UI image to use
	GetConsoleUIImage() string

	// GetOpenShiftMajor returns the OpenShift major version
	GetOpenShiftMajor() string

	// GetOpenshiftMinor returns the OpenShift minor version
	GetOpenshiftMinor() string

	// GetAppServerImage returns the app server image to use
	GetAppServerImage() string

	// GetOpenShiftMCPServerImage returns the OpenShift MCP server image to use
	GetOpenShiftMCPServerImage() string

	// GetDataverseExporterImage returns the OpenShift MCP server image to use
	GetDataverseExporterImage() string

	// GetLCoreImage returns the LCore image to use
	GetLCoreImage() string

	// IsPrometheusAvailable returns whether Prometheus Operator CRDs are available
	IsPrometheusAvailable() bool
}

Reconciler interface defines the contract that component reconcilers need from the main OLSConfigReconciler. This allows components to be separated into their own packages without circular dependencies.

Jump to

Keyboard shortcuts

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