diff --git a/.changeset/happy-peas-hunt.md b/.changeset/happy-peas-hunt.md new file mode 100644 index 0000000000..8fbac9c33a --- /dev/null +++ b/.changeset/happy-peas-hunt.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kubernetes-backend': patch +--- + +The `/clusters` API now surfaces cluster titles. diff --git a/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts b/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts index 5d19c6d94d..295d11570f 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts @@ -278,6 +278,32 @@ describe('API integration tests', () => { ], }); }); + + it('surfaces cluster title', async () => { + const { server } = await startTestBackend({ + features: [ + minimalValidConfigService, + import('@backstage/plugin-kubernetes-backend/alpha'), + withClusters([ + { + name: 'cluster-name', + title: 'cluster-title', + url: 'url', + authMetadata: { + [ANNOTATION_KUBERNETES_AUTH_PROVIDER]: 'serviceAccount', + }, + }, + ]), + ], + }); + app = server; + + const response = await request(app).get('/api/kubernetes/clusters'); + + expect(response.body).toEqual({ + items: [expect.objectContaining({ title: 'cluster-title' })], + }); + }); }); describe('post /services/:serviceId', () => { diff --git a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts index 8cc9b8a8b6..fec4bc5cc0 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts @@ -381,6 +381,7 @@ export class KubernetesBuilder { return { name: cd.name, + title: cd.title, dashboardUrl: cd.dashboardUrl, authProvider, ...(oidcTokenProvider && { oidcTokenProvider }),