diff --git a/core/app/controllers/concerns/uffizzi_core/dependency_injection_concern.rb b/core/app/controllers/concerns/uffizzi_core/dependency_injection_concern.rb index 614d57a5..3469b70a 100644 --- a/core/app/controllers/concerns/uffizzi_core/dependency_injection_concern.rb +++ b/core/app/controllers/concerns/uffizzi_core/dependency_injection_concern.rb @@ -67,6 +67,12 @@ def template_memory_module module_class(:template_memory_module) end + def controller_settings_service + return unless module_exists?(:controller_settings) + + module_class(:controller_settings) + end + private def module_exists?(module_name) diff --git a/core/app/services/uffizzi_core/controller_service.rb b/core/app/services/uffizzi_core/controller_service.rb index 3bb6b91b..ace4d6d1 100644 --- a/core/app/services/uffizzi_core/controller_service.rb +++ b/core/app/services/uffizzi_core/controller_service.rb @@ -109,7 +109,7 @@ def controller_client(deployable) when UffizziCore::Deployment Settings.controller when UffizziCore::Cluster - Settings.vcluster_controller + controller_settings_service.vcluster(deployable) else raise StandardError, "Deployable #{deployable.class.name} undefined" end diff --git a/core/app/services/uffizzi_core/controller_settings_service.rb b/core/app/services/uffizzi_core/controller_settings_service.rb new file mode 100644 index 00000000..6e4401aa --- /dev/null +++ b/core/app/services/uffizzi_core/controller_settings_service.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class UffizziCore::ControllerSettingsService + class << self + def vcluster(_cluster) + Settings.vcluster_controller + end + end +end diff --git a/core/lib/uffizzi_core.rb b/core/lib/uffizzi_core.rb index 1f6aa2ff..6a5e7beb 100644 --- a/core/lib/uffizzi_core.rb +++ b/core/lib/uffizzi_core.rb @@ -32,6 +32,7 @@ module UffizziCore rbac: 'UffizziCore::Rbac::UserAccessService', deployment_memory_module: 'UffizziCore::Deployment::MemoryService', template_memory_module: 'UffizziCore::Template::MemoryService', + controller_settings: 'UffizziCore::ControllerSettingsService', } mattr_accessor :table_names, default: { accounts: :uffizzi_core_accounts,