Adding a New Reconciler Component
Reference implementation: pkg/deploy/dashboard/
Steps
- Create a new package under
pkg/deploy/<component>/ - Define a reconciler struct implementing
Reconcilablefrompkg/common/reconciler/:Reconcile(ctx *chetypes.DeployContext) (reconcile.Result, bool, error)Finalize(ctx *chetypes.DeployContext) bool
- Build k8s resource specs (Deployment, Service, ConfigMap, etc.) in the same package
- Register the reconciler in
controllers/che/checluster_controller.goviareconcilerManager.AddReconciler() - Placement in the chain matters — add after dependencies are reconciled
- Run
make testto verify