diff --git a/internal/controller/appwrapper/resource_management.go b/internal/controller/appwrapper/resource_management.go index 1d390c2..7b8f6b7 100644 --- a/internal/controller/appwrapper/resource_management.go +++ b/internal/controller/appwrapper/resource_management.go @@ -80,7 +80,7 @@ func (r *AppWrapperReconciler) createComponent(ctx context.Context, aw *workload if err != nil { return nil, err, true } - if r.Config.EnableKueueIntegrations { + if r.Config.EnableKueueIntegrations && !r.Config.DisableChildAdmissionCtrl { obj.SetLabels(utilmaps.MergeKeepFirst(obj.GetLabels(), map[string]string{AppWrapperLabel: aw.Name, constants.QueueLabel: childJobQueueName})) } else { obj.SetLabels(utilmaps.MergeKeepFirst(obj.GetLabels(), map[string]string{AppWrapperLabel: aw.Name})) diff --git a/pkg/config/config.go b/pkg/config/config.go index e50e6b7..9c5f090 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -31,6 +31,7 @@ type OperatorConfig struct { type AppWrapperConfig struct { ManageJobsWithoutQueueName bool `json:"manageJobsWithoutQueueName,omitempty"` EnableKueueIntegrations bool `json:"enableKueueIntegrations,omitempty"` + DisableChildAdmissionCtrl bool `json:"disableChildAdmissionCtrl,omitempty"` FaultTolerance *FaultToleranceConfig `json:"faultTolerance,omitempty"` } @@ -75,6 +76,7 @@ func NewAppWrapperConfig() *AppWrapperConfig { return &AppWrapperConfig{ ManageJobsWithoutQueueName: true, EnableKueueIntegrations: true, + DisableChildAdmissionCtrl: false, FaultTolerance: &FaultToleranceConfig{ WarmupGracePeriod: 5 * time.Minute, FailureGracePeriod: 1 * time.Minute, diff --git a/pkg/controller/setup.go b/pkg/controller/setup.go index 0579467..3dfe145 100644 --- a/pkg/controller/setup.go +++ b/pkg/controller/setup.go @@ -47,11 +47,13 @@ func SetupControllers(mgr ctrl.Manager, awConfig *config.AppWrapperConfig) error return fmt.Errorf("workload controller: %w", err) } - if err := (&workload.ChildWorkloadReconciler{ - Client: mgr.GetClient(), - Scheme: mgr.GetScheme(), - }).SetupWithManager(mgr); err != nil { - return fmt.Errorf("child admission controller: %w", err) + if !awConfig.DisableChildAdmissionCtrl { + if err := (&workload.ChildWorkloadReconciler{ + Client: mgr.GetClient(), + Scheme: mgr.GetScheme(), + }).SetupWithManager(mgr); err != nil { + return fmt.Errorf("child admission controller: %w", err) + } } }