2727 REANA_INTERACTIVE_SESSION_MAX_INACTIVITY_PERIOD ,
2828 REANA_INTERACTIVE_SESSIONS_ENVIRONMENTS ,
2929 REANA_INTERACTIVE_SESSIONS_ENVIRONMENTS_CUSTOM_ALLOWED ,
30+ REANA_VETTED_CONTAINER_IMAGES ,
3031 DASK_ENABLED ,
3132 DASK_AUTOSCALER_ENABLED ,
3233 REANA_DASK_CLUSTER_DEFAULT_NUMBER_OF_WORKERS ,
@@ -153,6 +154,22 @@ def info(user, **kwargs): # noqa
153154 type: string
154155 type: array
155156 type: object
157+ vetted_container_images_enabled:
158+ properties:
159+ title:
160+ type: string
161+ value:
162+ type: boolean
163+ type: object
164+ vetted_container_images_allowlist:
165+ properties:
166+ title:
167+ type: string
168+ value:
169+ items:
170+ type: string
171+ type: array
172+ type: object
156173 supported_workflow_engines:
157174 properties:
158175 title:
@@ -318,6 +335,14 @@ def info(user, **kwargs): # noqa
318335 "title": "Whether users are allowed to spawn custom interactive session images",
319336 "value": "False"
320337 },
338+ "vetted_container_images_enabled": {
339+ "title": "Whether container images are vetted or not",
340+ "value": "False"
341+ },
342+ "vetted_container_images_allowlist": {
343+ "title": "List of allowed container images",
344+ "value": []
345+ },
321346 "supported_workflow_engines": {
322347 "title": "List of supported workflow engines",
323348 "value": [
@@ -452,6 +477,14 @@ def info(user, **kwargs): # noqa
452477 ]
453478 ],
454479 ),
480+ vetted_container_images_enabled = dict (
481+ title = "Whether container images are vetted or not" ,
482+ value = REANA_VETTED_CONTAINER_IMAGES ["enabled" ],
483+ ),
484+ vetted_container_images_allowlist = dict (
485+ title = "List of allowed container images" ,
486+ value = REANA_VETTED_CONTAINER_IMAGES ["allowlist" ],
487+ ),
455488 supported_workflow_engines = dict (
456489 title = "List of supported workflow engines" ,
457490 value = ["cwl" , "serial" , "snakemake" , "yadage" ],
@@ -534,6 +567,13 @@ class StringInfoValue(Schema):
534567 value = fields .String (allow_none = False )
535568
536569
570+ class BooleanInfoValue (Schema ):
571+ """Schema for a value represented by a string."""
572+
573+ title = fields .String ()
574+ value = fields .Boolean (allow_none = False )
575+
576+
537577class StringNullableInfoValue (Schema ):
538578 """Schema for a value represented by a nullable string."""
539579
@@ -558,6 +598,8 @@ class InfoSchema(Schema):
558598 kubernetes_max_memory_limit = fields .Nested (StringInfoValue )
559599 interactive_session_recommended_jupyter_images = fields .Nested (ListStringInfoValue )
560600 interactive_sessions_custom_image_allowed = fields .Nested (StringInfoValue )
601+ vetted_container_images_enabled = fields .Nested (BooleanInfoValue )
602+ vetted_container_images_allowlist = fields .Nested (ListStringInfoValue )
561603 supported_workflow_engines = fields .Nested (ListStringInfoValue )
562604 cwl_engine_tool = fields .Nested (StringInfoValue )
563605 cwl_engine_version = fields .Nested (StringInfoValue )
0 commit comments