Skip to content

Commit 3ee876e

Browse files
authored
Merge pull request #103 from Labelbox/issue-99
ISSUE-99 - Implement suggestion
2 parents 42ae214 + 20aeced commit 3ee876e

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

controllers/composable_controller.go

+9-4
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,20 @@ type ComposableReconciler struct {
6969
Resolver sdk.ResolveObject
7070
}
7171

72+
type ReconcilerOptions struct {
73+
QueriesPerSecond float32
74+
}
75+
7276
// ManagerSettableReconciler - a Reconciler that can be added to a Manager
7377
type ManagerSettableReconciler interface {
7478
reconcile.Reconciler
7579
SetupWithManager(mgr ctrl.Manager) error
7680
}
7781

7882
// NewReconciler ...
79-
func NewReconciler(mgr ctrl.Manager) ManagerSettableReconciler {
83+
func NewReconciler(mgr ctrl.Manager, opts ReconcilerOptions) ManagerSettableReconciler {
8084
cfg := mgr.GetConfig()
85+
cfg.QPS = opts.QueriesPerSecond
8186
return &ComposableReconciler{
8287
Client: mgr.GetClient(),
8388
Scheme: mgr.GetScheme(),
@@ -96,9 +101,9 @@ func (r *ComposableReconciler) setController(controller controller.Controller) {
96101
r.Controller = controller
97102
}
98103

99-
//+kubebuilder:rbac:groups=ibmcloud.ibm.com,resources=composables,verbs=get;list;watch;create;update;patch;delete
100-
//+kubebuilder:rbac:groups=ibmcloud.ibm.com,resources=composables/status,verbs=get;update;patch
101-
//+kubebuilder:rbac:groups=ibmcloud.ibm.com,resources=composables/finalizers,verbs=update
104+
// +kubebuilder:rbac:groups=ibmcloud.ibm.com,resources=composables,verbs=get;list;watch;create;update;patch;delete
105+
// +kubebuilder:rbac:groups=ibmcloud.ibm.com,resources=composables/status,verbs=get;update;patch
106+
// +kubebuilder:rbac:groups=ibmcloud.ibm.com,resources=composables/finalizers,verbs=update
102107
func (r *ComposableReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
103108
logger := log.FromContext(ctx).WithValues("composable", req.NamespacedName)
104109

main.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ func main() {
5757
var developmentMode bool
5858
var probeAddr string
5959
var syncPeriod time.Duration
60+
var queriesPerSecond float32
6061
flag.StringVar(&metricsAddr, "metrics-bind-address", ":8080", "The address the metric endpoint binds to.")
6162
flag.StringVar(&probeAddr, "health-probe-bind-address", ":8081", "The address the probe endpoint binds to.")
6263
flag.BoolVar(&enableLeaderElection, "leader-elect", false,
@@ -65,6 +66,7 @@ func main() {
6566
flag.BoolVar(&developmentMode, "development-mode", false, "Enable development mode")
6667
flag.DurationVar(&syncPeriod, "sync-period", 60*time.Second, "Sync period")
6768
flag.Int("max-concurrent-reconciles", 1, "Maximum number of concurrent reconciles for controllers.")
69+
flag.Float32Var(&queriesPerSecond, "queries-per-second", 300.0, "Maximum number of queries per second made by the reconciler client.")
6870
viper.BindPFlag("max-concurrent-reconciles", flag.Lookup("max-concurrent-reconciles"))
6971
flag.Parse()
7072

@@ -88,7 +90,9 @@ func main() {
8890
os.Exit(1)
8991
}
9092

91-
reconciler := controllers.NewReconciler(mgr)
93+
reconciler := controllers.NewReconciler(mgr, controllers.ReconcilerOptions{
94+
QueriesPerSecond: queriesPerSecond,
95+
})
9296
if err = reconciler.SetupWithManager(mgr); err != nil {
9397
setupLog.Error(err, "unable to create controller", "controller", "Composable")
9498
os.Exit(1)

0 commit comments

Comments
 (0)