Skip to content

Commit e864215

Browse files
author
Sanjay Prabhakar
committed
Update tekton.py with prepareRestoreSecrets
1 parent 05fb5b2 commit e864215

2 files changed

Lines changed: 43 additions & 1 deletion

File tree

src/mas/devops/tekton.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
509548
def 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.

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ spec:
1616
- name: shared-backups
1717
persistentVolumeClaim:
1818
claimName: backup-pvc
19+
- name: restore-configurations
20+
secret:
21+
secretName: pipeline-restore-configs
1922
params:
2023
# Common Parameters
2124
- name: image_pull_policy
@@ -175,4 +178,4 @@ spec:
175178
{% if artifactory_repository is defined and artifactory_repository != "" %}
176179
- name: artifactory_repository
177180
value: "{{ artifactory_repository }}"
178-
{% endif %}
181+
{% endif %}

0 commit comments

Comments
 (0)