@@ -506,6 +506,45 @@ def prepareAiServicePipelinesNamespace(dynClient: DynamicClient, instanceId: str
506506 logger .info (f"Storage class { storageClass } uses volumeBindingMode={ volumeBindingMode } , skipping PVC bind wait" )
507507
508508
509+ def prepareRestoreSecrets (dynClient : DynamicClient , namespace : str , restoreConfigs : dict = None ):
510+ """
511+ Create or update secret required for MAS Restore pipeline.
512+
513+ Creates secret in the specified namespace:
514+ - pipeline-restore-configs
515+
516+ Parameters:
517+ dynClient (DynamicClient): OpenShift Dynamic Client
518+ namespace (str): The namespace to create secrets in
519+ restoreConfigs (dict, optional): configuration data for restore. Defaults to None (empty secret).
520+
521+ Returns:
522+ None
523+
524+ Raises:
525+ NotFoundError: If secrets cannot be created
526+ """
527+ secretsAPI = dynClient .resources .get (api_version = "v1" , kind = "Secret" )
528+
529+ # 1. Secret/pipeline-restore-configs
530+ # -------------------------------------------------------------------------
531+ # Must exist, but can be empty
532+ try :
533+ secretsAPI .delete (name = "pipeline-restore-configs" , namespace = namespace )
534+ except NotFoundError :
535+ pass
536+
537+ if restoreConfigs is None :
538+ restoreConfigs = {
539+ "apiVersion" : "v1" ,
540+ "kind" : "Secret" ,
541+ "type" : "Opaque" ,
542+ "metadata" : {
543+ "name" : "pipeline-restore-configs"
544+ }
545+ }
546+ secretsAPI .create (body = restoreConfigs , namespace = namespace )
547+
509548def prepareInstallSecrets (dynClient : DynamicClient , namespace : str , slsLicenseFile : str = None , additionalConfigs : dict = None , certs : str = None , podTemplates : str = None ) -> None :
510549 """
511550 Create or update secrets required for MAS installation pipelines.
0 commit comments