@@ -29,6 +29,7 @@ import (
29
29
"github.com/flant/addon-operator/pkg/module_manager/models/moduleset"
30
30
"github.com/flant/addon-operator/pkg/module_manager/scheduler"
31
31
"github.com/flant/addon-operator/pkg/module_manager/scheduler/extenders/dynamically_enabled"
32
+ "github.com/flant/addon-operator/pkg/module_manager/scheduler/extenders/kube_config"
32
33
"github.com/flant/addon-operator/pkg/module_manager/scheduler/extenders/static"
33
34
"github.com/flant/addon-operator/pkg/task"
34
35
"github.com/flant/addon-operator/pkg/utils"
@@ -69,7 +70,7 @@ type DirectoryConfig struct {
69
70
70
71
type KubeConfigManager interface {
71
72
SaveConfigValues (key string , values utils.Values ) error
72
- IsModuleEnabled (moduleName string ) bool
73
+ IsModuleEnabled (moduleName string ) * bool
73
74
UpdateModuleConfig (moduleName string ) error
74
75
SafeReadConfig (handler func (config * config.KubeConfig ))
75
76
}
@@ -503,6 +504,9 @@ func (mm *ModuleManager) Init() error {
503
504
mm .moduleScheduler .AddExtender (dynamicExtender )
504
505
}
505
506
507
+ kubeConfigExtender := kube_config .NewExtender (mm .dependencies .KubeConfigManager )
508
+ mm .moduleScheduler .AddExtender (kubeConfigExtender )
509
+
506
510
return mm .registerModules ()
507
511
}
508
512
@@ -1291,8 +1295,10 @@ func (mm *ModuleManager) RegisterModule(moduleSource, modulePath string) error {
1291
1295
if ! mm .IsModuleEnabled (moduleName ) {
1292
1296
// update(upsert) module config in moduleset
1293
1297
mm .modules .Add (basicModule )
1294
- // if module is disabled in the module kube config - exit
1295
- if ! mm .dependencies .KubeConfigManager .IsModuleEnabled (moduleName ) {
1298
+ // get kube config for the module to check if it has enabled: true
1299
+ moduleKubeConfigEnabled := mm .dependencies .KubeConfigManager .IsModuleEnabled (moduleName )
1300
+ // if module isn't explicitly enabled in the module kube config - exit
1301
+ if moduleKubeConfigEnabled == nil || (moduleKubeConfigEnabled != nil && ! * moduleKubeConfigEnabled ) {
1296
1302
return nil
1297
1303
}
1298
1304
mm .AddEnabledModuleByConfigName (moduleName )
@@ -1365,8 +1371,10 @@ func (mm *ModuleManager) RegisterModule(moduleSource, modulePath string) error {
1365
1371
EventType : events .ModuleRegistered ,
1366
1372
})
1367
1373
1368
- // if module is disabled in the module kube config - exit
1369
- if ! mm .dependencies .KubeConfigManager .IsModuleEnabled (moduleName ) {
1374
+ // get kube config for the module to check if it has enabled: true
1375
+ moduleKubeConfigEnabled := mm .dependencies .KubeConfigManager .IsModuleEnabled (moduleName )
1376
+ // if module isn't explicitly enabled in the module kube config - exit
1377
+ if moduleKubeConfigEnabled == nil || (moduleKubeConfigEnabled != nil && ! * moduleKubeConfigEnabled ) {
1370
1378
return nil
1371
1379
}
1372
1380
mm .AddEnabledModuleByConfigName (moduleName )
0 commit comments