func HandleMainReady()

in internal/controller/checkpoint_stages.go [137:162]


func HandleMainReady(r *TeamcityReconciler, ctx context.Context, checkpoint *Checkpoint) (bool, error) {
	instance := checkpoint.Instance
	roStatefulSetName := resource.GetROStatefulSetNamespacedName(&instance)
	var roStatefulSet v1.StatefulSet
	roExists := true
	if err := r.Get(ctx, roStatefulSetName, &roStatefulSet); err != nil {
		if !errors.IsNotFound(err) {
			return false, nil
		} else {
			roExists = false
		}
	}
	if roExists {
		if err := r.Delete(ctx, &roStatefulSet); err != nil {
			if !errors.IsNotFound(err) {
				return false, err
			}
		}
	}

	err := checkpoint.DoCheckpointWithDesiredStage(ctx, UpdateFinished)
	if err != nil {
		return false, err
	}
	return true, nil
}