Allow passing undefined labelSelector to KubernetesFetcher

Signed-off-by: Tomasz Szuba <tszuba@box.com>
This commit is contained in:
Tomasz Szuba
2023-10-11 16:53:49 +02:00
parent b2cf056060
commit ae943c3bb1
5 changed files with 24 additions and 17 deletions
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/plugin-kubernetes-backend': minor
---
**BREAKING** Allow passing undefined `labelSelector` to `KubernetesFetcher`
`KubernetesFetch` no longer auto-adds `labelSelector` when empty string was passed.
This is only applicable if you have custom ObjectProvider implementation, as build-in `KubernetesFanOutHandler` already does this
+1 -1
View File
@@ -391,7 +391,7 @@ export interface ObjectFetchParams {
// (undocumented)
customResources: CustomResource[];
// (undocumented)
labelSelector: string;
labelSelector?: string;
// (undocumented)
namespace?: string;
// (undocumented)
@@ -165,7 +165,7 @@ describe('KubernetesFetcher', () => {
{
metadata: {
name: 'pod-name',
labels: { 'backstage.io/kubernetes-id': 'some-service' },
labels: {},
},
},
],
@@ -226,7 +226,7 @@ describe('KubernetesFetcher', () => {
{
metadata: {
name: 'pod-name',
labels: { 'backstage.io/kubernetes-id': 'some-service' },
labels: {},
},
},
],
@@ -237,7 +237,7 @@ describe('KubernetesFetcher', () => {
{
metadata: {
name: 'service-name',
labels: { 'backstage.io/kubernetes-id': 'some-service' },
labels: {},
},
},
],
@@ -289,7 +289,7 @@ describe('KubernetesFetcher', () => {
{
metadata: {
name: 'service-name',
labels: { 'backstage.io/kubernetes-id': 'some-service' },
labels: {},
},
},
],
@@ -339,7 +339,7 @@ describe('KubernetesFetcher', () => {
{
metadata: {
name: 'pod-name',
labels: { 'backstage.io/kubernetes-id': 'some-service' },
labels: {},
},
},
],
@@ -350,7 +350,7 @@ describe('KubernetesFetcher', () => {
{
metadata: {
name: 'service-name',
labels: { 'backstage.io/kubernetes-id': 'some-service' },
labels: {},
},
},
],
@@ -420,7 +420,7 @@ describe('KubernetesFetcher', () => {
{
metadata: {
name: 'pod-name',
labels: { 'backstage.io/kubernetes-id': 'some-service' },
labels: {},
},
},
],
@@ -431,7 +431,7 @@ describe('KubernetesFetcher', () => {
{
metadata: {
name: 'service-name',
labels: { 'backstage.io/kubernetes-id': 'some-service' },
labels: {},
},
},
],
@@ -443,7 +443,7 @@ describe('KubernetesFetcher', () => {
kind: 'Thing',
metadata: {
name: 'something-else',
labels: { 'backstage.io/kubernetes-id': 'some-service' },
labels: {},
},
},
],
@@ -511,7 +511,7 @@ describe('KubernetesFetcher', () => {
{
metadata: {
name: 'pod-name',
labels: { 'backstage.io/kubernetes-id': 'some-service' },
labels: {},
},
},
],
@@ -861,7 +861,7 @@ describe('KubernetesFetcher', () => {
{
metadata: {
name: 'pod-name',
labels: { 'backstage.io/kubernetes-id': 'some-service' },
labels: {},
},
},
],
@@ -872,7 +872,7 @@ describe('KubernetesFetcher', () => {
{
metadata: {
name: 'service-name',
labels: { 'backstage.io/kubernetes-id': 'some-service' },
labels: {},
},
},
],
@@ -956,7 +956,7 @@ describe('KubernetesFetcher', () => {
{
metadata: {
name: 'pod-name',
labels: { 'backstage.io/kubernetes-id': 'some-service' },
labels: {},
},
},
],
@@ -101,8 +101,7 @@ export class KubernetesClientBasedFetcher implements KubernetesFetcher {
apiVersion,
plural,
params.namespace,
params.labelSelector ||
`backstage.io/kubernetes-id=${params.serviceId}`,
params.labelSelector,
).then(
(r: Response): Promise<FetchResult> =>
r.ok
@@ -35,7 +35,7 @@ export interface ObjectFetchParams {
clusterDetails: ClusterDetails;
credential: KubernetesCredential;
objectTypesToFetch: Set<ObjectToFetch>;
labelSelector: string;
labelSelector?: string;
customResources: CustomResource[];
namespace?: string;
}