Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PersesDashboardReconciler ¶
type PersesDashboardReconciler 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
}
PersesDashboardReconciler reconciles a PersesDashboard object
func (*PersesDashboardReconciler) Reconcile ¶
func (r *PersesDashboardReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
+kubebuilder:rbac:groups=perses.dev,resources=persesdashboards,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=perses.dev,resources=persesdashboards/status,verbs=get;update;patch +kubebuilder:rbac:groups=perses.dev,resources=persesdashboards/finalizers,verbs=update
func (*PersesDashboardReconciler) SetupWithManager ¶
func (r *PersesDashboardReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager. It watches PersesDashboard resources and also watches Perses instances to trigger re-reconciliation of all dashboards when a Perses instance becomes available. Dashboards 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 dashboard's own reconciliation loop.