Repository: konflux-ci/release-service-catalog
Pull request #925: feat(RELEASE-1565): specify atlas secrets in rpa
Author: login: scoheb
Created: 2025-05-01T22:11:40Z | Merged: 2025-05-06T22:36:01Z

## Describe your changes
- specify atlas secrets in rpa
- this will help with setup of e2e tests

## Relevant Jira
- [RELEASE-1565](https://issues.redhat.com//browse/RELEASE-1565)

## Checklist before requesting a review
- [X] I have marked as draft or added `do not merge` label if there's a dependency PR
  - If you want reviews on your draft PR, you can add reviewers or add the `release-service-maintainers` handle if you are unsure who to tag
- [X] My commit message includes `Signed-off-by: My name <email>`
- [X] I have bumped the task/pipeline version string and updated changelog in the relevant README
- [X] I read CONTRIBUTING.MD and [commit formatting](CONTRIBUTING.md#commit-message-formatting-and-standards)




Diff:
diff --git a/schema/dataKeys.json b/schema/dataKeys.json
index 2710e743f3..1aac60ac4d 100644
--- a/schema/dataKeys.json
+++ b/schema/dataKeys.json
@@ -331,6 +331,14 @@
             "stage",
             "production"
           ]
+        },
+        "atlas-sso-secret-name": {
+          "type": "string",
+          "description": "The secret used to authenticate to Atlas via SSO"
+        },
+        "atlas-retry-aws-secret-name": {
+          "type": "string",
+          "description": "The secret used to authenticate to the Atlas retry AWS S3 bucket"
         }
       }
     },
diff --git a/tasks/managed/collect-atlas-params/README.md b/tasks/managed/collect-atlas-params/README.md
index 17972ccc31..325de96f05 100644
--- a/tasks/managed/collect-atlas-params/README.md
+++ b/tasks/managed/collect-atlas-params/README.md
@@ -19,6 +19,9 @@ strings as results, indicating that the Atlas push should be skipped.
 | taskGitUrl              | The url to the git repo where the release-service-catalog tasks and stepactions to be used are stored                      | No          | ""                      |
 | taskGitRevision         | The revision in the taskGitUrl repo to be used                                                                             | No          | ""                      |
 
+## Changes in 1.1.0
+* now supports specifying secret names for stage and prod. 
+
 ## Changes in 1.0.1
 * Also collect SBOM retry S3 bucket data.
 
diff --git a/tasks/managed/collect-atlas-params/collect-atlas-params.yaml b/tasks/managed/collect-atlas-params/collect-atlas-params.yaml
index abf15abaac..f0d2e4b662 100644
--- a/tasks/managed/collect-atlas-params/collect-atlas-params.yaml
+++ b/tasks/managed/collect-atlas-params/collect-atlas-params.yaml
@@ -4,7 +4,7 @@ kind: Task
 metadata:
   name: collect-atlas-params
   labels:
-    app.kubernetes.io/version: "1.0.1"
+    app.kubernetes.io/version: "1.1.0"
   annotations:
     tekton.dev/pipelines.minVersion: "0.12.1"
     tekton.dev/tags: release
@@ -139,14 +139,16 @@ spec:
         elif [ "$atlasServer" = "stage" ]; then
             bombasticApiUrl="https://sbom.atlas.release.stage.devshift.net"
             ssoTokenUrl="https://auth.stage.redhat.com/auth/realms/EmployeeIDP/protocol/openid-connect/token"
-            secretName="atlas-staging-sso-secret"
-            retryAWSSecretName="atlas-retry-s3-staging-secret"
+            secretName=$(jq -r '.atlas."atlas-sso-secret-name" // "atlas-staging-sso-secret"' "$DATA_FILE")
+            retryAWSSecretName=$(jq -r '.atlas."atlas-retry-aws-secret-name" // "atlas-retry-s3-staging-secret"' \
+              "$DATA_FILE")
             retryS3Bucket="mpp-e1-preprod-sbom-29093454-2ea7-4fd0-b4cf-dc69a7529ee0"
         elif [ "$atlasServer" = "production" ]; then
             bombasticApiUrl="https://sbom.atlas.release.devshift.net"
             ssoTokenUrl="https://auth.redhat.com/auth/realms/EmployeeIDP/protocol/openid-connect/token"
-            secretName="atlas-prod-sso-secret"
-            retryAWSSecretName="atlas-retry-s3-production-secret"
+            secretName=$(jq -r '.atlas."atlas-sso-secret-name" // "atlas-prod-sso-secret"' "$DATA_FILE")
+            retryAWSSecretName=$(jq -r '.atlas."atlas-retry-aws-secret-name" // "atlas-retry-s3-production-secret"' \
+              "$DATA_FILE")
             retryS3Bucket="mpp-e1-prod-sbom-e02138d3-5c5c-4d90-a38f-6c54f658604d"
         else
             echo "ERROR: Unknown .atlas.server value '$atlasServer'. Expected 'stage' or 'production'."
diff --git a/tasks/managed/collect-atlas-params/tests/test-collect-atlas-params-stage-custom-secret.yaml b/tasks/managed/collect-atlas-params/tests/test-collect-atlas-params-stage-custom-secret.yaml
new file mode 100644
index 0000000000..e603467bd9
--- /dev/null
+++ b/tasks/managed/collect-atlas-params/tests/test-collect-atlas-params-stage-custom-secret.yaml
@@ -0,0 +1,147 @@
+---
+apiVersion: tekton.dev/v1
+kind: Pipeline
+metadata:
+  name: test-collect-atlas-params-stage-custom-secret
+spec:
+  description: |
+    Run the collect-atlas-params task with custom secret params in the RPA and verify the results.
+  params:
+    - name: ociStorage
+      description: The OCI repository where the Trusted Artifacts are stored.
+      type: string
+    - name: ociArtifactExpiresAfter
+      description: Expiration date for the trusted artifacts created in the
+        OCI repository. An empty string means the artifacts do not expire.
+      type: string
+      default: "1d"
+    - name: orasOptions
+      description: oras options to pass to Trusted Artifacts calls
+      type: string
+      default: "--insecure"
+    - name: trustedArtifactsDebug
+      description: Flag to enable debug logging in trusted artifacts. Set to a non-empty string to enable.
+      type: string
+      default: ""
+    - name: dataDir
+      description: The location where data will be stored
+      type: string
+  workspaces:
+    - name: tests-workspace
+  tasks:
+    - name: setup
+      workspaces:
+        - name: data
+          workspace: tests-workspace
+      taskSpec:
+        results:
+          - name: sourceDataArtifact
+            type: string
+        workspaces:
+          - name: data
+        volumes:
+          - name: workdir
+            emptyDir: {}
+        stepTemplate:
+          volumeMounts:
+            - mountPath: /var/workdir
+              name: workdir
+          env:
+            - name: IMAGE_EXPIRES_AFTER
+              value: $(params.ociArtifactExpiresAfter)
+            - name: "ORAS_OPTIONS"
+              value: "$(params.orasOptions)"
+            - name: "DEBUG"
+              value: "$(params.trustedArtifactsDebug)"
+        steps:
+          - name: setup-values
+            image: quay.io/konflux-ci/release-service-utils:d320c36f3d707cd5bfe55fe783f70236c06cc2e5
+            script: |
+              #!/usr/bin/env bash
+              set -eux
+
+              mkdir -p "$(params.dataDir)/$(context.pipelineRun.uid)"
+              cat > "$(params.dataDir)/$(context.pipelineRun.uid)/data.json" << EOF
+              {
+                "atlas": {
+                  "server": "stage",
+                  "atlas-sso-secret-name": "some-other-secret-name",
+                  "atlas-retry-aws-secret-name": "another-secret-name"
+                }
+              }
+              EOF
+          - name: skip-trusted-artifact-operations
+            ref:
+              name: skip-trusted-artifact-operations
+            params:
+              - name: ociStorage
+                value: $(params.ociStorage)
+              - name: workDir
+                value: $(params.dataDir)
+          - name: create-trusted-artifact
+            ref:
+              name: create-trusted-artifact
+            params:
+              - name: ociStorage
+                value: $(params.ociStorage)
+              - name: workDir
+                value: $(params.dataDir)
+              - name: sourceDataArtifact
+                value: $(results.sourceDataArtifact.path)
+          - name: patch-source-data-artifact-result
+            ref:
+              name: patch-source-data-artifact-result
+            params:
+              - name: ociStorage
+                value: $(params.ociStorage)
+              - name: sourceDataArtifact
+                value: $(results.sourceDataArtifact.path)
+    - name: run-task
+      taskRef:
+        name: collect-atlas-params
+      params:
+        - name: dataPath
+          value: "$(context.pipelineRun.uid)/data.json"
+        - name: ociStorage
+          value: $(params.ociStorage)
+        - name: orasOptions
+          value: $(params.orasOptions)
+        - name: sourceDataArtifact
+          value: "$(tasks.setup.results.sourceDataArtifact)=$(params.dataDir)"
+        - name: dataDir
+          value: $(params.dataDir)
+        - name: trustedArtifactsDebug
+          value: $(params.trustedArtifactsDebug)
+        - name: taskGitUrl
+          value: "http://localhost"
+        - name: taskGitRevision
+          value: "main"
+      workspaces:
+        - name: data
+          workspace: tests-workspace
+      runAfter:
+        - setup
+    - name: check-result
+      params:
+        - name: secretName
+          value: $(tasks.run-task.results.secretName)
+        - name: retryAWSSecretName
+          value: $(tasks.run-task.results.retryAWSSecretName)
+      taskSpec:
+        params:
+          - name: secretName
+          - name: retryAWSSecretName
+        steps:
+          - name: check-result
+            image: quay.io/konflux-ci/release-service-utils:d320c36f3d707cd5bfe55fe783f70236c06cc2e5
+            env:
+              - name: "SECRET_NAME"
+                value: '$(params.secretName)'
+              - name: "RETRY_AWS_SECRET_NAME"
+                value: '$(params.retryAWSSecretName)'
+            script: |
+              #!/usr/bin/env bash
+              set -eux
+
+              test "$SECRET_NAME" = "some-other-secret-name"
+              test "$RETRY_AWS_SECRET_NAME" = "another-secret-name"


Reviews:
user: login: happybhati
state: DISMISSED
author_association: CONTRIBUTOR
submitted_at: 2025-05-01T23:18:07Z
user: login: mmalina
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-02T06:52:52Z
user: login: johnbieren
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-05T14:25:25Z
user: login: scoheb
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-05T21:02:10Z
user: login: scoheb
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-05T21:02:26Z
user: login: scoheb
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-05T21:02:34Z
user: login: scoheb
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-05T23:44:07Z
user: login: mmalina
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-05-06T07:34:14Z
user: login: johnbieren
state: APPROVED
author_association: COLLABORATOR
submitted_at: 2025-05-06T15:07:55Z

Review comments:
diff_hunk: @@ -139,14 +139,16 @@ spec:
         elif [ "$atlasServer" = "stage" ]; then
             bombasticApiUrl="https://sbom.atlas.release.stage.devshift.net"
             ssoTokenUrl="https://auth.stage.redhat.com/auth/realms/EmployeeIDP/protocol/openid-connect/token"
-            secretName="atlas-staging-sso-secret"
-            retryAWSSecretName="atlas-retry-s3-staging-secret"
+            secretName=$(jq -r '.atlas."atlas-sso-secret-name" // "atlas-staging-sso-secret"' "$DATA_FILE")
+            retryAWSSecretName=$(jq -r '.atlas."atlas-retry-aws-secret-name" // "atlas-retry-s3-staging-secret"' \
path: tasks/managed/collect-atlas-params/collect-atlas-params.yaml
user: login: mmalina
body: These should be added in the schema file.
created_at: 2025-05-02T06:52:52Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,162 @@
+---
+apiVersion: tekton.dev/v1
+kind: Pipeline
+metadata:
+  name: test-collect-atlas-params-stage
path: tasks/managed/collect-atlas-params/tests/test-collect-atlas-params-stage-custom-secret.yaml
user: login: johnbieren
body: doesn't match file name
created_at: 2025-05-05T14:24:24Z
author_association: COLLABORATOR
diff_hunk: @@ -0,0 +1,162 @@
+---
+apiVersion: tekton.dev/v1
+kind: Pipeline
+metadata:
+  name: test-collect-atlas-params-stage
+spec:
+  description: |
+    Run the collect-atlas-params task and verify the results.
path: tasks/managed/collect-atlas-params/tests/test-collect-atlas-params-stage-custom-secret.yaml
user: login: johnbieren
body: this is quite generic
created_at: 2025-05-05T14:24:32Z
author_association: COLLABORATOR
diff_hunk: @@ -0,0 +1,162 @@
+---
+apiVersion: tekton.dev/v1
+kind: Pipeline
+metadata:
+  name: test-collect-atlas-params-stage
+spec:
+  description: |
+    Run the collect-atlas-params task and verify the results.
+  params:
+    - name: ociStorage
+      description: The OCI repository where the Trusted Artifacts are stored.
+      type: string
+    - name: ociArtifactExpiresAfter
+      description: Expiration date for the trusted artifacts created in the
+        OCI repository. An empty string means the artifacts do not expire.
+      type: string
+      default: "1d"
+    - name: orasOptions
+      description: oras options to pass to Trusted Artifacts calls
+      type: string
+      default: "--insecure"
+    - name: trustedArtifactsDebug
+      description: Flag to enable debug logging in trusted artifacts. Set to a non-empty string to enable.
+      type: string
+      default: ""
+    - name: dataDir
+      description: The location where data will be stored
+      type: string
+  workspaces:
+    - name: tests-workspace
+  tasks:
+    - name: setup
+      workspaces:
+        - name: data
+          workspace: tests-workspace
+      taskSpec:
+        results:
+          - name: sourceDataArtifact
+            type: string
+        workspaces:
+          - name: data
+        volumes:
+          - name: workdir
+            emptyDir: {}
+        stepTemplate:
+          volumeMounts:
+            - mountPath: /var/workdir
+              name: workdir
+          env:
+            - name: IMAGE_EXPIRES_AFTER
+              value: $(params.ociArtifactExpiresAfter)
+            - name: "ORAS_OPTIONS"
+              value: "$(params.orasOptions)"
+            - name: "DEBUG"
+              value: "$(params.trustedArtifactsDebug)"
+        steps:
+          - name: setup-values
+            image: quay.io/konflux-ci/release-service-utils:d320c36f3d707cd5bfe55fe783f70236c06cc2e5
+            script: |
+              #!/usr/bin/env bash
+              set -eux
+
+              mkdir -p "$(params.dataDir)/$(context.pipelineRun.uid)"
+              cat > "$(params.dataDir)/$(context.pipelineRun.uid)/data.json" << EOF
+              {
+                "atlas": {
+                  "server": "stage",
+                  "atlas-sso-secret-name": "some-other-secret-name",
+                  "atlas-retry-aws-secret-name": "another-secret-name"
+                }
+              }
+              EOF
+          - name: skip-trusted-artifact-operations
+            ref:
+              name: skip-trusted-artifact-operations
+            params:
+              - name: ociStorage
+                value: $(params.ociStorage)
+              - name: workDir
+                value: $(params.dataDir)
+          - name: create-trusted-artifact
+            ref:
+              name: create-trusted-artifact
+            params:
+              - name: ociStorage
+                value: $(params.ociStorage)
+              - name: workDir
+                value: $(params.dataDir)
+              - name: sourceDataArtifact
+                value: $(results.sourceDataArtifact.path)
+          - name: patch-source-data-artifact-result
+            ref:
+              name: patch-source-data-artifact-result
+            params:
+              - name: ociStorage
+                value: $(params.ociStorage)
+              - name: sourceDataArtifact
+                value: $(results.sourceDataArtifact.path)
+    - name: run-task
+      taskRef:
+        name: collect-atlas-params
+      params:
+        - name: dataPath
+          value: "$(context.pipelineRun.uid)/data.json"
+        - name: ociStorage
+          value: $(params.ociStorage)
+        - name: orasOptions
+          value: $(params.orasOptions)
+        - name: sourceDataArtifact
+          value: "$(tasks.setup.results.sourceDataArtifact)=$(params.dataDir)"
+        - name: dataDir
+          value: $(params.dataDir)
+        - name: trustedArtifactsDebug
+          value: $(params.trustedArtifactsDebug)
+        - name: taskGitUrl
+          value: "http://localhost"
+        - name: taskGitRevision
+          value: "main"
+      workspaces:
+        - name: data
+          workspace: tests-workspace
+      runAfter:
+        - setup
+    - name: check-result
+      params:
+        - name: secretName
+          value: $(tasks.run-task.results.secretName)
+        - name: ssoTokenUrl
+          value: $(tasks.run-task.results.ssoTokenUrl)
+        - name: bombasticApiUrl
+          value: $(tasks.run-task.results.bombasticApiUrl)
+        - name: retryAWSSecretName
+          value: $(tasks.run-task.results.retryAWSSecretName)
+        - name: retryS3Bucket
+          value: $(tasks.run-task.results.retryS3Bucket)
+      taskSpec:
+        params:
+          - name: secretName
+          - name: ssoTokenUrl
+          - name: bombasticApiUrl
+          - name: retryAWSSecretName
+          - name: retryS3Bucket
+        steps:
+          - name: check-result
+            image: quay.io/konflux-ci/release-service-utils:d320c36f3d707cd5bfe55fe783f70236c06cc2e5
+            env:
path: tasks/managed/collect-atlas-params/tests/test-collect-atlas-params-stage-custom-secret.yaml
user: login: johnbieren
body: why inject 5 variables if only 2 are examined?
created_at: 2025-05-05T14:25:23Z
author_association: COLLABORATOR
diff_hunk: @@ -139,14 +139,16 @@ spec:
         elif [ "$atlasServer" = "stage" ]; then
             bombasticApiUrl="https://sbom.atlas.release.stage.devshift.net"
             ssoTokenUrl="https://auth.stage.redhat.com/auth/realms/EmployeeIDP/protocol/openid-connect/token"
-            secretName="atlas-staging-sso-secret"
-            retryAWSSecretName="atlas-retry-s3-staging-secret"
+            secretName=$(jq -r '.atlas."atlas-sso-secret-name" // "atlas-staging-sso-secret"' "$DATA_FILE")
+            retryAWSSecretName=$(jq -r '.atlas."atlas-retry-aws-secret-name" // "atlas-retry-s3-staging-secret"' \
path: tasks/managed/collect-atlas-params/collect-atlas-params.yaml
user: login: scoheb
body: added to schema
created_at: 2025-05-05T21:02:10Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,162 @@
+---
+apiVersion: tekton.dev/v1
+kind: Pipeline
+metadata:
+  name: test-collect-atlas-params-stage
+spec:
+  description: |
+    Run the collect-atlas-params task and verify the results.
path: tasks/managed/collect-atlas-params/tests/test-collect-atlas-params-stage-custom-secret.yaml
user: login: scoheb
body: it was a copy/paste. I updated it.
created_at: 2025-05-05T21:02:26Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,162 @@
+---
+apiVersion: tekton.dev/v1
+kind: Pipeline
+metadata:
+  name: test-collect-atlas-params-stage
+spec:
+  description: |
+    Run the collect-atlas-params task and verify the results.
+  params:
+    - name: ociStorage
+      description: The OCI repository where the Trusted Artifacts are stored.
+      type: string
+    - name: ociArtifactExpiresAfter
+      description: Expiration date for the trusted artifacts created in the
+        OCI repository. An empty string means the artifacts do not expire.
+      type: string
+      default: "1d"
+    - name: orasOptions
+      description: oras options to pass to Trusted Artifacts calls
+      type: string
+      default: "--insecure"
+    - name: trustedArtifactsDebug
+      description: Flag to enable debug logging in trusted artifacts. Set to a non-empty string to enable.
+      type: string
+      default: ""
+    - name: dataDir
+      description: The location where data will be stored
+      type: string
+  workspaces:
+    - name: tests-workspace
+  tasks:
+    - name: setup
+      workspaces:
+        - name: data
+          workspace: tests-workspace
+      taskSpec:
+        results:
+          - name: sourceDataArtifact
+            type: string
+        workspaces:
+          - name: data
+        volumes:
+          - name: workdir
+            emptyDir: {}
+        stepTemplate:
+          volumeMounts:
+            - mountPath: /var/workdir
+              name: workdir
+          env:
+            - name: IMAGE_EXPIRES_AFTER
+              value: $(params.ociArtifactExpiresAfter)
+            - name: "ORAS_OPTIONS"
+              value: "$(params.orasOptions)"
+            - name: "DEBUG"
+              value: "$(params.trustedArtifactsDebug)"
+        steps:
+          - name: setup-values
+            image: quay.io/konflux-ci/release-service-utils:d320c36f3d707cd5bfe55fe783f70236c06cc2e5
+            script: |
+              #!/usr/bin/env bash
+              set -eux
+
+              mkdir -p "$(params.dataDir)/$(context.pipelineRun.uid)"
+              cat > "$(params.dataDir)/$(context.pipelineRun.uid)/data.json" << EOF
+              {
+                "atlas": {
+                  "server": "stage",
+                  "atlas-sso-secret-name": "some-other-secret-name",
+                  "atlas-retry-aws-secret-name": "another-secret-name"
+                }
+              }
+              EOF
+          - name: skip-trusted-artifact-operations
+            ref:
+              name: skip-trusted-artifact-operations
+            params:
+              - name: ociStorage
+                value: $(params.ociStorage)
+              - name: workDir
+                value: $(params.dataDir)
+          - name: create-trusted-artifact
+            ref:
+              name: create-trusted-artifact
+            params:
+              - name: ociStorage
+                value: $(params.ociStorage)
+              - name: workDir
+                value: $(params.dataDir)
+              - name: sourceDataArtifact
+                value: $(results.sourceDataArtifact.path)
+          - name: patch-source-data-artifact-result
+            ref:
+              name: patch-source-data-artifact-result
+            params:
+              - name: ociStorage
+                value: $(params.ociStorage)
+              - name: sourceDataArtifact
+                value: $(results.sourceDataArtifact.path)
+    - name: run-task
+      taskRef:
+        name: collect-atlas-params
+      params:
+        - name: dataPath
+          value: "$(context.pipelineRun.uid)/data.json"
+        - name: ociStorage
+          value: $(params.ociStorage)
+        - name: orasOptions
+          value: $(params.orasOptions)
+        - name: sourceDataArtifact
+          value: "$(tasks.setup.results.sourceDataArtifact)=$(params.dataDir)"
+        - name: dataDir
+          value: $(params.dataDir)
+        - name: trustedArtifactsDebug
+          value: $(params.trustedArtifactsDebug)
+        - name: taskGitUrl
+          value: "http://localhost"
+        - name: taskGitRevision
+          value: "main"
+      workspaces:
+        - name: data
+          workspace: tests-workspace
+      runAfter:
+        - setup
+    - name: check-result
+      params:
+        - name: secretName
+          value: $(tasks.run-task.results.secretName)
+        - name: ssoTokenUrl
+          value: $(tasks.run-task.results.ssoTokenUrl)
+        - name: bombasticApiUrl
+          value: $(tasks.run-task.results.bombasticApiUrl)
+        - name: retryAWSSecretName
+          value: $(tasks.run-task.results.retryAWSSecretName)
+        - name: retryS3Bucket
+          value: $(tasks.run-task.results.retryS3Bucket)
+      taskSpec:
+        params:
+          - name: secretName
+          - name: ssoTokenUrl
+          - name: bombasticApiUrl
+          - name: retryAWSSecretName
+          - name: retryS3Bucket
+        steps:
+          - name: check-result
+            image: quay.io/konflux-ci/release-service-utils:d320c36f3d707cd5bfe55fe783f70236c06cc2e5
+            env:
path: tasks/managed/collect-atlas-params/tests/test-collect-atlas-params-stage-custom-secret.yaml
user: login: scoheb
body: true. corrected.
created_at: 2025-05-05T21:02:34Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,162 @@
+---
+apiVersion: tekton.dev/v1
+kind: Pipeline
+metadata:
+  name: test-collect-atlas-params-stage
path: tasks/managed/collect-atlas-params/tests/test-collect-atlas-params-stage-custom-secret.yaml
user: login: scoheb
body: fixed
created_at: 2025-05-05T23:44:07Z
author_association: MEMBER

PR comments:
user: login: scoheb
created_at: 2025-05-02T01:05:16Z
body: /retest
author_association: MEMBER
user: login: happybhati
created_at: 2025-05-06T11:46:43Z
body: /retest
author_association: CONTRIBUTOR
user: login: openshift-ci[bot]
created_at: 2025-05-06T15:12:34Z
body: New changes are detected. LGTM label has been removed.
author_association: NONE