Skip to content

Commit

Permalink
Add an owner reference and a watch to Constraint Template CRDs
Browse files Browse the repository at this point in the history
Fixes #448

Signed-off-by: Max Smythe <smythe@google.com>
  • Loading branch information
maxsmythe committed Feb 5, 2020
1 parent 84a824f commit 6df1f3a
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions pkg/controller/constrainttemplate/constrainttemplate_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ import (
"k8s.io/apimachinery/pkg/util/wait"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"sigs.k8s.io/controller-runtime/pkg/handler"
logf "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/manager"
Expand Down Expand Up @@ -118,6 +119,18 @@ func add(mgr manager.Manager, r reconcile.Reconciler) error {
return err
}

// Watch for changes to ConstraintTemplate CRDs
err = c.Watch(
&source.Kind{Type: &apiextensionsv1beta1.CustomResourceDefinition{}},
&handler.EnqueueRequestForOwner{
OwnerType: &v1beta1.ConstraintTemplate{},
IsController: true,
},
)
if err != nil {
return err
}

return nil
}

Expand Down Expand Up @@ -290,6 +303,9 @@ func (r *ReconcileConstraintTemplate) handleCreate(
log.Error(err, "conversion error")
return reconcile.Result{}, err
}
if err := controllerutil.SetControllerReference(instance, crdv1beta1, r.scheme); err != nil {
return reconcile.Result{}, err
}
if err := r.Create(context.TODO(), crdv1beta1); err != nil {
status := util.GetCTHAStatus(instance)
status.Errors = []*v1beta1.CreateCRDError{}
Expand Down Expand Up @@ -360,6 +376,9 @@ func (r *ReconcileConstraintTemplate) handleUpdate(
log.Error(err, "conversion error")
return reconcile.Result{}, err
}
if err := controllerutil.SetControllerReference(instance, crdv1beta1, r.scheme); err != nil {
return reconcile.Result{}, err
}
if err := r.Update(context.Background(), crdv1beta1); err != nil {
return reconcile.Result{}, err
}
Expand Down

0 comments on commit 6df1f3a

Please sign in to comment.