Skip to content

Commit 9527f56

Browse files
[patch] add slack secrets vars into secrets
1 parent 8704ea1 commit 9527f56

1 file changed

Lines changed: 20 additions & 8 deletions

File tree

src/mas/devops/tekton.py

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)