From 272d96055077f1cee2420a35d61a6df2b32a8eb3 Mon Sep 17 00:00:00 2001 From: Fidel Coria Date: Fri, 19 Feb 2021 17:05:18 -0600 Subject: [PATCH 1/4] load k8s info with only label selector query [Docs](https://backstage.io/docs/features/kubernetes/configuration#surfacing-your-kubernetes-components-as-part-of-an-entity) say `label selector takes precedence over the annotation/service id.` but ``` annotations: 'backstage.io/kubernetes-id': dice-roller ``` is always required. updated logic to allow for only label selector (without backstage.io/kubernetes-id) --- plugins/kubernetes/src/Router.tsx | 28 ++++++++++++++++++---------- yarn.lock | 3 +-- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/plugins/kubernetes/src/Router.tsx b/plugins/kubernetes/src/Router.tsx index 36851b3c46..5197e4811d 100644 --- a/plugins/kubernetes/src/Router.tsx +++ b/plugins/kubernetes/src/Router.tsx @@ -23,6 +23,8 @@ import { KubernetesContent } from './components/KubernetesContent'; import { MissingAnnotationEmptyState } from '@backstage/core'; const KUBERNETES_ANNOTATION = 'backstage.io/kubernetes-id'; +const KUBERNETES_LABEL_SELECTOR_QUERY_ANNOTATION = + 'backstage.io/kubernetes-label-selector'; type Props = { /** @deprecated The entity is now grabbed from context instead */ @@ -35,16 +37,22 @@ export const Router = (_props: Props) => { const kubernetesAnnotationValue = entity.metadata.annotations?.[KUBERNETES_ANNOTATION]; - if (!kubernetesAnnotationValue) { - return ; + const kubernetesLabelSelectorQueryAnnotationValue = + entity.metadata.annotations?.[KUBERNETES_LABEL_SELECTOR_QUERY_ANNOTATION]; + + if ( + kubernetesAnnotationValue || + kubernetesLabelSelectorQueryAnnotationValue + ) { + return ( + + } + /> + + ); } - return ( - - } - /> - - ); + return ; }; diff --git a/yarn.lock b/yarn.lock index c32766faa3..90e7e8bb14 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1874,7 +1874,6 @@ "@backstage/catalog-model" "^0.7.1" "@backstage/core" "^0.6.2" "@backstage/plugin-catalog-react" "^0.0.4" - "@backstage/plugin-scaffolder" "^0.5.1" "@backstage/theme" "^0.2.3" "@material-ui/core" "^4.11.0" "@material-ui/icons" "^4.9.1" @@ -18238,7 +18237,7 @@ modify-values@^1.0.0: resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== -moment@^2.19.3, moment@^2.25.3, moment@^2.26.0, moment@^2.27.0: +moment@^2.19.3, moment@^2.25.3, moment@^2.27.0: version "2.29.1" resolved "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== From ba21797ca58b18678b155c4f7e0c8b12685e91de Mon Sep 17 00:00:00 2001 From: Fidel Coria Date: Fri, 19 Feb 2021 17:10:39 -0600 Subject: [PATCH 2/4] add changeset --- .changeset/afraid-weeks-sort.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/afraid-weeks-sort.md diff --git a/.changeset/afraid-weeks-sort.md b/.changeset/afraid-weeks-sort.md new file mode 100644 index 0000000000..c5ec608daf --- /dev/null +++ b/.changeset/afraid-weeks-sort.md @@ -0,0 +1,7 @@ +--- +'@backstage/plugin-kubernetes': patch +--- + +k8s plugin now surfaces k8s components with only label selector query annotation. +Previously backstage.io/kubernetes-label-selector catalog entity annotation would only work if you also included backstage.io/kubernetes-id. +But backstage.io/kubernetes-id value was ignored From 7ad5ad88421ebc844e88070ed9722cee13b3101c Mon Sep 17 00:00:00 2001 From: Fidel Coria Date: Tue, 23 Feb 2021 09:12:50 -0600 Subject: [PATCH 3/4] add link to k8s docs on Missing Annotation page --- plugins/kubernetes/src/Router.tsx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/plugins/kubernetes/src/Router.tsx b/plugins/kubernetes/src/Router.tsx index 5197e4811d..838bfef60a 100644 --- a/plugins/kubernetes/src/Router.tsx +++ b/plugins/kubernetes/src/Router.tsx @@ -21,6 +21,7 @@ import { Route, Routes } from 'react-router-dom'; import { rootCatalogKubernetesRouteRef } from './plugin'; import { KubernetesContent } from './components/KubernetesContent'; import { MissingAnnotationEmptyState } from '@backstage/core'; +import { Button } from '@material-ui/core'; const KUBERNETES_ANNOTATION = 'backstage.io/kubernetes-id'; const KUBERNETES_LABEL_SELECTOR_QUERY_ANNOTATION = @@ -54,5 +55,20 @@ export const Router = (_props: Props) => { ); } - return ; + return ( + <> + +

+ Or use a label selector query, which takes precedence over the previous + annotation. +

+ + + ); }; From e58eb67b5540db2eea85fe4a3cc2e7c47e7bee91 Mon Sep 17 00:00:00 2001 From: Fidel Coria Date: Tue, 23 Feb 2021 10:29:53 -0600 Subject: [PATCH 4/4] revert yarn.lock chage --- yarn.lock | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/yarn.lock b/yarn.lock index c13dad3caa..815916312c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1880,29 +1880,7 @@ remark-gfm "^1.0.0" zen-observable "^0.8.15" -"@backstage/plugin-catalog@^0.2.1": - version "0.4.0" - dependencies: - "@backstage/catalog-client" "^0.3.6" - "@backstage/catalog-model" "^0.7.2" - "@backstage/core" "^0.6.3" - "@backstage/plugin-catalog-react" "^0.1.0" - "@backstage/theme" "^0.2.3" - "@material-ui/core" "^4.11.0" - "@material-ui/icons" "^4.9.1" - "@material-ui/lab" "4.0.0-alpha.45" - "@types/react" "^16.9" - classnames "^2.2.6" - git-url-parse "^11.4.4" - react "^16.13.1" - react-dom "^16.13.1" - react-helmet "6.1.0" - react-router "6.0.0-beta.0" - react-router-dom "6.0.0-beta.0" - react-use "^15.3.3" - swr "^0.3.0" - -"@backstage/plugin-catalog@^0.3.1": +"@backstage/plugin-catalog@^0.2.1", "@backstage/plugin-catalog@^0.3.1": version "0.4.0" dependencies: "@backstage/catalog-client" "^0.3.6"