From c2a96b5d8e68274bafd32695d4fcdb5b7decd403 Mon Sep 17 00:00:00 2001 From: Dan Pock Date: Thu, 13 Jun 2024 13:05:21 -0400 Subject: [PATCH 1/2] Add default fleet label for BRO Add fleet managed label to ensure secrets created in Rancher's fleet UI get backed up by BRO --- shell/edit/fleet.cattle.io.gitrepo.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/shell/edit/fleet.cattle.io.gitrepo.vue b/shell/edit/fleet.cattle.io.gitrepo.vue index 0efbffcf4c4..89f404e09e9 100644 --- a/shell/edit/fleet.cattle.io.gitrepo.vue +++ b/shell/edit/fleet.cattle.io.gitrepo.vue @@ -22,7 +22,7 @@ import { base64Decode, base64Encode } from '@shell/utils/crypto'; import SelectOrCreateAuthSecret from '@shell/components/form/SelectOrCreateAuthSecret'; import { _CREATE } from '@shell/config/query-params'; import { isHarvesterCluster } from '@shell/utils/cluster'; -import { CAPI, CATALOG } from '@shell/config/labels-annotations'; +import { CAPI, CATALOG, FLEET as FLEET_LABELS } from '@shell/config/labels-annotations'; import { SECRET_TYPES } from '@shell/config/secret'; import { checkSchemasForFindAllHash } from '@shell/utils/auth'; import Checkbox from '@components/Form/Checkbox/Checkbox.vue'; @@ -413,8 +413,9 @@ export default { type: SECRET, metadata: { namespace: this.value.metadata.namespace, - generateName: 'auth-' - }, + generateName: 'auth-', + labels: { [FLEET_LABELS.MANAGED]: 'true' } + } }); let type, publicField, privateField; From 814b509cadb44945f8b9cc1574e615508a4565d4 Mon Sep 17 00:00:00 2001 From: Dan Pock Date: Thu, 13 Jun 2024 13:10:07 -0400 Subject: [PATCH 2/2] Verify that UI is setting expected label on secret --- cypress/e2e/tests/pages/fleet/gitrepo.spec.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cypress/e2e/tests/pages/fleet/gitrepo.spec.ts b/cypress/e2e/tests/pages/fleet/gitrepo.spec.ts index 8c7e309c7d1..f5bdcf3f8b1 100644 --- a/cypress/e2e/tests/pages/fleet/gitrepo.spec.ts +++ b/cypress/e2e/tests/pages/fleet/gitrepo.spec.ts @@ -34,11 +34,17 @@ describe('Git Repo', { tags: ['@fleet', '@adminUser'] }, () => { it('Should be able to create a git repo', () => { // First request is for creating credentials let secretName = ''; + let requestLabels = null; + let secretLabels = null; cy.wait('@interceptAllRequests0').then(({ request, response }) => { + requestLabels = request.body.metadata.labels; + expect(requestLabels).to.be.an('object').and.to.have.property('fleet.cattle.io/managed').that.equals('true'); expect(response.statusCode).to.eq(201); secretName = response.body.metadata.name; + secretLabels = response.body.metadata.labels; expect(secretName).not.to.eq(''); + expect(secretLabels).to.be.an('object').and.to.have.property('fleet.cattle.io/managed').that.equals('true'); }); // Second request is for creating the git repo