service/codebase/controller.go (1 lines of code) (raw):

package codebase // //import ( // "context" // "reflect" // // "github.com/pkg/errors" // k8sErrors "k8s.io/apimachinery/pkg/api/errors" // ctrl "sigs.k8s.io/controller-runtime" // "sigs.k8s.io/controller-runtime/pkg/builder" // "sigs.k8s.io/controller-runtime/pkg/event" // "sigs.k8s.io/controller-runtime/pkg/predicate" // "sigs.k8s.io/controller-runtime/pkg/reconcile" //) // //func isSpecUpdated(e event.UpdateEvent) bool { // oo := e.ObjectOld.(*Codebase) // no := e.ObjectNew.(*Codebase) // // return !reflect.DeepEqual(oo.Spec, no.Spec) || // (oo.GetDeletionTimestamp().IsZero() && !no.GetDeletionTimestamp().IsZero()) //} // //func (s *Service) RunController() error { // //TODO: move manager from service to main if there is any other controllers in app // cfg := ctrl.GetConfigOrDie() // // mgr, err := ctrl.NewManager(cfg, ctrl.Options{ // Scheme: s.scheme, // Namespace: s.namespace, // }) // // if err != nil { // return errors.Wrap(err, "unable to init manager") // } // // if err := ctrl.NewControllerManagedBy(mgr). // For(&Codebase{}, builder.WithPredicates(predicate.Funcs{ // UpdateFunc: isSpecUpdated})). // Complete(s); err != nil { // return errors.Wrap(err, "unable to create controller") // } // // go func() { // if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil { // s.logger.Error(err, "unable to start manager") // } // }() // // return nil //} // //func (s *Service) Reconcile(ctx context.Context, request reconcile.Request) (result reconcile.Result, // resultErr error) { // s.logger.Infow("reconciling codebase", "Request.Namespace", request.Namespace, // "Request.Name", request.Name) // // var instance Codebase // if err := s.k8sClient.Get(ctx, request.NamespacedName, &instance); err != nil { // if k8sErrors.IsNotFound(err) { // s.logger.Infow("instance not found", "Request.Namespace", request.Namespace, "Request.Name", request.Name) // return // } // // resultErr = errors.Wrap(err, "unable to get codebase from k8s") // return // } // // if err := s.reconcile(ctx, &instance); err != nil { // resultErr = errors.Wrap(err, "unable to reconcile codebase") // return // } // // s.logger.Infow("reconciling done", "Request.Namespace", request.Namespace, // "Request.Name", request.Name) // // return //} // //func (s *Service) reconcile(ctx context.Context, instance *Codebase) error { // s.logger.Info(instance.Name) // // //TODO: remove in future release // if err := s.migrateAdminAnnotations(ctx, instance); err != nil { // return errors.Wrap(err, "unable to migrate admin annotations") // } // // return nil //} // ////deprecated //func (s *Service) migrateAdminAnnotations(ctx context.Context, instance *Codebase) error { // s.logger.Info(instance.Annotations) // return nil //}