@backstage/plugin-kubernetes-react 0.5.13 → 0.5.14-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/alpha.d.ts +77 -0
- package/dist/components/Cluster/Cluster.esm.js +6 -9
- package/dist/components/Cluster/Cluster.esm.js.map +1 -1
- package/dist/components/ConfigmapsAccordions/ConfigmapsDrawer.esm.js +10 -1
- package/dist/components/ConfigmapsAccordions/ConfigmapsDrawer.esm.js.map +1 -1
- package/dist/components/CronJobsAccordions/CronJobsDrawer.esm.js +10 -1
- package/dist/components/CronJobsAccordions/CronJobsDrawer.esm.js.map +1 -1
- package/dist/components/CustomResources/ArgoRollouts/Rollout.esm.js +15 -27
- package/dist/components/CustomResources/ArgoRollouts/Rollout.esm.js.map +1 -1
- package/dist/components/CustomResources/ArgoRollouts/RolloutDrawer.esm.js +10 -1
- package/dist/components/CustomResources/ArgoRollouts/RolloutDrawer.esm.js.map +1 -1
- package/dist/components/CustomResources/DefaultCustomResourceDrawer.esm.js +2 -0
- package/dist/components/CustomResources/DefaultCustomResourceDrawer.esm.js.map +1 -1
- package/dist/components/DaemonSetsAccordions/DaemonSetsAccordions.esm.js +5 -10
- package/dist/components/DaemonSetsAccordions/DaemonSetsAccordions.esm.js.map +1 -1
- package/dist/components/DaemonSetsAccordions/DaemonSetsDrawer.esm.js +10 -1
- package/dist/components/DaemonSetsAccordions/DaemonSetsDrawer.esm.js.map +1 -1
- package/dist/components/DeploymentsAccordions/DeploymentDrawer.esm.js +10 -1
- package/dist/components/DeploymentsAccordions/DeploymentDrawer.esm.js.map +1 -1
- package/dist/components/DeploymentsAccordions/DeploymentsAccordions.esm.js +15 -27
- package/dist/components/DeploymentsAccordions/DeploymentsAccordions.esm.js.map +1 -1
- package/dist/components/ErrorPanel/ErrorPanel.esm.js +37 -20
- package/dist/components/ErrorPanel/ErrorPanel.esm.js.map +1 -1
- package/dist/components/ErrorReporting/ErrorReporting.esm.js +41 -34
- package/dist/components/ErrorReporting/ErrorReporting.esm.js.map +1 -1
- package/dist/components/HorizontalPodAutoscalers/HorizontalPodAutoscalerDrawer.esm.js +2 -0
- package/dist/components/HorizontalPodAutoscalers/HorizontalPodAutoscalerDrawer.esm.js.map +1 -1
- package/dist/components/IngressesAccordions/IngressDrawer.esm.js +4 -1
- package/dist/components/IngressesAccordions/IngressDrawer.esm.js.map +1 -1
- package/dist/components/JobsAccordions/JobsAccordions.esm.js +2 -0
- package/dist/components/JobsAccordions/JobsAccordions.esm.js.map +1 -1
- package/dist/components/JobsAccordions/JobsDrawer.esm.js +2 -0
- package/dist/components/JobsAccordions/JobsDrawer.esm.js.map +1 -1
- package/dist/components/KubernetesDialog/KubernetesDialog.esm.js +4 -1
- package/dist/components/KubernetesDialog/KubernetesDialog.esm.js.map +1 -1
- package/dist/components/KubernetesDrawer/KubernetesDrawer.esm.js +6 -3
- package/dist/components/KubernetesDrawer/KubernetesDrawer.esm.js.map +1 -1
- package/dist/components/KubernetesDrawer/KubernetesStructuredMetadataTableDrawer.esm.js +25 -15
- package/dist/components/KubernetesDrawer/KubernetesStructuredMetadataTableDrawer.esm.js.map +1 -1
- package/dist/components/KubernetesDrawer/ManifestYaml.esm.js +5 -2
- package/dist/components/KubernetesDrawer/ManifestYaml.esm.js.map +1 -1
- package/dist/components/PodExecTerminal/PodExecTerminalDialog.esm.js +10 -3
- package/dist/components/PodExecTerminal/PodExecTerminalDialog.esm.js.map +1 -1
- package/dist/components/Pods/Events/Events.esm.js +4 -1
- package/dist/components/Pods/Events/Events.esm.js.map +1 -1
- package/dist/components/Pods/FixDialog/FixDialog.esm.js +26 -16
- package/dist/components/Pods/FixDialog/FixDialog.esm.js.map +1 -1
- package/dist/components/Pods/PodDrawer/ContainerCard.esm.js +8 -5
- package/dist/components/Pods/PodDrawer/ContainerCard.esm.js.map +1 -1
- package/dist/components/Pods/PodDrawer/PodDrawer.esm.js +8 -5
- package/dist/components/Pods/PodDrawer/PodDrawer.esm.js.map +1 -1
- package/dist/components/Pods/PodLogs/PodLogs.esm.js +5 -2
- package/dist/components/Pods/PodLogs/PodLogs.esm.js.map +1 -1
- package/dist/components/Pods/PodLogs/PodLogsDialog.esm.js +10 -3
- package/dist/components/Pods/PodLogs/PodLogsDialog.esm.js.map +1 -1
- package/dist/components/Pods/PodsTable.esm.js +30 -25
- package/dist/components/Pods/PodsTable.esm.js.map +1 -1
- package/dist/components/ServicesAccordions/ServiceDrawer.esm.js +4 -1
- package/dist/components/ServicesAccordions/ServiceDrawer.esm.js.map +1 -1
- package/dist/components/StatefulSetsAccordions/StatefulSetDrawer.esm.js +4 -1
- package/dist/components/StatefulSetsAccordions/StatefulSetDrawer.esm.js.map +1 -1
- package/dist/components/StatefulSetsAccordions/StatefulSetsAccordions.esm.js +14 -14
- package/dist/components/StatefulSetsAccordions/StatefulSetsAccordions.esm.js.map +1 -1
- package/dist/translation.esm.js +113 -0
- package/dist/translation.esm.js.map +1 -1
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PodsTable.esm.js","sources":["../../../src/components/Pods/PodsTable.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ReactNode, useContext } from 'react';\nimport { PodDrawer } from './PodDrawer';\nimport {\n containersReady,\n containerStatuses,\n podStatusToCpuUtil,\n podStatusToMemoryUtil,\n totalRestarts,\n} from '../../utils/pod';\nimport { Table, TableColumn } from '@backstage/core-components';\nimport { ClusterContext } from '../../hooks/Cluster';\nimport { useMatchingErrors } from '../../hooks/useMatchingErrors';\nimport { Pod } from 'kubernetes-models/v1/Pod';\nimport type { V1Pod } from '@kubernetes/client-node';\nimport { usePodMetrics } from '../../hooks/usePodMetrics';\nimport Typography from '@material-ui/core/Typography';\n\n/**\n *\n *\n * @public\n */\nexport const READY_COLUMNS: PodColumns = 'READY';\n\n/**\n *\n *\n * @public\n */\nexport const RESOURCE_COLUMNS: PodColumns = 'RESOURCE';\n\n/**\n *\n *\n * @public\n */\nexport type PodColumns = 'READY' | 'RESOURCE';\n\n/**\n *\n *\n * @public\n */\nexport type PodsTablesProps = {\n pods: Pod | V1Pod[];\n extraColumns?: PodColumns[];\n children?: ReactNode;\n};\n\nconst
|
|
1
|
+
{"version":3,"file":"PodsTable.esm.js","sources":["../../../src/components/Pods/PodsTable.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ReactNode, useContext } from 'react';\nimport { PodDrawer } from './PodDrawer';\nimport {\n containersReady,\n containerStatuses,\n podStatusToCpuUtil,\n podStatusToMemoryUtil,\n totalRestarts,\n} from '../../utils/pod';\nimport { Table, TableColumn } from '@backstage/core-components';\nimport { ClusterContext } from '../../hooks/Cluster';\nimport { useMatchingErrors } from '../../hooks/useMatchingErrors';\nimport { Pod } from 'kubernetes-models/v1/Pod';\nimport type { V1Pod } from '@kubernetes/client-node';\nimport { usePodMetrics } from '../../hooks/usePodMetrics';\nimport Typography from '@material-ui/core/Typography';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { kubernetesReactTranslationRef } from '../../translation';\n\n/**\n *\n *\n * @public\n */\nexport const READY_COLUMNS: PodColumns = 'READY';\n\n/**\n *\n *\n * @public\n */\nexport const RESOURCE_COLUMNS: PodColumns = 'RESOURCE';\n\n/**\n *\n *\n * @public\n */\nexport type PodColumns = 'READY' | 'RESOURCE';\n\n/**\n *\n *\n * @public\n */\nexport type PodsTablesProps = {\n pods: Pod | V1Pod[];\n extraColumns?: PodColumns[];\n children?: ReactNode;\n};\n\nconst PodDrawerTrigger = ({ pod }: { pod: Pod }) => {\n const errors = useMatchingErrors({\n kind: 'Pod',\n apiVersion: 'v1',\n metadata: pod.metadata,\n });\n return (\n <PodDrawer\n podAndErrors={{\n pod: pod as any,\n cluster: useContext(ClusterContext),\n errors: errors,\n }}\n />\n );\n};\n\nconst Cpu = ({ clusterName, pod }: { clusterName: string; pod: Pod }) => {\n const metrics = usePodMetrics(clusterName, pod);\n const { t } = useTranslationRef(kubernetesReactTranslationRef);\n\n if (!metrics) {\n return <Typography>{t('podsTable.unknown')}</Typography>;\n }\n\n return <>{podStatusToCpuUtil(metrics)}</>;\n};\n\nconst Memory = ({ clusterName, pod }: { clusterName: string; pod: Pod }) => {\n const metrics = usePodMetrics(clusterName, pod);\n const { t } = useTranslationRef(kubernetesReactTranslationRef);\n\n if (!metrics) {\n return <Typography>{t('podsTable.unknown')}</Typography>;\n }\n\n return <>{podStatusToMemoryUtil(metrics)}</>;\n};\n\n/**\n *\n *\n * @public\n */\nexport const PodsTable = ({ pods, extraColumns = [] }: PodsTablesProps) => {\n const cluster = useContext(ClusterContext);\n const { t } = useTranslationRef(kubernetesReactTranslationRef);\n\n const READY: TableColumn<Pod>[] = [\n {\n title: t('podsTable.columns.containersReady'),\n align: 'center',\n render: containersReady,\n width: 'auto',\n },\n {\n title: t('podsTable.columns.totalRestarts'),\n align: 'center',\n render: totalRestarts,\n type: 'numeric',\n width: 'auto',\n },\n ];\n\n const defaultColumns: TableColumn<Pod>[] = [\n {\n title: t('podsTable.columns.id'),\n field: 'metadata.uid',\n hidden: true,\n },\n {\n title: t('podsTable.columns.name'),\n highlight: true,\n render: (pod: Pod) => {\n return <PodDrawerTrigger pod={pod} />;\n },\n },\n {\n title: t('podsTable.columns.phase'),\n render: (pod: Pod) => pod.status?.phase ?? t('podsTable.unknown'),\n width: 'auto',\n },\n {\n title: t('podsTable.columns.status'),\n render: containerStatuses,\n },\n ];\n const columns: TableColumn<Pod>[] = [...defaultColumns];\n\n if (extraColumns.includes(READY_COLUMNS)) {\n columns.push(...READY);\n }\n if (extraColumns.includes(RESOURCE_COLUMNS)) {\n const resourceColumns: TableColumn<Pod>[] = [\n {\n title: t('podsTable.columns.cpuUsage'),\n render: (pod: Pod) => {\n return <Cpu clusterName={cluster.name} pod={pod} />;\n },\n width: 'auto',\n },\n {\n title: t('podsTable.columns.memoryUsage'),\n render: (pod: Pod) => {\n return <Memory clusterName={cluster.name} pod={pod} />;\n },\n width: 'auto',\n },\n ];\n columns.push(...resourceColumns);\n }\n\n const tableStyle = {\n minWidth: '0',\n width: '100%',\n };\n\n return (\n <div style={tableStyle}>\n <Table\n options={{ paging: true, search: false, emptyRowsWhenPaging: false }}\n // It was observed that in some instances the pod drawer closes when new data (like CPU usage) is available and the table reloads.\n // Mapping the metadata UID to the tables ID fixes this problem.\n data={\n (pods as Pod[]).map((pod: Pod) => ({\n ...pod,\n id: pod?.metadata?.uid,\n })) as any as Pod[]\n }\n columns={columns}\n />\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ import '@material-ui/core/FormControlLabel';
|
|
|
6
6
|
import '@material-ui/core/Switch';
|
|
7
7
|
import 'js-yaml';
|
|
8
8
|
import 'react';
|
|
9
|
+
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
10
|
+
import { kubernetesReactTranslationRef } from '../../translation.esm.js';
|
|
9
11
|
import Typography from '@material-ui/core/Typography';
|
|
10
12
|
import Grid from '@material-ui/core/Grid';
|
|
11
13
|
import Chip from '@material-ui/core/Chip';
|
|
@@ -14,6 +16,7 @@ const ServiceDrawer = ({
|
|
|
14
16
|
service,
|
|
15
17
|
expanded
|
|
16
18
|
}) => {
|
|
19
|
+
const { t } = useTranslationRef(kubernetesReactTranslationRef);
|
|
17
20
|
const namespace = service.metadata?.namespace;
|
|
18
21
|
return /* @__PURE__ */ jsx(
|
|
19
22
|
KubernetesStructuredMetadataTableDrawer,
|
|
@@ -35,7 +38,7 @@ const ServiceDrawer = ({
|
|
|
35
38
|
children: [
|
|
36
39
|
/* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(Typography, { variant: "body1", children: service.metadata?.name ?? "unknown object" }) }),
|
|
37
40
|
/* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(Typography, { color: "textSecondary", variant: "subtitle1", children: "Service" }) }),
|
|
38
|
-
namespace && /* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(Chip, { size: "small", label:
|
|
41
|
+
namespace && /* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(Chip, { size: "small", label: `${t("namespace.label")} ${namespace}` }) })
|
|
39
42
|
]
|
|
40
43
|
}
|
|
41
44
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceDrawer.esm.js","sources":["../../../src/components/ServicesAccordions/ServiceDrawer.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { V1Service } from '@kubernetes/client-node';\nimport { KubernetesStructuredMetadataTableDrawer } from '../KubernetesDrawer';\nimport Typography from '@material-ui/core/Typography';\nimport Grid from '@material-ui/core/Grid';\nimport Chip from '@material-ui/core/Chip';\n\nexport const ServiceDrawer = ({\n service,\n expanded,\n}: {\n service: V1Service;\n expanded?: boolean;\n}) => {\n const namespace = service.metadata?.namespace;\n return (\n <KubernetesStructuredMetadataTableDrawer\n object={service}\n expanded={expanded}\n kind=\"Service\"\n renderObject={(serviceObject: V1Service) => {\n return serviceObject.spec || {};\n }}\n >\n <Grid\n container\n direction=\"column\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n spacing={0}\n >\n <Grid item>\n <Typography variant=\"body1\">\n {service.metadata?.name ?? 'unknown object'}\n </Typography>\n </Grid>\n <Grid item>\n <Typography color=\"textSecondary\" variant=\"subtitle1\">\n Service\n </Typography>\n </Grid>\n {namespace && (\n <Grid item>\n <Chip size=\"small\" label={
|
|
1
|
+
{"version":3,"file":"ServiceDrawer.esm.js","sources":["../../../src/components/ServicesAccordions/ServiceDrawer.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { V1Service } from '@kubernetes/client-node';\nimport { KubernetesStructuredMetadataTableDrawer } from '../KubernetesDrawer';\nimport Typography from '@material-ui/core/Typography';\nimport Grid from '@material-ui/core/Grid';\nimport Chip from '@material-ui/core/Chip';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { kubernetesReactTranslationRef } from '../../translation';\n\nexport const ServiceDrawer = ({\n service,\n expanded,\n}: {\n service: V1Service;\n expanded?: boolean;\n}) => {\n const { t } = useTranslationRef(kubernetesReactTranslationRef);\n const namespace = service.metadata?.namespace;\n return (\n <KubernetesStructuredMetadataTableDrawer\n object={service}\n expanded={expanded}\n kind=\"Service\"\n renderObject={(serviceObject: V1Service) => {\n return serviceObject.spec || {};\n }}\n >\n <Grid\n container\n direction=\"column\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n spacing={0}\n >\n <Grid item>\n <Typography variant=\"body1\">\n {service.metadata?.name ?? 'unknown object'}\n </Typography>\n </Grid>\n <Grid item>\n <Typography color=\"textSecondary\" variant=\"subtitle1\">\n Service\n </Typography>\n </Grid>\n {namespace && (\n <Grid item>\n <Chip size=\"small\" label={`${t('namespace.label')} ${namespace}`} />\n </Grid>\n )}\n </Grid>\n </KubernetesStructuredMetadataTableDrawer>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAwBO,MAAM,gBAAgB,CAAC;AAAA,EAC5B,OAAA;AAAA,EACA;AACF,CAAA,KAGM;AACJ,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,6BAA6B,CAAA;AAC7D,EAAA,MAAM,SAAA,GAAY,QAAQ,QAAA,EAAU,SAAA;AACpC,EAAA,uBACE,GAAA;AAAA,IAAC,uCAAA;AAAA,IAAA;AAAA,MACC,MAAA,EAAQ,OAAA;AAAA,MACR,QAAA;AAAA,MACA,IAAA,EAAK,SAAA;AAAA,MACL,YAAA,EAAc,CAAC,aAAA,KAA6B;AAC1C,QAAA,OAAO,aAAA,CAAc,QAAQ,EAAC;AAAA,MAChC,CAAA;AAAA,MAEA,QAAA,kBAAA,IAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAS,IAAA;AAAA,UACT,SAAA,EAAU,QAAA;AAAA,UACV,cAAA,EAAe,YAAA;AAAA,UACf,UAAA,EAAW,YAAA;AAAA,UACX,OAAA,EAAS,CAAA;AAAA,UAET,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAI,IAAA,EACR,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,OAAA,EACjB,QAAA,EAAA,OAAA,CAAQ,QAAA,EAAU,IAAA,IAAQ,gBAAA,EAC7B,CAAA,EACF,CAAA;AAAA,4BACA,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAI,IAAA,EACR,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAM,eAAA,EAAgB,OAAA,EAAQ,WAAA,EAAY,QAAA,EAAA,SAAA,EAEtD,CAAA,EACF,CAAA;AAAA,YACC,6BACC,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAI,IAAA,EACR,8BAAC,IAAA,EAAA,EAAK,IAAA,EAAK,OAAA,EAAQ,KAAA,EAAO,GAAG,CAAA,CAAE,iBAAiB,CAAC,CAAA,CAAA,EAAI,SAAS,IAAI,CAAA,EACpE;AAAA;AAAA;AAAA;AAEJ;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -6,6 +6,8 @@ import '@material-ui/core/FormControlLabel';
|
|
|
6
6
|
import '@material-ui/core/Switch';
|
|
7
7
|
import 'js-yaml';
|
|
8
8
|
import 'react';
|
|
9
|
+
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
10
|
+
import { kubernetesReactTranslationRef } from '../../translation.esm.js';
|
|
9
11
|
import { renderCondition } from '../../utils/pod.esm.js';
|
|
10
12
|
import Typography from '@material-ui/core/Typography';
|
|
11
13
|
import Grid from '@material-ui/core/Grid';
|
|
@@ -15,6 +17,7 @@ const StatefulSetDrawer = ({
|
|
|
15
17
|
statefulset,
|
|
16
18
|
expanded
|
|
17
19
|
}) => {
|
|
20
|
+
const { t } = useTranslationRef(kubernetesReactTranslationRef);
|
|
18
21
|
const namespace = statefulset.metadata?.namespace;
|
|
19
22
|
return /* @__PURE__ */ jsx(
|
|
20
23
|
KubernetesStructuredMetadataTableDrawer,
|
|
@@ -47,7 +50,7 @@ const StatefulSetDrawer = ({
|
|
|
47
50
|
children: [
|
|
48
51
|
/* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(Typography, { variant: "body1", children: statefulset.metadata?.name ?? "unknown object" }) }),
|
|
49
52
|
/* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(Typography, { color: "textSecondary", variant: "subtitle1", children: "Stateful Set" }) }),
|
|
50
|
-
namespace && /* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(Chip, { size: "small", label:
|
|
53
|
+
namespace && /* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(Chip, { size: "small", label: `${t("namespace.label")} ${namespace}` }) })
|
|
51
54
|
]
|
|
52
55
|
}
|
|
53
56
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatefulSetDrawer.esm.js","sources":["../../../src/components/StatefulSetsAccordions/StatefulSetDrawer.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ReactNode } from 'react';\nimport type { V1StatefulSet } from '@kubernetes/client-node';\nimport { KubernetesStructuredMetadataTableDrawer } from '../KubernetesDrawer';\nimport { renderCondition } from '../../utils/pod';\nimport Typography from '@material-ui/core/Typography';\nimport Grid from '@material-ui/core/Grid';\nimport Chip from '@material-ui/core/Chip';\n\nexport const StatefulSetDrawer = ({\n statefulset,\n expanded,\n}: {\n statefulset: V1StatefulSet;\n expanded?: boolean;\n}) => {\n const namespace = statefulset.metadata?.namespace;\n return (\n <KubernetesStructuredMetadataTableDrawer\n object={statefulset}\n expanded={expanded}\n kind=\"StatefulSet\"\n renderObject={(statefulsetObj: V1StatefulSet) => {\n const conditions = (statefulsetObj.status?.conditions ?? [])\n .map(renderCondition)\n .reduce((accum, next) => {\n accum[next[0]] = next[1];\n return accum;\n }, {} as { [key: string]: ReactNode });\n\n return {\n updateStrategy: statefulset.spec?.updateStrategy ?? '???',\n podManagementPolicy: statefulset.spec?.podManagementPolicy ?? '???',\n serviceName: statefulset.spec?.serviceName ?? '???',\n selector: statefulset.spec?.selector ?? '???',\n revisionHistoryLimit: statefulset.spec?.revisionHistoryLimit ?? '???',\n ...conditions,\n };\n }}\n >\n <Grid\n container\n direction=\"column\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n spacing={0}\n >\n <Grid item>\n <Typography variant=\"body1\">\n {statefulset.metadata?.name ?? 'unknown object'}\n </Typography>\n </Grid>\n <Grid item>\n <Typography color=\"textSecondary\" variant=\"subtitle1\">\n Stateful Set\n </Typography>\n </Grid>\n {namespace && (\n <Grid item>\n <Chip size=\"small\" label={
|
|
1
|
+
{"version":3,"file":"StatefulSetDrawer.esm.js","sources":["../../../src/components/StatefulSetsAccordions/StatefulSetDrawer.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ReactNode } from 'react';\nimport type { V1StatefulSet } from '@kubernetes/client-node';\nimport { KubernetesStructuredMetadataTableDrawer } from '../KubernetesDrawer';\nimport { renderCondition } from '../../utils/pod';\nimport Typography from '@material-ui/core/Typography';\nimport Grid from '@material-ui/core/Grid';\nimport Chip from '@material-ui/core/Chip';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { kubernetesReactTranslationRef } from '../../translation';\n\nexport const StatefulSetDrawer = ({\n statefulset,\n expanded,\n}: {\n statefulset: V1StatefulSet;\n expanded?: boolean;\n}) => {\n const { t } = useTranslationRef(kubernetesReactTranslationRef);\n const namespace = statefulset.metadata?.namespace;\n return (\n <KubernetesStructuredMetadataTableDrawer\n object={statefulset}\n expanded={expanded}\n kind=\"StatefulSet\"\n renderObject={(statefulsetObj: V1StatefulSet) => {\n const conditions = (statefulsetObj.status?.conditions ?? [])\n .map(renderCondition)\n .reduce((accum, next) => {\n accum[next[0]] = next[1];\n return accum;\n }, {} as { [key: string]: ReactNode });\n\n return {\n updateStrategy: statefulset.spec?.updateStrategy ?? '???',\n podManagementPolicy: statefulset.spec?.podManagementPolicy ?? '???',\n serviceName: statefulset.spec?.serviceName ?? '???',\n selector: statefulset.spec?.selector ?? '???',\n revisionHistoryLimit: statefulset.spec?.revisionHistoryLimit ?? '???',\n ...conditions,\n };\n }}\n >\n <Grid\n container\n direction=\"column\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n spacing={0}\n >\n <Grid item>\n <Typography variant=\"body1\">\n {statefulset.metadata?.name ?? 'unknown object'}\n </Typography>\n </Grid>\n <Grid item>\n <Typography color=\"textSecondary\" variant=\"subtitle1\">\n Stateful Set\n </Typography>\n </Grid>\n {namespace && (\n <Grid item>\n <Chip size=\"small\" label={`${t('namespace.label')} ${namespace}`} />\n </Grid>\n )}\n </Grid>\n </KubernetesStructuredMetadataTableDrawer>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AA0BO,MAAM,oBAAoB,CAAC;AAAA,EAChC,WAAA;AAAA,EACA;AACF,CAAA,KAGM;AACJ,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,6BAA6B,CAAA;AAC7D,EAAA,MAAM,SAAA,GAAY,YAAY,QAAA,EAAU,SAAA;AACxC,EAAA,uBACE,GAAA;AAAA,IAAC,uCAAA;AAAA,IAAA;AAAA,MACC,MAAA,EAAQ,WAAA;AAAA,MACR,QAAA;AAAA,MACA,IAAA,EAAK,aAAA;AAAA,MACL,YAAA,EAAc,CAAC,cAAA,KAAkC;AAC/C,QAAA,MAAM,UAAA,GAAA,CAAc,cAAA,CAAe,MAAA,EAAQ,UAAA,IAAc,EAAC,EACvD,GAAA,CAAI,eAAe,CAAA,CACnB,MAAA,CAAO,CAAC,KAAA,EAAO,IAAA,KAAS;AACvB,UAAA,KAAA,CAAM,IAAA,CAAK,CAAC,CAAC,CAAA,GAAI,KAAK,CAAC,CAAA;AACvB,UAAA,OAAO,KAAA;AAAA,QACT,CAAA,EAAG,EAAkC,CAAA;AAEvC,QAAA,OAAO;AAAA,UACL,cAAA,EAAgB,WAAA,CAAY,IAAA,EAAM,cAAA,IAAkB,KAAA;AAAA,UACpD,mBAAA,EAAqB,WAAA,CAAY,IAAA,EAAM,mBAAA,IAAuB,KAAA;AAAA,UAC9D,WAAA,EAAa,WAAA,CAAY,IAAA,EAAM,WAAA,IAAe,KAAA;AAAA,UAC9C,QAAA,EAAU,WAAA,CAAY,IAAA,EAAM,QAAA,IAAY,KAAA;AAAA,UACxC,oBAAA,EAAsB,WAAA,CAAY,IAAA,EAAM,oBAAA,IAAwB,KAAA;AAAA,UAChE,GAAG;AAAA,SACL;AAAA,MACF,CAAA;AAAA,MAEA,QAAA,kBAAA,IAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAS,IAAA;AAAA,UACT,SAAA,EAAU,QAAA;AAAA,UACV,cAAA,EAAe,YAAA;AAAA,UACf,UAAA,EAAW,YAAA;AAAA,UACX,OAAA,EAAS,CAAA;AAAA,UAET,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAI,IAAA,EACR,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,OAAA,EACjB,QAAA,EAAA,WAAA,CAAY,QAAA,EAAU,IAAA,IAAQ,gBAAA,EACjC,CAAA,EACF,CAAA;AAAA,4BACA,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAI,IAAA,EACR,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAM,eAAA,EAAgB,OAAA,EAAQ,WAAA,EAAY,QAAA,EAAA,cAAA,EAEtD,CAAA,EACF,CAAA;AAAA,YACC,6BACC,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAI,IAAA,EACR,8BAAC,IAAA,EAAA,EAAK,IAAA,EAAK,OAAA,EAAQ,KAAA,EAAO,GAAG,CAAA,CAAE,iBAAiB,CAAC,CAAA,CAAA,EAAI,SAAS,IAAI,CAAA,EACpE;AAAA;AAAA;AAAA;AAEJ;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -28,6 +28,8 @@ import '../../hooks/useMatchingErrors.esm.js';
|
|
|
28
28
|
import '@material-ui/icons/OpenInBrowser';
|
|
29
29
|
import '../KubernetesDialog/KubernetesDialog.esm.js';
|
|
30
30
|
import '../PodExecTerminal/PodExecTerminal.esm.js';
|
|
31
|
+
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
32
|
+
import { kubernetesReactTranslationRef } from '../../translation.esm.js';
|
|
31
33
|
import '@material-ui/core/Paper';
|
|
32
34
|
import '@material-ui/lab/Skeleton';
|
|
33
35
|
import '@material-ui/icons/Subject';
|
|
@@ -53,6 +55,7 @@ const StatefulSetSummary = ({
|
|
|
53
55
|
numberOfPodsWithErrors,
|
|
54
56
|
hpa
|
|
55
57
|
}) => {
|
|
58
|
+
const { t } = useTranslationRef(kubernetesReactTranslationRef);
|
|
56
59
|
const specCpuUtil = hpa?.spec?.metrics?.find(
|
|
57
60
|
(metric) => metric.type === "Resource" && metric.resource?.name === "cpu"
|
|
58
61
|
)?.resource?.target.averageUtilization;
|
|
@@ -80,19 +83,24 @@ const StatefulSetSummary = ({
|
|
|
80
83
|
spacing: 0,
|
|
81
84
|
children: [
|
|
82
85
|
/* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsxs(Typography, { variant: "subtitle2", children: [
|
|
83
|
-
"
|
|
86
|
+
t("hpa.minReplicas"),
|
|
87
|
+
" ",
|
|
84
88
|
hpa.spec?.minReplicas ?? "?",
|
|
85
|
-
" /
|
|
89
|
+
" /",
|
|
90
|
+
" ",
|
|
91
|
+
t("hpa.maxReplicas"),
|
|
86
92
|
" ",
|
|
87
93
|
hpa.spec?.maxReplicas ?? "?"
|
|
88
94
|
] }) }),
|
|
89
95
|
/* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsxs(Typography, { variant: "subtitle2", children: [
|
|
90
|
-
"
|
|
96
|
+
t("hpa.currentCpuUsage"),
|
|
97
|
+
" ",
|
|
91
98
|
cpuUtil ?? "?",
|
|
92
99
|
"%"
|
|
93
100
|
] }) }),
|
|
94
101
|
/* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsxs(Typography, { variant: "subtitle2", children: [
|
|
95
|
-
"
|
|
102
|
+
t("hpa.targetCpuUsage"),
|
|
103
|
+
" ",
|
|
96
104
|
specCpuUtil ?? "?",
|
|
97
105
|
"%"
|
|
98
106
|
] }) })
|
|
@@ -110,16 +118,8 @@ const StatefulSetSummary = ({
|
|
|
110
118
|
alignItems: "flex-start",
|
|
111
119
|
spacing: 0,
|
|
112
120
|
children: [
|
|
113
|
-
/* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */
|
|
114
|
-
|
|
115
|
-
" pods"
|
|
116
|
-
] }) }),
|
|
117
|
-
/* @__PURE__ */ jsx(Grid, { item: true, children: numberOfPodsWithErrors > 0 ? /* @__PURE__ */ jsxs(StatusError, { children: [
|
|
118
|
-
numberOfPodsWithErrors,
|
|
119
|
-
" pod",
|
|
120
|
-
numberOfPodsWithErrors > 1 ? "s" : "",
|
|
121
|
-
" with errors"
|
|
122
|
-
] }) : /* @__PURE__ */ jsx(StatusOK, { children: "No pods with errors" }) })
|
|
121
|
+
/* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(StatusOK, { children: t("pods.pods", { count: numberOfCurrentPods }) }) }),
|
|
122
|
+
/* @__PURE__ */ jsx(Grid, { item: true, children: numberOfPodsWithErrors > 0 ? /* @__PURE__ */ jsx(StatusError, { children: t("cluster.podsWithErrors", { count: numberOfPodsWithErrors }) }) : /* @__PURE__ */ jsx(StatusOK, { children: t("cluster.noPodsWithErrors") }) })
|
|
123
123
|
]
|
|
124
124
|
}
|
|
125
125
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatefulSetsAccordions.esm.js","sources":["../../../src/components/StatefulSetsAccordions/StatefulSetsAccordions.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ReactNode, useContext } from 'react';\nimport Accordion from '@material-ui/core/Accordion';\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport type {\n V1Pod,\n V2HorizontalPodAutoscaler,\n V1StatefulSet,\n} from '@kubernetes/client-node';\nimport { PodsTable } from '../Pods';\nimport { StatefulSetDrawer } from './StatefulSetDrawer';\nimport { HorizontalPodAutoscalerDrawer } from '../HorizontalPodAutoscalers';\nimport { getMatchingHpa, getOwnedResources } from '../../utils/owner';\nimport {\n GroupedResponsesContext,\n PodNamesWithErrorsContext,\n} from '../../hooks';\nimport { StatusError, StatusOK } from '@backstage/core-components';\nimport { READY_COLUMNS, RESOURCE_COLUMNS } from '../Pods/PodsTable';\n\ntype StatefulSetsAccordionsProps = {\n children?: ReactNode;\n};\n\ntype StatefulSetAccordionProps = {\n statefulset: V1StatefulSet;\n ownedPods: V1Pod[];\n matchingHpa?: V2HorizontalPodAutoscaler;\n children?: ReactNode;\n};\n\ntype StatefulSetSummaryProps = {\n statefulset: V1StatefulSet;\n numberOfCurrentPods: number;\n numberOfPodsWithErrors: number;\n hpa?: V2HorizontalPodAutoscaler;\n children?: ReactNode;\n};\n\nconst StatefulSetSummary = ({\n statefulset,\n numberOfCurrentPods,\n numberOfPodsWithErrors,\n hpa,\n}: StatefulSetSummaryProps) => {\n const specCpuUtil = hpa?.spec?.metrics?.find(\n metric => metric.type === 'Resource' && metric.resource?.name === 'cpu',\n )?.resource?.target.averageUtilization;\n\n const cpuUtil = hpa?.status?.currentMetrics?.find(\n metric => metric.type === 'Resource' && metric.resource?.name === 'cpu',\n )?.resource?.current.averageUtilization;\n\n return (\n <Grid\n container\n direction=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n spacing={0}\n >\n <Grid xs={6} item>\n <StatefulSetDrawer statefulset={statefulset} />\n </Grid>\n {hpa && (\n <Grid item xs={3}>\n <HorizontalPodAutoscalerDrawer hpa={hpa}>\n <Grid\n item\n container\n direction=\"column\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n spacing={0}\n >\n <Grid item>\n <Typography variant=\"subtitle2\">\n min replicas {hpa.spec?.minReplicas ?? '?'} / max replicas{' '}\n {hpa.spec?.maxReplicas ?? '?'}\n </Typography>\n </Grid>\n <Grid item>\n <Typography variant=\"subtitle2\">\n current CPU usage: {cpuUtil ?? '?'}%\n </Typography>\n </Grid>\n <Grid item>\n <Typography variant=\"subtitle2\">\n target CPU usage: {specCpuUtil ?? '?'}%\n </Typography>\n </Grid>\n </Grid>\n </HorizontalPodAutoscalerDrawer>\n </Grid>\n )}\n <Grid\n item\n container\n xs={3}\n direction=\"column\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n spacing={0}\n >\n <Grid item>\n <StatusOK>{numberOfCurrentPods} pods</StatusOK>\n </Grid>\n <Grid item>\n {numberOfPodsWithErrors > 0 ? (\n <StatusError>\n {numberOfPodsWithErrors} pod\n {numberOfPodsWithErrors > 1 ? 's' : ''} with errors\n </StatusError>\n ) : (\n <StatusOK>No pods with errors</StatusOK>\n )}\n </Grid>\n </Grid>\n </Grid>\n );\n};\n\nconst StatefulSetAccordion = ({\n statefulset,\n ownedPods,\n matchingHpa,\n}: StatefulSetAccordionProps) => {\n const podNamesWithErrors = useContext(PodNamesWithErrorsContext);\n\n const podsWithErrors = ownedPods.filter(p =>\n podNamesWithErrors.has(p.metadata?.name ?? ''),\n );\n\n return (\n <Accordion TransitionProps={{ unmountOnExit: true }} variant=\"outlined\">\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n <StatefulSetSummary\n statefulset={statefulset}\n numberOfCurrentPods={ownedPods.length}\n numberOfPodsWithErrors={podsWithErrors.length}\n hpa={matchingHpa}\n />\n </AccordionSummary>\n <AccordionDetails>\n <PodsTable\n pods={ownedPods}\n extraColumns={[READY_COLUMNS, RESOURCE_COLUMNS]}\n />\n </AccordionDetails>\n </Accordion>\n );\n};\n\nexport const StatefulSetsAccordions = ({}: StatefulSetsAccordionsProps) => {\n const groupedResponses = useContext(GroupedResponsesContext);\n\n return (\n <Grid\n container\n direction=\"column\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {groupedResponses.statefulsets.map((statefulset, i) => (\n <Grid container item key={i} xs>\n <Grid item xs>\n <StatefulSetAccordion\n matchingHpa={getMatchingHpa(\n {\n name: statefulset.metadata?.name,\n namespace: statefulset.metadata?.namespace,\n kind: 'statefulset',\n },\n groupedResponses.horizontalPodAutoscalers,\n )}\n ownedPods={getOwnedResources(statefulset, groupedResponses.pods)}\n statefulset={statefulset}\n />\n </Grid>\n </Grid>\n ))}\n </Grid>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StatefulSetsAccordions.esm.js","sources":["../../../src/components/StatefulSetsAccordions/StatefulSetsAccordions.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ReactNode, useContext } from 'react';\nimport Accordion from '@material-ui/core/Accordion';\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport type {\n V1Pod,\n V2HorizontalPodAutoscaler,\n V1StatefulSet,\n} from '@kubernetes/client-node';\nimport { PodsTable } from '../Pods';\nimport { StatefulSetDrawer } from './StatefulSetDrawer';\nimport { HorizontalPodAutoscalerDrawer } from '../HorizontalPodAutoscalers';\nimport { getMatchingHpa, getOwnedResources } from '../../utils/owner';\nimport {\n GroupedResponsesContext,\n PodNamesWithErrorsContext,\n} from '../../hooks';\nimport { StatusError, StatusOK } from '@backstage/core-components';\nimport { READY_COLUMNS, RESOURCE_COLUMNS } from '../Pods/PodsTable';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { kubernetesReactTranslationRef } from '../../translation';\n\ntype StatefulSetsAccordionsProps = {\n children?: ReactNode;\n};\n\ntype StatefulSetAccordionProps = {\n statefulset: V1StatefulSet;\n ownedPods: V1Pod[];\n matchingHpa?: V2HorizontalPodAutoscaler;\n children?: ReactNode;\n};\n\ntype StatefulSetSummaryProps = {\n statefulset: V1StatefulSet;\n numberOfCurrentPods: number;\n numberOfPodsWithErrors: number;\n hpa?: V2HorizontalPodAutoscaler;\n children?: ReactNode;\n};\n\nconst StatefulSetSummary = ({\n statefulset,\n numberOfCurrentPods,\n numberOfPodsWithErrors,\n hpa,\n}: StatefulSetSummaryProps) => {\n const { t } = useTranslationRef(kubernetesReactTranslationRef);\n const specCpuUtil = hpa?.spec?.metrics?.find(\n metric => metric.type === 'Resource' && metric.resource?.name === 'cpu',\n )?.resource?.target.averageUtilization;\n\n const cpuUtil = hpa?.status?.currentMetrics?.find(\n metric => metric.type === 'Resource' && metric.resource?.name === 'cpu',\n )?.resource?.current.averageUtilization;\n\n return (\n <Grid\n container\n direction=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n spacing={0}\n >\n <Grid xs={6} item>\n <StatefulSetDrawer statefulset={statefulset} />\n </Grid>\n {hpa && (\n <Grid item xs={3}>\n <HorizontalPodAutoscalerDrawer hpa={hpa}>\n <Grid\n item\n container\n direction=\"column\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n spacing={0}\n >\n <Grid item>\n <Typography variant=\"subtitle2\">\n {t('hpa.minReplicas')} {hpa.spec?.minReplicas ?? '?'} /{' '}\n {t('hpa.maxReplicas')} {hpa.spec?.maxReplicas ?? '?'}\n </Typography>\n </Grid>\n <Grid item>\n <Typography variant=\"subtitle2\">\n {t('hpa.currentCpuUsage')} {cpuUtil ?? '?'}%\n </Typography>\n </Grid>\n <Grid item>\n <Typography variant=\"subtitle2\">\n {t('hpa.targetCpuUsage')} {specCpuUtil ?? '?'}%\n </Typography>\n </Grid>\n </Grid>\n </HorizontalPodAutoscalerDrawer>\n </Grid>\n )}\n <Grid\n item\n container\n xs={3}\n direction=\"column\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n spacing={0}\n >\n <Grid item>\n <StatusOK>{t('pods.pods', { count: numberOfCurrentPods })}</StatusOK>\n </Grid>\n <Grid item>\n {numberOfPodsWithErrors > 0 ? (\n <StatusError>\n {t('cluster.podsWithErrors', { count: numberOfPodsWithErrors })}\n </StatusError>\n ) : (\n <StatusOK>{t('cluster.noPodsWithErrors')}</StatusOK>\n )}\n </Grid>\n </Grid>\n </Grid>\n );\n};\n\nconst StatefulSetAccordion = ({\n statefulset,\n ownedPods,\n matchingHpa,\n}: StatefulSetAccordionProps) => {\n const podNamesWithErrors = useContext(PodNamesWithErrorsContext);\n\n const podsWithErrors = ownedPods.filter(p =>\n podNamesWithErrors.has(p.metadata?.name ?? ''),\n );\n\n return (\n <Accordion TransitionProps={{ unmountOnExit: true }} variant=\"outlined\">\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n <StatefulSetSummary\n statefulset={statefulset}\n numberOfCurrentPods={ownedPods.length}\n numberOfPodsWithErrors={podsWithErrors.length}\n hpa={matchingHpa}\n />\n </AccordionSummary>\n <AccordionDetails>\n <PodsTable\n pods={ownedPods}\n extraColumns={[READY_COLUMNS, RESOURCE_COLUMNS]}\n />\n </AccordionDetails>\n </Accordion>\n );\n};\n\nexport const StatefulSetsAccordions = ({}: StatefulSetsAccordionsProps) => {\n const groupedResponses = useContext(GroupedResponsesContext);\n\n return (\n <Grid\n container\n direction=\"column\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {groupedResponses.statefulsets.map((statefulset, i) => (\n <Grid container item key={i} xs>\n <Grid item xs>\n <StatefulSetAccordion\n matchingHpa={getMatchingHpa(\n {\n name: statefulset.metadata?.name,\n namespace: statefulset.metadata?.namespace,\n kind: 'statefulset',\n },\n groupedResponses.horizontalPodAutoscalers,\n )}\n ownedPods={getOwnedResources(statefulset, groupedResponses.pods)}\n statefulset={statefulset}\n />\n </Grid>\n </Grid>\n ))}\n </Grid>\n );\n};\n"],"names":[],"mappings":"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"}
|
package/dist/translation.esm.js
CHANGED
|
@@ -3,10 +3,123 @@ import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
|
3
3
|
const kubernetesReactTranslationRef = createTranslationRef({
|
|
4
4
|
id: "kubernetes-react",
|
|
5
5
|
messages: {
|
|
6
|
+
cluster: {
|
|
7
|
+
label: "Cluster",
|
|
8
|
+
pods: "pods",
|
|
9
|
+
pods_one: "{{count}} pod",
|
|
10
|
+
pods_other: "{{count}} pods",
|
|
11
|
+
podsWithErrors: "pods with errors",
|
|
12
|
+
podsWithErrors_one: "{{count}} pod with errors",
|
|
13
|
+
podsWithErrors_other: "{{count}} pods with errors",
|
|
14
|
+
noPodsWithErrors: "No pods with errors"
|
|
15
|
+
},
|
|
16
|
+
podsTable: {
|
|
17
|
+
columns: {
|
|
18
|
+
id: "ID",
|
|
19
|
+
name: "name",
|
|
20
|
+
phase: "phase",
|
|
21
|
+
status: "status",
|
|
22
|
+
containersReady: "containers ready",
|
|
23
|
+
totalRestarts: "total restarts",
|
|
24
|
+
cpuUsage: "CPU usage %",
|
|
25
|
+
memoryUsage: "Memory usage %"
|
|
26
|
+
},
|
|
27
|
+
unknown: "unknown",
|
|
28
|
+
status: {
|
|
29
|
+
running: "Running",
|
|
30
|
+
ok: "OK"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
errorPanel: {
|
|
34
|
+
title: "There was a problem retrieving Kubernetes objects",
|
|
35
|
+
message: "There was a problem retrieving some Kubernetes resources for the entity: {{entityName}}. This could mean that the Error Reporting card is not completely accurate.",
|
|
36
|
+
errorsLabel: "Errors",
|
|
37
|
+
clusterLabel: "Cluster",
|
|
38
|
+
clusterLabelValue: "Cluster: {{cluster}}",
|
|
39
|
+
fetchError: "Error communicating with Kubernetes: {{errorType}}, message: {{message}}",
|
|
40
|
+
resourceError: "Error fetching Kubernetes resource: '{{resourcePath}}', error: {{errorType}}, status code: {{statusCode}}"
|
|
41
|
+
},
|
|
42
|
+
fixDialog: {
|
|
43
|
+
helpButton: "Help",
|
|
44
|
+
title: "{{podName}} - {{errorType}}",
|
|
45
|
+
detectedError: "Detected error:",
|
|
46
|
+
causeExplanation: "Cause explanation:",
|
|
47
|
+
fix: "Fix:",
|
|
48
|
+
crashLogs: "Crash logs:",
|
|
49
|
+
events: "Events:",
|
|
50
|
+
openDocs: "Open docs",
|
|
51
|
+
ariaLabels: {
|
|
52
|
+
fixIssue: "fix issue",
|
|
53
|
+
close: "close"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
6
56
|
podDrawer: {
|
|
7
57
|
buttons: {
|
|
8
58
|
delete: "Delete Pod"
|
|
59
|
+
},
|
|
60
|
+
cpuRequests: "CPU requests",
|
|
61
|
+
cpuLimits: "CPU limits",
|
|
62
|
+
memoryRequests: "Memory requests",
|
|
63
|
+
memoryLimits: "Memory limits",
|
|
64
|
+
resourceUtilization: "Resource utilization"
|
|
65
|
+
},
|
|
66
|
+
hpa: {
|
|
67
|
+
minReplicas: "min replicas",
|
|
68
|
+
maxReplicas: "max replicas",
|
|
69
|
+
replicasSummary: "min replicas {{min}} / max replicas {{max}}",
|
|
70
|
+
currentCpuUsage: "current CPU usage:",
|
|
71
|
+
currentCpuUsageLabel: "current CPU usage: {{value}}%",
|
|
72
|
+
targetCpuUsage: "target CPU usage:",
|
|
73
|
+
targetCpuUsageLabel: "target CPU usage: {{value}}%"
|
|
74
|
+
},
|
|
75
|
+
pods: {
|
|
76
|
+
pods_one: "{{count}} pod",
|
|
77
|
+
pods_other: "{{count}} pods"
|
|
78
|
+
},
|
|
79
|
+
errorReporting: {
|
|
80
|
+
title: "Error Reporting",
|
|
81
|
+
columns: {
|
|
82
|
+
cluster: "cluster",
|
|
83
|
+
namespace: "namespace",
|
|
84
|
+
kind: "kind",
|
|
85
|
+
name: "name",
|
|
86
|
+
messages: "messages"
|
|
9
87
|
}
|
|
88
|
+
},
|
|
89
|
+
podLogs: {
|
|
90
|
+
title: "No logs emitted",
|
|
91
|
+
description: "No logs were emitted by the container",
|
|
92
|
+
buttonText: "Logs",
|
|
93
|
+
buttonAriaLabel: "get logs",
|
|
94
|
+
titleTemplate: "{{podName}} - {{containerName}} logs on cluster {{clusterName}}"
|
|
95
|
+
},
|
|
96
|
+
podExecTerminal: {
|
|
97
|
+
buttonText: "Terminal",
|
|
98
|
+
buttonAriaLabel: "open terminal",
|
|
99
|
+
titleTemplate: "{{podName}} - {{containerName}} terminal shell on cluster {{clusterName}}"
|
|
100
|
+
},
|
|
101
|
+
events: {
|
|
102
|
+
noEventsFound: "No events found",
|
|
103
|
+
eventTooltip: "{{eventType}} event",
|
|
104
|
+
firstEvent: "First event {{timeAgo}} (count: {{count}})"
|
|
105
|
+
},
|
|
106
|
+
kubernetesDrawer: {
|
|
107
|
+
closeDrawer: "Close the drawer",
|
|
108
|
+
yaml: "YAML",
|
|
109
|
+
managedFields: "Managed Fields",
|
|
110
|
+
unknownName: "unknown name"
|
|
111
|
+
},
|
|
112
|
+
linkErrorPanel: {
|
|
113
|
+
title: "There was a problem formatting the link to the Kubernetes dashboard",
|
|
114
|
+
message: "Could not format the link to the dashboard of your cluster named '{{clusterName}}'. Its dashboardApp property has been set to '{{dashboardApp}}.'",
|
|
115
|
+
errorsLabel: "Errors:"
|
|
116
|
+
},
|
|
117
|
+
namespace: {
|
|
118
|
+
label: "namespace:",
|
|
119
|
+
labelWithValue: "namespace: {{namespace}}"
|
|
120
|
+
},
|
|
121
|
+
kubernetesDialog: {
|
|
122
|
+
closeAriaLabel: "close"
|
|
10
123
|
}
|
|
11
124
|
}
|
|
12
125
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation.esm.js","sources":["../src/translation.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationRef } from '@backstage/core-plugin-api/alpha';\n\n/** @alpha */\nexport const kubernetesReactTranslationRef = createTranslationRef({\n id: 'kubernetes-react',\n messages: {\n podDrawer: {\n buttons: {\n delete: 'Delete Pod',\n },\n },\n },\n});\n"],"names":[],"mappings":";;AAmBO,MAAM,gCAAgC,oBAAA,CAAqB;AAAA,EAChE,EAAA,EAAI,kBAAA;AAAA,EACJ,QAAA,EAAU;AAAA,IACR,SAAA,EAAW;AAAA,MACT,OAAA,EAAS;AAAA,QACP,MAAA,EAAQ;AAAA;
|
|
1
|
+
{"version":3,"file":"translation.esm.js","sources":["../src/translation.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationRef } from '@backstage/core-plugin-api/alpha';\n\n/** @alpha */\nexport const kubernetesReactTranslationRef = createTranslationRef({\n id: 'kubernetes-react',\n messages: {\n cluster: {\n label: 'Cluster',\n pods: 'pods',\n pods_one: '{{count}} pod',\n pods_other: '{{count}} pods',\n podsWithErrors: 'pods with errors',\n podsWithErrors_one: '{{count}} pod with errors',\n podsWithErrors_other: '{{count}} pods with errors',\n noPodsWithErrors: 'No pods with errors',\n },\n podsTable: {\n columns: {\n id: 'ID',\n name: 'name',\n phase: 'phase',\n status: 'status',\n containersReady: 'containers ready',\n totalRestarts: 'total restarts',\n cpuUsage: 'CPU usage %',\n memoryUsage: 'Memory usage %',\n },\n unknown: 'unknown',\n status: {\n running: 'Running',\n ok: 'OK',\n },\n },\n errorPanel: {\n title: 'There was a problem retrieving Kubernetes objects',\n message:\n 'There was a problem retrieving some Kubernetes resources for the entity: {{entityName}}. This could mean that the Error Reporting card is not completely accurate.',\n errorsLabel: 'Errors',\n clusterLabel: 'Cluster',\n clusterLabelValue: 'Cluster: {{cluster}}',\n fetchError:\n 'Error communicating with Kubernetes: {{errorType}}, message: {{message}}',\n resourceError:\n \"Error fetching Kubernetes resource: '{{resourcePath}}', error: {{errorType}}, status code: {{statusCode}}\",\n },\n fixDialog: {\n helpButton: 'Help',\n title: '{{podName}} - {{errorType}}',\n detectedError: 'Detected error:',\n causeExplanation: 'Cause explanation:',\n fix: 'Fix:',\n crashLogs: 'Crash logs:',\n events: 'Events:',\n openDocs: 'Open docs',\n ariaLabels: {\n fixIssue: 'fix issue',\n close: 'close',\n },\n },\n podDrawer: {\n buttons: {\n delete: 'Delete Pod',\n },\n cpuRequests: 'CPU requests',\n cpuLimits: 'CPU limits',\n memoryRequests: 'Memory requests',\n memoryLimits: 'Memory limits',\n resourceUtilization: 'Resource utilization',\n },\n hpa: {\n minReplicas: 'min replicas',\n maxReplicas: 'max replicas',\n replicasSummary: 'min replicas {{min}} / max replicas {{max}}',\n currentCpuUsage: 'current CPU usage:',\n currentCpuUsageLabel: 'current CPU usage: {{value}}%',\n targetCpuUsage: 'target CPU usage:',\n targetCpuUsageLabel: 'target CPU usage: {{value}}%',\n },\n pods: {\n pods_one: '{{count}} pod',\n pods_other: '{{count}} pods',\n },\n errorReporting: {\n title: 'Error Reporting',\n columns: {\n cluster: 'cluster',\n namespace: 'namespace',\n kind: 'kind',\n name: 'name',\n messages: 'messages',\n },\n },\n podLogs: {\n title: 'No logs emitted',\n description: 'No logs were emitted by the container',\n buttonText: 'Logs',\n buttonAriaLabel: 'get logs',\n titleTemplate:\n '{{podName}} - {{containerName}} logs on cluster {{clusterName}}',\n },\n podExecTerminal: {\n buttonText: 'Terminal',\n buttonAriaLabel: 'open terminal',\n titleTemplate:\n '{{podName}} - {{containerName}} terminal shell on cluster {{clusterName}}',\n },\n events: {\n noEventsFound: 'No events found',\n eventTooltip: '{{eventType}} event',\n firstEvent: 'First event {{timeAgo}} (count: {{count}})',\n },\n kubernetesDrawer: {\n closeDrawer: 'Close the drawer',\n yaml: 'YAML',\n managedFields: 'Managed Fields',\n unknownName: 'unknown name',\n },\n linkErrorPanel: {\n title:\n 'There was a problem formatting the link to the Kubernetes dashboard',\n message:\n \"Could not format the link to the dashboard of your cluster named '{{clusterName}}'. Its dashboardApp property has been set to '{{dashboardApp}}.'\",\n errorsLabel: 'Errors:',\n },\n namespace: {\n label: 'namespace:',\n labelWithValue: 'namespace: {{namespace}}',\n },\n kubernetesDialog: {\n closeAriaLabel: 'close',\n },\n },\n});\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-kubernetes-react",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.14-next.0",
|
|
4
4
|
"description": "Web library for the kubernetes-react plugin",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "web-library",
|
|
@@ -62,12 +62,12 @@
|
|
|
62
62
|
"test": "backstage-cli package test"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@backstage/catalog-model": "
|
|
66
|
-
"@backstage/core-components": "
|
|
67
|
-
"@backstage/core-plugin-api": "
|
|
68
|
-
"@backstage/errors": "
|
|
69
|
-
"@backstage/plugin-kubernetes-common": "
|
|
70
|
-
"@backstage/types": "
|
|
65
|
+
"@backstage/catalog-model": "1.7.6",
|
|
66
|
+
"@backstage/core-components": "0.18.4-next.0",
|
|
67
|
+
"@backstage/core-plugin-api": "1.12.1-next.0",
|
|
68
|
+
"@backstage/errors": "1.2.7",
|
|
69
|
+
"@backstage/plugin-kubernetes-common": "0.9.8",
|
|
70
|
+
"@backstage/types": "1.2.2",
|
|
71
71
|
"@kubernetes-models/apimachinery": "^2.0.0",
|
|
72
72
|
"@kubernetes-models/base": "^5.0.0",
|
|
73
73
|
"@kubernetes/client-node": "1.4.0",
|
|
@@ -85,9 +85,9 @@
|
|
|
85
85
|
"react-use": "^17.4.0"
|
|
86
86
|
},
|
|
87
87
|
"devDependencies": {
|
|
88
|
-
"@backstage/cli": "
|
|
89
|
-
"@backstage/core-app-api": "
|
|
90
|
-
"@backstage/test-utils": "
|
|
88
|
+
"@backstage/cli": "0.34.6-next.0",
|
|
89
|
+
"@backstage/core-app-api": "1.19.3-next.0",
|
|
90
|
+
"@backstage/test-utils": "1.7.14-next.0",
|
|
91
91
|
"@testing-library/jest-dom": "^6.0.0",
|
|
92
92
|
"@testing-library/react": "^16.0.0",
|
|
93
93
|
"@types/react": "^18.0.0",
|