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 5bb75769..1836b2d3 100644 --- a/core/app/controllers/concerns/uffizzi_core/dependency_injection_concern.rb +++ b/core/app/controllers/concerns/uffizzi_core/dependency_injection_concern.rb @@ -7,6 +7,10 @@ module UffizziCore::DependencyInjectionConcern def include_module_if_exists(module_name) include(Object.const_get(module_name)) if Object.const_defined?(module_name) end + + def prepend_module_if_exists(module_name) + prepend(Object.const_get(module_name)) if Object.const_defined?(module_name) + end end def user_access_module diff --git a/core/app/services/uffizzi_core/deployment_service.rb b/core/app/services/uffizzi_core/deployment_service.rb index 9fb0a2bb..d4f302ff 100644 --- a/core/app/services/uffizzi_core/deployment_service.rb +++ b/core/app/services/uffizzi_core/deployment_service.rb @@ -1,6 +1,9 @@ # frozen_string_literal: true class UffizziCore::DeploymentService + include UffizziCore::DependencyInjectionConcern + prepend_module_if_exists('UffizziCore::DeploymentServiceModule') + MIN_TARGET_PORT_RANGE = 37_000 MAX_TARGET_PORT_RANGE = 39_999 @@ -39,12 +42,8 @@ def update_from_compose(compose_file, project, user, deployment, metadata) deployment.containers.destroy_all deployment.compose_file.destroy! if deployment.compose_file&.kind&.temporary? deployment.activate unless deployment.active? - params = { - containers: deployment_form.containers, - compose_file_id: compose_file.id, - metadata: deployment_form.metadata, - } - deployment.update!(params) + new_params = params_for_update_deployment(deployment_form, compose_file) + deployment.update!(new_params) end deployment @@ -237,5 +236,13 @@ def add_default_deployment_variables!(containers, deployment) container.variables.push(*envs) end end + + def params_for_update_deployment(deployment_form, compose_file) + { + containers: deployment_form.containers, + compose_file_id: compose_file.id, + metadata: deployment_form.metadata, + } + end end end