@@ -210,9 +210,12 @@ async def generate_gateway_name(session: AsyncSession, project: ProjectModel) ->
210210 return name
211211
212212
213- async def register_service_jobs (session : AsyncSession , project : ProjectModel , jobs : List [Job ]):
214- # we are expecting that all jobs are for the same service and the same gateway
215- gateway_name = jobs [0 ].job_spec .gateway .gateway_name
213+ async def register_service_jobs (
214+ session : AsyncSession , project : ProjectModel , run_name : str , jobs : List [Job ]
215+ ):
216+ # we publish only one job
217+ job = jobs [0 ]
218+ gateway_name = job .job_spec .gateway .gateway_name
216219 if gateway_name is None :
217220 gateway = await get_project_default_gateway (session = session , project = project )
218221 if gateway is None :
@@ -223,26 +226,25 @@ async def register_service_jobs(session: AsyncSession, project: ProjectModel, jo
223226 raise ResourceNotExistsError ("Gateway does not exist" )
224227
225228 domain = gateway .wildcard_domain .lstrip ("*." ) if gateway .wildcard_domain else None
226- private_bytes , public_bytes = generate_rsa_key_pair_bytes (
227- comment = f"{ project } /{ jobs [0 ].job_spec .job_name } "
228- )
229- for i , job in enumerate (jobs ):
230- job .job_spec .gateway .gateway_name = gateway .name
231- job .job_spec .gateway .ssh_key = private_bytes .decode ()
232- if domain is not None :
233- job .job_spec .gateway .secure = True
234- job .job_spec .gateway .public_port = 443
235- job .job_spec .gateway .hostname = f"{ job .job_spec .job_name } .{ domain } "
236- else :
237- job .job_spec .gateway .secure = False
238- # use provided public port
239- job .job_spec .gateway .hostname = gateway .ip_address
229+ private_bytes , public_bytes = generate_rsa_key_pair_bytes (comment = f"{ project } /{ run_name } " )
230+
231+ job .job_spec .gateway .gateway_name = gateway .name
232+ job .job_spec .gateway .ssh_key = private_bytes .decode ()
233+ if domain is not None :
234+ job .job_spec .gateway .secure = True
235+ job .job_spec .gateway .public_port = 443
236+ job .job_spec .gateway .hostname = f"{ run_name } .{ domain } "
237+ else :
238+ job .job_spec .gateway .secure = False
239+ # use provided public port
240+ job .job_spec .gateway .hostname = gateway .ip_address
241+
240242 await run_async (
241243 configure_gateway_over_ssh ,
242244 f"ubuntu@{ gateway .ip_address } " ,
243245 project .ssh_private_key ,
244246 public_bytes .decode (),
245- jobs ,
247+ [ job ] ,
246248 )
247249
248250
0 commit comments