Skip to content

Commit

Permalink
refactor: override controller
Browse files Browse the repository at this point in the history
  • Loading branch information
mrlihanbo committed Jul 18, 2023
1 parent e66ab67 commit e490cf8
Show file tree
Hide file tree
Showing 5 changed files with 182 additions and 178 deletions.
2 changes: 2 additions & 0 deletions cmd/controller-manager/app/controllermanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,14 @@ const (
FederatedClusterControllerName = "cluster"
MonitorControllerName = "monitor"
FollowerControllerName = "follower"
OverrideControllerName = "overridepolicy"
)

var knownControllers = map[string]controllermanager.StartControllerFunc{
FederatedClusterControllerName: startFederatedClusterController,
MonitorControllerName: startMonitorController,
FollowerControllerName: startFollowerController,
OverrideControllerName: startOverridePolicyController,
}

var controllersDisabledByDefault = sets.New(MonitorControllerName)
Expand Down
16 changes: 15 additions & 1 deletion cmd/controller-manager/app/core.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ import (
controllercontext "github.com/kubewharf/kubeadmiral/pkg/controllers/context"
"github.com/kubewharf/kubeadmiral/pkg/controllers/federate"
"github.com/kubewharf/kubeadmiral/pkg/controllers/federatedcluster"
"github.com/kubewharf/kubeadmiral/pkg/controllers/federatedtypeconfig"
"github.com/kubewharf/kubeadmiral/pkg/controllers/follower"
"github.com/kubewharf/kubeadmiral/pkg/controllers/monitor"
"github.com/kubewharf/kubeadmiral/pkg/controllers/override"
"github.com/kubewharf/kubeadmiral/pkg/controllers/scheduler"
"github.com/kubewharf/kubeadmiral/pkg/controllers/util"
schemautil "github.com/kubewharf/kubeadmiral/pkg/controllers/util/schema"
Expand Down Expand Up @@ -92,6 +92,20 @@ func startFollowerController(ctx context.Context, controllerCtx *controllerconte
return controller, nil
}

//nolint:contextcheck
func startOverridePolicyController(ctx context.Context, controllerCtx *controllercontext.Context) (controllermanager.Controller, error) {
controller, err := override.NewOverridePolicyController(
controllerCtx,
)
if err != nil {
return nil, fmt.Errorf("error creating follower controller: %w", err)
}

go controller.Run(ctx)

return controller, nil
}

// TODO: remove this function once all controllers are fully refactored
func controllerConfigFromControllerContext(controllerCtx *controllercontext.Context) *util.ControllerConfig {
return &util.ControllerConfig{
Expand Down
Loading

0 comments on commit e490cf8

Please sign in to comment.