Skip to content

Commit df2f554

Browse files
Jignesh ChauhanJignesh Chauhan
authored andcommitted
[patch] update aiservice/restore pipelines
1 parent 9fb281c commit df2f554

2 files changed

Lines changed: 41 additions & 3 deletions

File tree

src/mas/devops/tekton.py

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -679,17 +679,20 @@ def prepareAiServicePipelinesNamespace(
679679
logger.info(f"Storage class {storageClass} uses volumeBindingMode={volumeBindingMode}, skipping PVC bind wait")
680680

681681

682-
def prepareRestoreSecrets(dynClient: DynamicClient, namespace: str, restoreConfigs: dict = None):
682+
def prepareRestoreSecrets(dynClient: DynamicClient, namespace: str, restoreConfigs: dict = None, additionalConfigs: dict = None, ibm_entitlement_key: str = None):
683683
"""
684-
Create or update secret required for MAS Restore pipeline.
684+
Create or update secrets required for MAS Restore pipeline.
685685
686-
Creates secret in the specified namespace:
686+
Creates secrets in the specified namespace:
687687
- pipeline-restore-configs
688+
- pipeline-additional-configs
688689
689690
Parameters:
690691
dynClient (DynamicClient): OpenShift Dynamic Client
691692
namespace (str): The namespace to create secrets in
692693
restoreConfigs (dict, optional): configuration data for restore. Defaults to None (empty secret).
694+
additionalConfigs (dict, optional): Additional configuration data. Defaults to None (empty secret).
695+
ibm_entitlement_key (str, optional): IBM entitlement key for authentication. Defaults to None.
693696
694697
Returns:
695698
None
@@ -716,6 +719,38 @@ def prepareRestoreSecrets(dynClient: DynamicClient, namespace: str, restoreConfi
716719
}
717720
secretsAPI.create(body=restoreConfigs, namespace=namespace)
718721

722+
# 2. Secret/pipeline-additional-configs
723+
# -------------------------------------------------------------------------
724+
# Must exist, but can be empty
725+
try:
726+
secretsAPI.delete(name="pipeline-additional-configs", namespace=namespace)
727+
except NotFoundError:
728+
pass
729+
730+
if additionalConfigs is None:
731+
additionalConfigs = {
732+
"apiVersion": "v1",
733+
"kind": "Secret",
734+
"type": "Opaque",
735+
"metadata": {
736+
"name": "pipeline-additional-configs"
737+
}
738+
}
739+
740+
additionalConfigs.setdefault("apiVersion", "v1")
741+
additionalConfigs.setdefault("kind", "Secret")
742+
additionalConfigs.setdefault("type", "Opaque")
743+
additionalConfigs.setdefault("metadata", {})
744+
additionalConfigs["metadata"]["name"] = "pipeline-additional-configs"
745+
746+
# Add IBM_ENTITLEMENT_KEY to the secret if provided
747+
if ibm_entitlement_key:
748+
if "data" not in additionalConfigs:
749+
additionalConfigs["data"] = {}
750+
additionalConfigs["data"]["IBM_ENTITLEMENT_KEY"] = base64.b64encode(ibm_entitlement_key.encode()).decode()
751+
752+
secretsAPI.create(body=additionalConfigs, namespace=namespace)
753+
719754

720755
def prepareInstallSecrets(
721756
dynClient: DynamicClient,

src/mas/devops/templates/pipelinerun-restore.yml.j2

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ spec:
1818
- name: restore-configurations
1919
secret:
2020
secretName: pipeline-restore-configs
21+
- name: shared-additional-configs
22+
secret:
23+
secretName: pipeline-additional-configs
2124
params:
2225
# Common Parameters
2326
- name: image_pull_policy

0 commit comments

Comments
 (0)