in argocd-clusterprofile-syncer/cmd/main.go [79:100]
func (r *ClusterProfileReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
logger := log.FromContext(ctx).WithValues("clusterprofile", req.NamespacedName)
logger.Info("Starting reconciliation")
clusterProfile := &clusterinventoryv1alpha1.ClusterProfile{}
if err := r.Get(ctx, req.NamespacedName, clusterProfile); err != nil {
if apierrors.IsNotFound(err) {
logger.Info("ClusterProfile not found, cleaning up associated secret")
return ctrl.Result{}, r.deleteClusterSecret(ctx, req)
}
logger.Error(err, "Failed to get ClusterProfile")
return ctrl.Result{}, client.IgnoreNotFound(err)
}
if err := r.createOrUpdateClusterSecret(ctx, clusterProfile); err != nil {
logger.Error(err, "Failed to reconcile secret")
return ctrl.Result{RequeueAfter: time.Minute}, err
}
logger.Info("Reconciliation completed successfully")
return ctrl.Result{}, nil
}