@@ -399,11 +399,11 @@ def prepareAiServicePipelinesNamespace(dynClient: DynamicClient, instanceId: str
399399 logger .info (f"Storage class { storageClass } uses volumeBindingMode={ volumeBindingMode } , skipping PVC bind wait" )
400400
401401
402- def prepareInstallSecrets (dynClient : DynamicClient , namespace : str , slsLicenseFile : str = None , additionalConfigs : dict = None , certs : str = None , podTemplates : str = None ) -> None :
402+ def prepareInstallSecrets (dynClient : DynamicClient , namespace : str , slsLicenseFile : str = None , additionalConfigs : dict = None , certs : str = None , podTemplates : str = None , slack_token : str = None , slack_channel : str = None ) -> None :
403403 """
404404 Create or update secrets required for MAS installation pipelines.
405405
406- Creates five secrets in the specified namespace: mas-devops, pipeline-additional-configs,
406+ Creates five secrets in the specified namespace: mas-devops-slack , pipeline-additional-configs,
407407 pipeline-sls-entitlement, pipeline-certificates, and pipeline-pod-templates.
408408
409409 Parameters:
@@ -413,6 +413,8 @@ def prepareInstallSecrets(dynClient: DynamicClient, namespace: str, slsLicenseFi
413413 additionalConfigs (dict, optional): Additional configuration data. Defaults to None (empty secret).
414414 certs (str, optional): Certificate data. Defaults to None (empty secret).
415415 podTemplates (str, optional): Pod template data. Defaults to None (empty secret).
416+ slack_token (str, optional): Slack bot token for notifications. Defaults to None.
417+ slack_channel (str, optional): Slack channel ID for notifications. Defaults to None.
416418
417419 Returns:
418420 None
@@ -427,28 +429,38 @@ def prepareInstallSecrets(dynClient: DynamicClient, namespace: str, slsLicenseFi
427429 if namespace .startswith ("mas-" ) and namespace .endswith ("-pipelines" ):
428430 instance_id = namespace [4 :- 10 ] # Remove "mas-" prefix and "-pipelines" suffix
429431
430- # 0. Secret/mas-devops
432+ # 0. Secret/mas-devops-slack
431433 # -------------------------------------------------------------------------
432- # Create mas-devops secret with MAS_INSTANCE_ID key
434+ # Create mas-devops-slack secret with MAS_INSTANCE_ID, SLACK_TOKEN, and SLACK_CHANNEL keys
433435 if instance_id :
434436 try :
435437 secretsAPI .delete (name = "mas-devops-slack" , namespace = namespace )
436438 except NotFoundError :
437439 pass
438440
441+ secret_data = {
442+ "MAS_INSTANCE_ID" : base64 .b64encode (instance_id .encode ()).decode ()
443+ }
444+
445+ # Add slack_token if provided
446+ if slack_token :
447+ secret_data ["SLACK_TOKEN" ] = base64 .b64encode (slack_token .encode ()).decode ()
448+
449+ # Add slack_channel if provided
450+ if slack_channel :
451+ secret_data ["SLACK_CHANNEL" ] = base64 .b64encode (slack_channel .encode ()).decode ()
452+
439453 mas_devops_secret = {
440454 "apiVersion" : "v1" ,
441455 "kind" : "Secret" ,
442456 "type" : "Opaque" ,
443457 "metadata" : {
444458 "name" : "mas-devops-slack"
445459 },
446- "data" : {
447- "MAS_INSTANCE_ID" : base64 .b64encode (instance_id .encode ()).decode ()
448- }
460+ "data" : secret_data
449461 }
450462 secretsAPI .create (body = mas_devops_secret , namespace = namespace )
451- logger .info (f"Created mas-devops secret with MAS_INSTANCE_ID={ instance_id } in namespace { namespace } " )
463+ logger .info (f"Created mas-devops-slack secret with MAS_INSTANCE_ID={ instance_id } in namespace { namespace } " )
452464
453465 # 1. Secret/pipeline-additional-configs
454466 # -------------------------------------------------------------------------
0 commit comments