Overview
The Reconciler type, its constructor, options, and core methods
The Object Reconciler (package pkg/reconciler) is the workhorse — the core, the
low-level engine — of component-operator-runtime. Its main type, Reconciler, takes a
set of provided resource manifests and maintains them in a target Kubernetes cluster.
Everything the higher-level controller-runtime integration does eventually funnels down into this engine. You can also use it directly, without the component abstraction, whenever you need programmatic, ordered, drift-aware management of a set of Kubernetes objects.
Given a list of manifests and a persisted inventory, the reconciler will:
The reconciler is level-based and idempotent. Its Apply() and Delete()
methods are designed to be called repeatedly: each call moves the cluster a step
closer to the desired state and reports — via a boolean return value — whether the
target state has been fully reached. The caller persists the inventory between
invocations and re-invokes until the operation is complete.
Reconciler type, its constructor, options, and the Apply / Delete / IsDeletionAllowed methods.The Reconciler type, its constructor, options, and core methods
How object digests and the reapply interval keep the cluster in sync
Ordered reconciliation of dependent objects using waves
Ephemeral objects and the purge order
Adoption (ownership), reconcile, update, delete, and missing-namespaces policies
Special handling of CRDs and APIService types, and the stuck-finalizer safeguard
The full set of annotations supported on dependent objects
Why vanilla kstatus is not enough, and how the framework improves on it
Anatomy and function of the inventory
Requirements on the client and scheme passed to the reconciler