1515 # NOTE: If these are directly imported then you get circular imports.
1616 from renku_data_services .notebooks .api .classes .server import UserServer
1717
18- def git_clone_container_v2 (server : "UserServer" ) -> dict [str , Any ] | None :
18+ async def git_clone_container_v2 (server : "UserServer" ) -> dict [str , Any ] | None :
1919 """Returns the specification for the container that clones the user's repositories for new operator."""
2020 amalthea_session_work_volume : str = "amalthea-volume"
21- if not server .repositories :
21+ repositories = await server .repositories ()
22+ if not repositories :
2223 return None
2324
2425 etc_cert_volume_mount = get_certificates_volume_mounts (
@@ -105,7 +106,7 @@ def git_clone_container_v2(server: "UserServer") -> dict[str, Any] | None:
105106
106107
107108 # Set up git repositories
108- for idx , repo in enumerate (server . repositories ):
109+ for idx , repo in enumerate (repositories ):
109110 obj_env = f"{ prefix } REPOSITORIES_{ idx } _"
110111 env .append (
111112 {
@@ -115,7 +116,8 @@ def git_clone_container_v2(server: "UserServer") -> dict[str, Any] | None:
115116 )
116117
117118 # Set up git providers
118- for idx , provider in enumerate (server .required_git_providers ):
119+ required_git_providers = await server .required_git_providers ()
120+ for idx , provider in enumerate (required_git_providers ):
119121 obj_env = f"{ prefix } GIT_PROVIDERS_{ idx } _"
120122 data = dict (id = provider .id , access_token_url = provider .access_token_url )
121123 env .append (
@@ -151,9 +153,10 @@ def git_clone_container_v2(server: "UserServer") -> dict[str, Any] | None:
151153 "env" : env ,
152154 }
153155
154- def git_clone_container (server : "UserServer" ) -> dict [str , Any ] | None :
156+ async def git_clone_container (server : "UserServer" ) -> dict [str , Any ] | None :
155157 """Returns the specification for the container that clones the user's repositories."""
156- if not server .repositories :
158+ repositories = await server .repositories ()
159+ if not repositories :
157160 return None
158161
159162 etc_cert_volume_mount = get_certificates_volume_mounts (
@@ -240,7 +243,7 @@ def git_clone_container(server: "UserServer") -> dict[str, Any] | None:
240243
241244
242245 # Set up git repositories
243- for idx , repo in enumerate (server . repositories ):
246+ for idx , repo in enumerate (repositories ):
244247 obj_env = f"{ prefix } REPOSITORIES_{ idx } _"
245248 env .append (
246249 {
@@ -250,7 +253,8 @@ def git_clone_container(server: "UserServer") -> dict[str, Any] | None:
250253 )
251254
252255 # Set up git providers
253- for idx , provider in enumerate (server .required_git_providers ):
256+ required_git_providers = await server .required_git_providers ()
257+ for idx , provider in enumerate (required_git_providers ):
254258 obj_env = f"{ prefix } GIT_PROVIDERS_{ idx } _"
255259 data = dict (id = provider .id , access_token_url = provider .access_token_url )
256260 env .append (
@@ -287,9 +291,9 @@ def git_clone_container(server: "UserServer") -> dict[str, Any] | None:
287291 }
288292
289293
290- def git_clone (server : "UserServer" ) -> list [dict [str , Any ]]:
294+ async def git_clone (server : "UserServer" ) -> list [dict [str , Any ]]:
291295 """The patch for the init container that clones the git repository."""
292- container = git_clone_container (server )
296+ container = await git_clone_container (server )
293297 if not container :
294298 return []
295299 return [
0 commit comments