@@ -27,6 +27,7 @@ import (
2727 "sigs.k8s.io/controller-runtime/pkg/webhook"
2828
2929 "github.com/percona/percona-server-mongodb-operator/pkg/apis"
30+ psmdbv1 "github.com/percona/percona-server-mongodb-operator/pkg/apis/psmdb/v1"
3031 "github.com/percona/percona-server-mongodb-operator/pkg/controller"
3132 "github.com/percona/percona-server-mongodb-operator/pkg/k8s"
3233 "github.com/percona/percona-server-mongodb-operator/pkg/mcs"
@@ -103,6 +104,23 @@ func main() {
103104 }),
104105 }
105106
107+ options .Controller .GroupKindConcurrency = map [string ]int {
108+ "PerconaServerMongoDB." + psmdbv1 .SchemeGroupVersion .Group : 1 ,
109+ "PerconaServerMongoDBBackup." + psmdbv1 .SchemeGroupVersion .Group : 1 ,
110+ "PerconaServerMongoDBRestore." + psmdbv1 .SchemeGroupVersion .Group : 1 ,
111+ }
112+
113+ if s := os .Getenv ("MAX_CONCURRENT_RECONCILES" ); s != "" {
114+ if i , err := strconv .Atoi (s ); err == nil && i > 0 {
115+ options .Controller .GroupKindConcurrency ["PerconaServerMongoDB." + psmdbv1 .SchemeGroupVersion .Group ] = i
116+ options .Controller .GroupKindConcurrency ["PerconaServerMongoDBBackup." + psmdbv1 .SchemeGroupVersion .Group ] = i
117+ options .Controller .GroupKindConcurrency ["PerconaServerMongoDBRestore." + psmdbv1 .SchemeGroupVersion .Group ] = i
118+ } else {
119+ setupLog .Error (err , "MAX_CONCURRENT_RECONCILES must be a positive number" )
120+ os .Exit (1 )
121+ }
122+ }
123+
106124 // Add support for MultiNamespace set in WATCH_NAMESPACE
107125 if len (namespace ) > 0 {
108126 namespaces := make (map [string ]cache.Config )
0 commit comments