Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PersesGlobalDatasourceReconciler ¶
type PersesGlobalDatasourceReconciler struct {
client.Client
APIReader client.Reader // uncached reader for Secret data (cached client strips Data via Transform)
Scheme *runtime.Scheme
Recorder record.EventRecorder
ClientFactory common.PersesClientFactory
Metrics *operatormetrics.Metrics
ReconciliationTracker *operatormetrics.ReconciliationTracker
}
PersesGlobalDatasourceReconciler reconciles a PersesDatasource object
func (*PersesGlobalDatasourceReconciler) Reconcile ¶
func (r *PersesGlobalDatasourceReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
+kubebuilder:rbac:groups=perses.dev,resources=persesglobaldatasources,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=perses.dev,resources=persesglobaldatasources/status,verbs=get;update;patch +kubebuilder:rbac:groups=perses.dev,resources=persesglobaldatasources/finalizers,verbs=update +kubebuilder:rbac:groups="",resources=configmaps;secrets,verbs=watch;get
func (*PersesGlobalDatasourceReconciler) SetupWithManager ¶
func (r *PersesGlobalDatasourceReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager. It watches PersesGlobalDatasource resources and also watches Perses instances to trigger re-reconciliation of all global datasources when a Perses instance becomes available. Global datasources are matched to Perses instances via instanceSelector labels. Create and delete events for Perses instances are ignored because the instance is not yet ready at creation, and deletion is handled by the global datasource's own reconciliation loop.