3333 get_extra_containers ,
3434 get_extra_init_containers ,
3535 get_gitlab_image_pull_secret ,
36+ get_launcher_env_variables ,
3637 patch_session ,
3738 request_dc_secret_creation ,
3839 request_session_secret_creation ,
3940 requires_image_pull_secret ,
4041 resources_from_resource_class ,
42+ verify_launcher_env_variable_overrides ,
4143)
4244from renku_data_services .notebooks .crs import (
4345 AmaltheaSessionSpec ,
@@ -377,6 +379,8 @@ async def _handler(
377379
378380 secrets_to_create .append (auth_secret )
379381
382+ # Raise an error if there are invalid environment variables in the request body
383+ verify_launcher_env_variable_overrides (launcher , body )
380384 env = [
381385 SessionEnvItem (name = "RENKU_BASE_URL_PATH" , value = base_server_path ),
382386 SessionEnvItem (name = "RENKU_BASE_URL" , value = base_server_url ),
@@ -386,12 +390,9 @@ async def _handler(
386390 SessionEnvItem (name = "RENKU_SESSION_PORT" , value = f"{ environment .port } " ),
387391 SessionEnvItem (name = "RENKU_WORKING_DIR" , value = work_dir .as_posix ()),
388392 ]
389- if launcher .env_variables :
390- env .extend (
391- SessionEnvItem (name = env_var .name , value = env_var .value )
392- for env_var in launcher .env_variables
393- if env_var .value
394- )
393+ launcher_env_variables = get_launcher_env_variables (launcher , body )
394+ if launcher_env_variables :
395+ env .extend (launcher_env_variables )
395396
396397 manifest = AmaltheaSessionV1Alpha1 (
397398 metadata = Metadata (name = server_name , annotations = annotations ),
0 commit comments