From df40b067e11a015666d18c11b2247c8d86a3fee9 Mon Sep 17 00:00:00 2001 From: Jenson3210 Date: Mon, 6 Nov 2023 22:13:59 +0100 Subject: [PATCH] Kubernetes: Resource quotas as default objects (#20951) * Fixed the lack of `resourcequotas` Signed-off-by: Jente Sondervorst * Fixed the lack of `resourcequotas` Signed-off-by: Jente Sondervorst * Fixed the lack of `resourcequotas` Signed-off-by: Jente Sondervorst * Fixed the lack of `resourcequotas` Signed-off-by: Jente Sondervorst --------- Signed-off-by: Jente Sondervorst --- .changeset/strange-taxis-explode.md | 6 ++++++ .github/vale/Vocab/Backstage/accept.txt | 17 +++++++++-------- docs/features/kubernetes/configuration.md | 2 ++ plugins/kubernetes-backend/api-report.md | 1 + .../src/service/KubernetesFanOutHandler.ts | 6 ++++++ plugins/kubernetes-backend/src/types/types.ts | 1 + plugins/kubernetes-common/api-report.md | 10 ++++++++++ plugins/kubernetes-common/src/types.ts | 8 ++++++++ 8 files changed, 43 insertions(+), 8 deletions(-) create mode 100644 .changeset/strange-taxis-explode.md diff --git a/.changeset/strange-taxis-explode.md b/.changeset/strange-taxis-explode.md new file mode 100644 index 0000000000..41bcf1895c --- /dev/null +++ b/.changeset/strange-taxis-explode.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-kubernetes-backend': patch +'@backstage/plugin-kubernetes-common': patch +--- + +Fixed the lack of `resourcequotas` as part of the Default Objects to fetch from the kubernetes api diff --git a/.github/vale/Vocab/Backstage/accept.txt b/.github/vale/Vocab/Backstage/accept.txt index 49dd7007ba..73f6d56bb4 100644 --- a/.github/vale/Vocab/Backstage/accept.txt +++ b/.github/vale/Vocab/Backstage/accept.txt @@ -107,6 +107,7 @@ dynatrace Dynatrace ecco elasticsearch +Entra env Env esbuild @@ -196,10 +197,12 @@ Leasot lerna Lerna lightbox +Lightsail limitranges LocalStack lockdown lockfile +lookbehind lunr Luxon magiclink @@ -285,6 +288,7 @@ Podman posix postgres postpack +PR pre prebaked preconfigured @@ -292,11 +296,12 @@ prepack Preprarer productional Protobuf -proxying proxied +proxying Proxying pseudonymized pubsub +Pulumi pygments pymdownx rankdir @@ -304,6 +309,7 @@ readme Readme readonly rebase +rebasing Recharts Redash replicasets @@ -312,6 +318,7 @@ Repo repos rerender rerenders +resourcequotas reusability Reusability roadmaps @@ -425,8 +432,8 @@ unregistration untracked upsert upvote -url URIs +url URLs utils Valentina @@ -455,9 +462,3 @@ zod Zolotusky zoomable zsh -Pulumi -Lightsail -PR -rebasing -lookbehind -Entra \ No newline at end of file diff --git a/docs/features/kubernetes/configuration.md b/docs/features/kubernetes/configuration.md index b31c69eac1..07e3a8a828 100644 --- a/docs/features/kubernetes/configuration.md +++ b/docs/features/kubernetes/configuration.md @@ -452,6 +452,7 @@ Overrides for the Kubernetes object types fetched from the cluster. The default - services - configmaps - limitranges +- resourcequotas - deployments - replicasets - horizontalpodautoscalers @@ -504,6 +505,7 @@ rules: - ingresses - statefulsets - limitranges + - resourcequotas - daemonsets verbs: - get diff --git a/plugins/kubernetes-backend/api-report.md b/plugins/kubernetes-backend/api-report.md index a6fa50848d..0ed5a31d9d 100644 --- a/plugins/kubernetes-backend/api-report.md +++ b/plugins/kubernetes-backend/api-report.md @@ -341,6 +341,7 @@ export type KubernetesObjectTypes = | 'configmaps' | 'deployments' | 'limitranges' + | 'resourcequotas' | 'replicasets' | 'horizontalpodautoscalers' | 'jobs' diff --git a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts index 02f7ab86df..3ea06e061e 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts @@ -78,6 +78,12 @@ export const DEFAULT_OBJECTS: ObjectToFetch[] = [ plural: 'limitranges', objectType: 'limitranges', }, + { + group: '', + apiVersion: 'v1', + plural: 'resourcequotas', + objectType: 'resourcequotas', + }, { group: 'apps', apiVersion: 'v1', diff --git a/plugins/kubernetes-backend/src/types/types.ts b/plugins/kubernetes-backend/src/types/types.ts index fa7d4f9e60..597984591f 100644 --- a/plugins/kubernetes-backend/src/types/types.ts +++ b/plugins/kubernetes-backend/src/types/types.ts @@ -95,6 +95,7 @@ export type KubernetesObjectTypes = | 'configmaps' | 'deployments' | 'limitranges' + | 'resourcequotas' | 'replicasets' | 'horizontalpodautoscalers' | 'jobs' diff --git a/plugins/kubernetes-common/api-report.md b/plugins/kubernetes-common/api-report.md index acf2e12bb2..abd340f368 100644 --- a/plugins/kubernetes-common/api-report.md +++ b/plugins/kubernetes-common/api-report.md @@ -20,6 +20,7 @@ import { V1Job } from '@kubernetes/client-node'; import { V1LimitRange } from '@kubernetes/client-node'; import { V1Pod } from '@kubernetes/client-node'; import { V1ReplicaSet } from '@kubernetes/client-node'; +import { V1ResourceQuota } from '@kubernetes/client-node'; import { V1Service } from '@kubernetes/client-node'; import { V1StatefulSet } from '@kubernetes/client-node'; @@ -249,6 +250,7 @@ export type FetchResponse = | ConfigMapFetchResponse | DeploymentFetchResponse | LimitRangeFetchResponse + | ResourceQuotaFetchResponse | ReplicaSetsFetchResponse | HorizontalPodAutoscalersFetchResponse | JobsFetchResponse @@ -403,6 +405,14 @@ export interface ReplicaSetsFetchResponse { type: 'replicasets'; } +// @public (undocumented) +export interface ResourceQuotaFetchResponse { + // (undocumented) + resources: Array; + // (undocumented) + type: 'resourcequotas'; +} + // @public export interface ResourceRef { // (undocumented) diff --git a/plugins/kubernetes-common/src/types.ts b/plugins/kubernetes-common/src/types.ts index 9f8d5eed82..c9a4ce4c5a 100644 --- a/plugins/kubernetes-common/src/types.ts +++ b/plugins/kubernetes-common/src/types.ts @@ -27,6 +27,7 @@ import { V1LimitRange, V1Pod, V1ReplicaSet, + V1ResourceQuota, V1Service, V1StatefulSet, } from '@kubernetes/client-node'; @@ -125,6 +126,7 @@ export type FetchResponse = | ConfigMapFetchResponse | DeploymentFetchResponse | LimitRangeFetchResponse + | ResourceQuotaFetchResponse | ReplicaSetsFetchResponse | HorizontalPodAutoscalersFetchResponse | JobsFetchResponse @@ -171,6 +173,12 @@ export interface LimitRangeFetchResponse { resources: Array; } +/** @public */ +export interface ResourceQuotaFetchResponse { + type: 'resourcequotas'; + resources: Array; +} + /** @public */ export interface HorizontalPodAutoscalersFetchResponse { type: 'horizontalpodautoscalers';