Skip to content

Commit

Permalink
Update controller predicates to make them more flexible and independe…
Browse files Browse the repository at this point in the history
…nt (#343)
  • Loading branch information
arybolovlev authored Feb 26, 2024
1 parent acae4c2 commit cfff91f
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 5 deletions.
3 changes: 2 additions & 1 deletion controllers/agentpool_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/predicate"

"github.com/go-logr/logr"
tfc "github.com/hashicorp/go-tfe"
Expand Down Expand Up @@ -112,7 +113,7 @@ func (r *AgentPoolReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
func (r *AgentPoolReconciler) SetupWithManager(mgr ctrl.Manager) error {
return ctrl.NewControllerManagedBy(mgr).
For(&appv1alpha2.AgentPool{}).
WithEventFilter(handlePredicates()).
WithEventFilter(predicate.Or(genericPredicates())).
Complete(r)
}

Expand Down
3 changes: 2 additions & 1 deletion controllers/module_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/predicate"

"github.com/go-logr/logr"
"github.com/hashicorp/go-slug"
Expand Down Expand Up @@ -133,7 +134,7 @@ func (r *ModuleReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctr
func (r *ModuleReconciler) SetupWithManager(mgr ctrl.Manager) error {
return ctrl.NewControllerManagedBy(mgr).
For(&appv1alpha2.Module{}).
WithEventFilter(handlePredicates()).
WithEventFilter(predicate.Or(genericPredicates())).
Complete(r)
}

Expand Down
5 changes: 4 additions & 1 deletion controllers/predicates.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ import (
"sigs.k8s.io/controller-runtime/pkg/predicate"
)

func handlePredicates() predicate.Predicate {
// genericPredicates return predicates that are common for all controllers.
// Controller specific predicates should be named <CONTROLLER-NAME>Predicates.
// For example: workspacePredicates().
func genericPredicates() predicate.Predicate {
return predicate.Funcs{
CreateFunc: func(e event.CreateEvent) bool {
return true
Expand Down
3 changes: 2 additions & 1 deletion controllers/project_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/predicate"

appv1alpha2 "github.com/hashicorp/terraform-cloud-operator/api/v1alpha2"
)
Expand Down Expand Up @@ -171,7 +172,7 @@ func (r *ProjectReconciler) getTerraformClient(ctx context.Context, p *projectIn
func (r *ProjectReconciler) SetupWithManager(mgr ctrl.Manager) error {
return ctrl.NewControllerManagedBy(mgr).
For(&appv1alpha2.Project{}).
WithEventFilter(handlePredicates()).
WithEventFilter(predicate.Or(genericPredicates())).
Complete(r)
}

Expand Down
3 changes: 2 additions & 1 deletion controllers/workspace_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/predicate"

"github.com/go-logr/logr"

Expand Down Expand Up @@ -119,7 +120,7 @@ func (r *WorkspaceReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
func (r *WorkspaceReconciler) SetupWithManager(mgr ctrl.Manager) error {
return ctrl.NewControllerManagedBy(mgr).
For(&appv1alpha2.Workspace{}).
WithEventFilter(handlePredicates()).
WithEventFilter(predicate.Or(genericPredicates())).
Complete(r)
}

Expand Down

0 comments on commit cfff91f

Please sign in to comment.