What problem does it solve?
Reconcilers coordinate asynchronous business logic for grafana-app-sdk apps so that resource state changes (create, update, delete) are observed and the system is driven toward a desired state without race conditions or status conflicts.
Core Features & Use Cases
- TypedReconciler Pattern: Strongly-typed reconcile functions that simplify type assertions and provide safer handler wiring.
- Atomic Status Updates: Guidance to use resource.UpdateObject to avoid 409 conflicts and ensure consistent status writes.
- Resilience & Coordination: Generation-based skips, requeueing for external async operations, finalizer management, informer configuration, and retry/dequeue policies for robust production controllers.
- Use Case: Implement a controller that kicks off an external provisioning job, polls its status, updates resource status atomically, and cleans up external resources on deletion.
Quick Start
Write a TypedReconciler for MyKind that handles create, update, and delete events, updates status atomically with resource.UpdateObject, manages finalizers, and requeues to poll external async work.