diff --git a/internal/controller/group_controller.go b/internal/controller/group_controller.go index 825e25a..0e2cd6d 100644 --- a/internal/controller/group_controller.go +++ b/internal/controller/group_controller.go @@ -50,6 +50,9 @@ func (r *GroupReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl groupID, err := func() (string, error) { if group.Status.GroupID != "" { groupResp, err := r.Netbird.Groups.Get(ctx, group.Status.GroupID) + if err != nil && !netbird.IsNotFound(err) { + return "", err + } if err == nil { peers := []string{} for _, peer := range groupResp.Peers { diff --git a/internal/controller/networkrouter_controller.go b/internal/controller/networkrouter_controller.go index f07ddb7..299a9b0 100644 --- a/internal/controller/networkrouter_controller.go +++ b/internal/controller/networkrouter_controller.go @@ -126,7 +126,7 @@ func (r *NetworkRouterReconciler) Reconcile(ctx context.Context, req ctrl.Reques } err = r.Client.Get(ctx, client.ObjectKeyFromObject(group), group) if err != nil { - return ctrl.Result{}, err + return ctrl.Result{}, client.IgnoreNotFound(err) } if group.Status.GroupID == "" { return ctrl.Result{}, nil @@ -153,7 +153,7 @@ func (r *NetworkRouterReconciler) Reconcile(ctx context.Context, req ctrl.Reques } err = r.Get(ctx, client.ObjectKeyFromObject(&setupKey), &setupKey) if err != nil { - return ctrl.Result{}, err + return ctrl.Result{}, client.IgnoreNotFound(err) } if setupKey.Status.SetupKeyID == "" { return ctrl.Result{}, nil @@ -379,7 +379,7 @@ func (r *NetworkRouterReconciler) Reconcile(ctx context.Context, req ctrl.Reques } err = r.Client.Get(ctx, client.ObjectKeyFromObject(dep), dep) if err != nil { - return ctrl.Result{}, err + return ctrl.Result{}, client.IgnoreNotFound(err) } if dep.Status.ReadyReplicas != dep.Status.Replicas { return ctrl.Result{}, nil diff --git a/internal/controller/setupkey_controller.go b/internal/controller/setupkey_controller.go index bc5a0aa..8488020 100644 --- a/internal/controller/setupkey_controller.go +++ b/internal/controller/setupkey_controller.go @@ -53,11 +53,6 @@ func (r *SetupKeyReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c return r.reconcileDelete(ctx, sp, setupKey) } - autoGroupIDs, err := netbirdutil.GetGroupIDs(ctx, r.Client, r.Netbird, setupKey.Spec.AutoGroups, setupKey.Namespace) - if err != nil { - return ctrl.Result{}, err - } - controllerutil.AddFinalizer(setupKey, k8sutil.Finalizer("setupkey")) err = sp.Patch(ctx, setupKey) if err != nil { @@ -65,6 +60,10 @@ func (r *SetupKeyReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c } // Check if setup key is up to date. + autoGroupIDs, err := netbirdutil.GetGroupIDs(ctx, r.Client, r.Netbird, setupKey.Spec.AutoGroups, setupKey.Namespace) + if err != nil { + return ctrl.Result{}, err + } ok, err := func() (bool, error) { if setupKey.Status.SetupKeyID == "" { return false, nil