@backstage/plugin-kubernetes-react 0.3.4 → 0.3.5-next.1
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 +20 -0
- package/dist/api/KubernetesBackendClient.esm.js +137 -0
- package/dist/api/KubernetesBackendClient.esm.js.map +1 -0
- package/dist/api/KubernetesClusterLinkFormatter.esm.js +38 -0
- package/dist/api/KubernetesClusterLinkFormatter.esm.js.map +1 -0
- package/dist/api/KubernetesProxyClient.esm.js +76 -0
- package/dist/api/KubernetesProxyClient.esm.js.map +1 -0
- package/dist/api/formatters/AksClusterLinksFormatter.esm.js +35 -0
- package/dist/api/formatters/AksClusterLinksFormatter.esm.js.map +1 -0
- package/dist/api/formatters/EksClusterLinksFormatter.esm.js +10 -0
- package/dist/api/formatters/EksClusterLinksFormatter.esm.js.map +1 -0
- package/dist/api/formatters/GkeClusterLinksFormatter.esm.js +62 -0
- package/dist/api/formatters/GkeClusterLinksFormatter.esm.js.map +1 -0
- package/dist/api/formatters/OpenshiftClusterLinksFormatter.esm.js +41 -0
- package/dist/api/formatters/OpenshiftClusterLinksFormatter.esm.js.map +1 -0
- package/dist/api/formatters/RancherClusterLinksFormatter.esm.js +33 -0
- package/dist/api/formatters/RancherClusterLinksFormatter.esm.js.map +1 -0
- package/dist/api/formatters/StandardClusterLinksFormatter.esm.js +37 -0
- package/dist/api/formatters/StandardClusterLinksFormatter.esm.js.map +1 -0
- package/dist/api/formatters/index.esm.js +21 -0
- package/dist/api/formatters/index.esm.js.map +1 -0
- package/dist/api/types.esm.js +14 -0
- package/dist/api/types.esm.js.map +1 -0
- package/dist/components/Cluster/Cluster.esm.js +88 -0
- package/dist/components/Cluster/Cluster.esm.js.map +1 -0
- package/dist/components/CronJobsAccordions/CronJobsAccordions.esm.js +80 -0
- package/dist/components/CronJobsAccordions/CronJobsAccordions.esm.js.map +1 -0
- package/dist/components/CronJobsAccordions/CronJobsDrawer.esm.js +51 -0
- package/dist/components/CronJobsAccordions/CronJobsDrawer.esm.js.map +1 -0
- package/dist/components/CustomResources/ArgoRollouts/Rollout.esm.js +222 -0
- package/dist/components/CustomResources/ArgoRollouts/Rollout.esm.js.map +1 -0
- package/dist/components/CustomResources/ArgoRollouts/RolloutDrawer.esm.js +40 -0
- package/dist/components/CustomResources/ArgoRollouts/RolloutDrawer.esm.js.map +1 -0
- package/dist/components/CustomResources/ArgoRollouts/StepsProgress.esm.js +32 -0
- package/dist/components/CustomResources/ArgoRollouts/StepsProgress.esm.js.map +1 -0
- package/dist/components/CustomResources/CustomResources.esm.js +44 -0
- package/dist/components/CustomResources/CustomResources.esm.js.map +1 -0
- package/dist/components/CustomResources/DefaultCustomResource.esm.js +79 -0
- package/dist/components/CustomResources/DefaultCustomResource.esm.js.map +1 -0
- package/dist/components/CustomResources/DefaultCustomResourceDrawer.esm.js +43 -0
- package/dist/components/CustomResources/DefaultCustomResourceDrawer.esm.js.map +1 -0
- package/dist/components/DaemonSetsAccordions/DaemonSetsAccordions.esm.js +126 -0
- package/dist/components/DaemonSetsAccordions/DaemonSetsAccordions.esm.js.map +1 -0
- package/dist/components/DaemonSetsAccordions/DaemonSetsDrawer.esm.js +55 -0
- package/dist/components/DaemonSetsAccordions/DaemonSetsDrawer.esm.js.map +1 -0
- package/dist/components/DeploymentsAccordions/DeploymentDrawer.esm.js +56 -0
- package/dist/components/DeploymentsAccordions/DeploymentDrawer.esm.js.map +1 -0
- package/dist/components/DeploymentsAccordions/DeploymentsAccordions.esm.js +160 -0
- package/dist/components/DeploymentsAccordions/DeploymentsAccordions.esm.js.map +1 -0
- package/dist/components/ErrorPanel/ErrorPanel.esm.js +27 -0
- package/dist/components/ErrorPanel/ErrorPanel.esm.js.map +1 -0
- package/dist/components/ErrorReporting/ErrorReporting.esm.js +63 -0
- package/dist/components/ErrorReporting/ErrorReporting.esm.js.map +1 -0
- package/dist/components/HorizontalPodAutoscalers/HorizontalPodAutoscalerDrawer.esm.js +34 -0
- package/dist/components/HorizontalPodAutoscalers/HorizontalPodAutoscalerDrawer.esm.js.map +1 -0
- package/dist/components/IngressesAccordions/IngressDrawer.esm.js +45 -0
- package/dist/components/IngressesAccordions/IngressDrawer.esm.js.map +1 -0
- package/dist/components/IngressesAccordions/IngressesAccordions.esm.js +62 -0
- package/dist/components/IngressesAccordions/IngressesAccordions.esm.js.map +1 -0
- package/dist/components/JobsAccordions/JobsAccordions.esm.js +101 -0
- package/dist/components/JobsAccordions/JobsAccordions.esm.js.map +1 -0
- package/dist/components/JobsAccordions/JobsDrawer.esm.js +48 -0
- package/dist/components/JobsAccordions/JobsDrawer.esm.js.map +1 -0
- package/dist/components/KubernetesDialog/KubernetesDialog.esm.js +72 -0
- package/dist/components/KubernetesDialog/KubernetesDialog.esm.js.map +1 -0
- package/dist/components/KubernetesDrawer/KubernetesDrawer.esm.js +117 -0
- package/dist/components/KubernetesDrawer/KubernetesDrawer.esm.js.map +1 -0
- package/dist/components/KubernetesDrawer/KubernetesStructuredMetadataTableDrawer.esm.js +199 -0
- package/dist/components/KubernetesDrawer/KubernetesStructuredMetadataTableDrawer.esm.js.map +1 -0
- package/dist/components/KubernetesDrawer/ManifestYaml.esm.js +44 -0
- package/dist/components/KubernetesDrawer/ManifestYaml.esm.js.map +1 -0
- package/dist/components/PodExecTerminal/PodExecTerminal.esm.js +88 -0
- package/dist/components/PodExecTerminal/PodExecTerminal.esm.js.map +1 -0
- package/dist/components/PodExecTerminal/PodExecTerminalAttachAddon.esm.js +40 -0
- package/dist/components/PodExecTerminal/PodExecTerminalAttachAddon.esm.js.map +1 -0
- package/dist/components/PodExecTerminal/PodExecTerminalDialog.esm.js +35 -0
- package/dist/components/PodExecTerminal/PodExecTerminalDialog.esm.js.map +1 -0
- package/dist/components/Pods/ErrorList/ErrorList.esm.js +52 -0
- package/dist/components/Pods/ErrorList/ErrorList.esm.js.map +1 -0
- package/dist/components/Pods/Events/Events.esm.js +74 -0
- package/dist/components/Pods/Events/Events.esm.js.map +1 -0
- package/dist/components/Pods/Events/useEvents.esm.js +21 -0
- package/dist/components/Pods/Events/useEvents.esm.js.map +1 -0
- package/dist/components/Pods/FixDialog/FixDialog.esm.js +107 -0
- package/dist/components/Pods/FixDialog/FixDialog.esm.js.map +1 -0
- package/dist/components/Pods/PodDrawer/ContainerCard.esm.js +166 -0
- package/dist/components/Pods/PodDrawer/ContainerCard.esm.js.map +1 -0
- package/dist/components/Pods/PodDrawer/PendingPodContent.esm.js +30 -0
- package/dist/components/Pods/PodDrawer/PendingPodContent.esm.js.map +1 -0
- package/dist/components/Pods/PodDrawer/PodDrawer.esm.js +114 -0
- package/dist/components/Pods/PodDrawer/PodDrawer.esm.js.map +1 -0
- package/dist/components/Pods/PodLogs/PodLogs.esm.js +44 -0
- package/dist/components/Pods/PodLogs/PodLogs.esm.js.map +1 -0
- package/dist/components/Pods/PodLogs/PodLogsDialog.esm.js +21 -0
- package/dist/components/Pods/PodLogs/PodLogsDialog.esm.js.map +1 -0
- package/dist/components/Pods/PodLogs/usePodLogs.esm.js +19 -0
- package/dist/components/Pods/PodLogs/usePodLogs.esm.js.map +1 -0
- package/dist/components/Pods/PodsTable.esm.js +153 -0
- package/dist/components/Pods/PodsTable.esm.js.map +1 -0
- package/dist/components/ResourceUtilization/ResourceUtilization.esm.js +50 -0
- package/dist/components/ResourceUtilization/ResourceUtilization.esm.js.map +1 -0
- package/dist/components/ServicesAccordions/ServiceDrawer.esm.js +45 -0
- package/dist/components/ServicesAccordions/ServiceDrawer.esm.js.map +1 -0
- package/dist/components/ServicesAccordions/ServicesAccordions.esm.js +79 -0
- package/dist/components/ServicesAccordions/ServicesAccordions.esm.js.map +1 -0
- package/dist/components/StatefulSetsAccordions/StatefulSetDrawer.esm.js +58 -0
- package/dist/components/StatefulSetsAccordions/StatefulSetDrawer.esm.js.map +1 -0
- package/dist/components/StatefulSetsAccordions/StatefulSetsAccordions.esm.js +156 -0
- package/dist/components/StatefulSetsAccordions/StatefulSetsAccordions.esm.js.map +1 -0
- package/dist/hooks/Cluster.esm.js +8 -0
- package/dist/hooks/Cluster.esm.js.map +1 -0
- package/dist/hooks/GroupedResponses.esm.js +19 -0
- package/dist/hooks/GroupedResponses.esm.js.map +1 -0
- package/dist/hooks/PodNamesWithErrors.esm.js +8 -0
- package/dist/hooks/PodNamesWithErrors.esm.js.map +1 -0
- package/dist/hooks/PodNamesWithMetrics.esm.js +6 -0
- package/dist/hooks/PodNamesWithMetrics.esm.js.map +1 -0
- package/dist/hooks/auth.esm.js +24 -0
- package/dist/hooks/auth.esm.js.map +1 -0
- package/dist/hooks/useCustomResources.esm.js +42 -0
- package/dist/hooks/useCustomResources.esm.js.map +1 -0
- package/dist/hooks/useIsPodExecTerminalEnabled.esm.js +9 -0
- package/dist/hooks/useIsPodExecTerminalEnabled.esm.js.map +1 -0
- package/dist/hooks/useIsPodExecTerminalSupported.esm.js +21 -0
- package/dist/hooks/useIsPodExecTerminalSupported.esm.js.map +1 -0
- package/dist/hooks/useKubernetesObjects.esm.js +36 -0
- package/dist/hooks/useKubernetesObjects.esm.js.map +1 -0
- package/dist/hooks/useMatchingErrors.esm.js +20 -0
- package/dist/hooks/useMatchingErrors.esm.js.map +1 -0
- package/dist/hooks/usePodMetrics.esm.js +20 -0
- package/dist/hooks/usePodMetrics.esm.js.map +1 -0
- package/dist/index.esm.js +53 -3465
- package/dist/index.esm.js.map +1 -1
- package/dist/kubernetes-auth-provider/AksKubernetesAuthProvider.esm.js +21 -0
- package/dist/kubernetes-auth-provider/AksKubernetesAuthProvider.esm.js.map +1 -0
- package/dist/kubernetes-auth-provider/GoogleKubernetesAuthProvider.esm.js +31 -0
- package/dist/kubernetes-auth-provider/GoogleKubernetesAuthProvider.esm.js.map +1 -0
- package/dist/kubernetes-auth-provider/KubernetesAuthProviders.esm.js +89 -0
- package/dist/kubernetes-auth-provider/KubernetesAuthProviders.esm.js.map +1 -0
- package/dist/kubernetes-auth-provider/OidcKubernetesAuthProvider.esm.js +33 -0
- package/dist/kubernetes-auth-provider/OidcKubernetesAuthProvider.esm.js.map +1 -0
- package/dist/kubernetes-auth-provider/ServerSideAuthProvider.esm.js +11 -0
- package/dist/kubernetes-auth-provider/ServerSideAuthProvider.esm.js.map +1 -0
- package/dist/kubernetes-auth-provider/types.esm.js +8 -0
- package/dist/kubernetes-auth-provider/types.esm.js.map +1 -0
- package/dist/utils/crons.esm.js +22 -0
- package/dist/utils/crons.esm.js.map +1 -0
- package/dist/utils/owner.esm.js +30 -0
- package/dist/utils/owner.esm.js.map +1 -0
- package/dist/utils/pod.esm.js +120 -0
- package/dist/utils/pod.esm.js.map +1 -0
- package/dist/utils/resources.esm.js +19 -0
- package/dist/utils/resources.esm.js.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import Step from '@material-ui/core/Step';
|
|
3
|
+
import StepLabel from '@material-ui/core/StepLabel';
|
|
4
|
+
import Stepper from '@material-ui/core/Stepper';
|
|
5
|
+
import Typography from '@material-ui/core/Typography';
|
|
6
|
+
|
|
7
|
+
const isSetWeightStep = (step) => step.hasOwnProperty("setWeight");
|
|
8
|
+
const isPauseStep = (step) => step.hasOwnProperty("pause");
|
|
9
|
+
const isAnalysisStep = (step) => step.hasOwnProperty("analysis");
|
|
10
|
+
const createLabelForStep = (step) => {
|
|
11
|
+
if (isSetWeightStep(step)) {
|
|
12
|
+
return `setWeight ${step.setWeight}%`;
|
|
13
|
+
} else if (isPauseStep(step)) {
|
|
14
|
+
return step.pause.duration === void 0 ? "infinite pause" : `pause for ${step.pause.duration}`;
|
|
15
|
+
} else if (isAnalysisStep(step)) {
|
|
16
|
+
return /* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement(Typography, { paragraph: true }, "analysis templates:"), step.analysis.templates.map((t, i) => /* @__PURE__ */ React__default.createElement(Typography, { paragraph: true, key: i }, `${t.templateName}${t.clusterScope ? " (cluster scoped)" : ""}`)));
|
|
17
|
+
}
|
|
18
|
+
return "unknown step";
|
|
19
|
+
};
|
|
20
|
+
const StepsProgress = ({
|
|
21
|
+
currentStepIndex,
|
|
22
|
+
aborted,
|
|
23
|
+
steps
|
|
24
|
+
}) => {
|
|
25
|
+
const activeStepIndex = currentStepIndex >= steps.length ? currentStepIndex + 1 : currentStepIndex;
|
|
26
|
+
return /* @__PURE__ */ React__default.createElement(Stepper, { activeStep: aborted ? -1 : activeStepIndex, alternativeLabel: true }, steps.map((step, i) => /* @__PURE__ */ React__default.createElement(Step, { key: i }, /* @__PURE__ */ React__default.createElement(StepLabel, { "data-testid": `step-${i}` }, createLabelForStep(step)))).concat(
|
|
27
|
+
/* @__PURE__ */ React__default.createElement(Step, { key: "-1" }, /* @__PURE__ */ React__default.createElement(StepLabel, { "data-testid": "step--1" }, "Canary promoted"))
|
|
28
|
+
));
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { StepsProgress };
|
|
32
|
+
//# sourceMappingURL=StepsProgress.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepsProgress.esm.js","sources":["../../../../src/components/CustomResources/ArgoRollouts/StepsProgress.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 React from 'react';\nimport Step from '@material-ui/core/Step';\nimport StepLabel from '@material-ui/core/StepLabel';\nimport Stepper from '@material-ui/core/Stepper';\nimport Typography from '@material-ui/core/Typography';\nimport {\n ArgoRolloutCanaryStep,\n SetWeightStep,\n PauseStep,\n AnalysisStep,\n} from './types';\n\ninterface StepsProgressProps {\n currentStepIndex: number;\n aborted: boolean;\n steps: ArgoRolloutCanaryStep[];\n children?: React.ReactNode;\n}\n\nconst isSetWeightStep = (step: ArgoRolloutCanaryStep): step is SetWeightStep =>\n step.hasOwnProperty('setWeight');\n\nconst isPauseStep = (step: ArgoRolloutCanaryStep): step is PauseStep =>\n step.hasOwnProperty('pause');\n\nconst isAnalysisStep = (step: ArgoRolloutCanaryStep): step is AnalysisStep =>\n step.hasOwnProperty('analysis');\n\nconst createLabelForStep = (step: ArgoRolloutCanaryStep): React.ReactNode => {\n if (isSetWeightStep(step)) {\n return `setWeight ${step.setWeight}%`;\n } else if (isPauseStep(step)) {\n return step.pause.duration === undefined\n ? 'infinite pause'\n : `pause for ${step.pause.duration}`;\n } else if (isAnalysisStep(step)) {\n return (\n <div>\n <Typography paragraph>analysis templates:</Typography>\n {step.analysis.templates.map((t, i) => (\n <Typography paragraph key={i}>{`${t.templateName}${\n t.clusterScope ? ' (cluster scoped)' : ''\n }`}</Typography>\n ))}\n </div>\n );\n }\n return 'unknown step';\n};\n\nexport const StepsProgress = ({\n currentStepIndex,\n aborted,\n steps,\n}: StepsProgressProps) => {\n // If the activeStep is greater/equal to the number of steps\n // Then the canary is being promoted\n // Increase the step index to mark the 'canary promoted' step as done also\n const activeStepIndex =\n currentStepIndex >= steps.length ? currentStepIndex + 1 : currentStepIndex;\n\n /*\n * When the Rollout is aborted set the active step to -1\n * otherwise it appears to always be on the first step\n */\n return (\n <Stepper activeStep={aborted ? -1 : activeStepIndex} alternativeLabel>\n {steps\n .map((step, i) => (\n <Step key={i}>\n <StepLabel data-testid={`step-${i}`}>\n {createLabelForStep(step)}\n </StepLabel>\n </Step>\n ))\n .concat(\n <Step key=\"-1\">\n <StepLabel data-testid=\"step--1\">Canary promoted</StepLabel>\n </Step>,\n )}\n </Stepper>\n );\n};\n"],"names":["React"],"mappings":";;;;;;AAmCA,MAAM,eAAkB,GAAA,CAAC,IACvB,KAAA,IAAA,CAAK,eAAe,WAAW,CAAA,CAAA;AAEjC,MAAM,WAAc,GAAA,CAAC,IACnB,KAAA,IAAA,CAAK,eAAe,OAAO,CAAA,CAAA;AAE7B,MAAM,cAAiB,GAAA,CAAC,IACtB,KAAA,IAAA,CAAK,eAAe,UAAU,CAAA,CAAA;AAEhC,MAAM,kBAAA,GAAqB,CAAC,IAAiD,KAAA;AAC3E,EAAI,IAAA,eAAA,CAAgB,IAAI,CAAG,EAAA;AACzB,IAAO,OAAA,CAAA,UAAA,EAAa,KAAK,SAAS,CAAA,CAAA,CAAA,CAAA;AAAA,GACpC,MAAA,IAAW,WAAY,CAAA,IAAI,CAAG,EAAA;AAC5B,IAAO,OAAA,IAAA,CAAK,MAAM,QAAa,KAAA,KAAA,CAAA,GAC3B,mBACA,CAAa,UAAA,EAAA,IAAA,CAAK,MAAM,QAAQ,CAAA,CAAA,CAAA;AAAA,GACtC,MAAA,IAAW,cAAe,CAAA,IAAI,CAAG,EAAA;AAC/B,IAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA,kBACEA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,SAAS,EAAA,IAAA,EAAA,EAAC,qBAAmB,CAAA,EACxC,IAAK,CAAA,QAAA,CAAS,SAAU,CAAA,GAAA,CAAI,CAAC,CAAG,EAAA,CAAA,qBAC9BA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,SAAS,EAAA,IAAA,EAAC,GAAK,EAAA,CAAA,EAAA,EAAI,GAAG,CAAE,CAAA,YAAY,CAC9C,EAAA,CAAA,CAAE,YAAe,GAAA,mBAAA,GAAsB,EACzC,CAAA,CAAG,CACJ,CACH,CAAA,CAAA;AAAA,GAEJ;AACA,EAAO,OAAA,cAAA,CAAA;AACT,CAAA,CAAA;AAEO,MAAM,gBAAgB,CAAC;AAAA,EAC5B,gBAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AACF,CAA0B,KAAA;AAIxB,EAAA,MAAM,eACJ,GAAA,gBAAA,IAAoB,KAAM,CAAA,MAAA,GAAS,mBAAmB,CAAI,GAAA,gBAAA,CAAA;AAM5D,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,UAAY,EAAA,OAAA,GAAU,CAAK,CAAA,GAAA,eAAA,EAAiB,gBAAgB,EAAA,IAAA,EAAA,EAClE,KACE,CAAA,GAAA,CAAI,CAAC,IAAA,EAAM,CACV,qBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,GAAA,EAAK,CACT,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,SAAU,EAAA,EAAA,aAAA,EAAa,CAAQ,KAAA,EAAA,CAAC,CAC9B,CAAA,EAAA,EAAA,kBAAA,CAAmB,IAAI,CAC1B,CACF,CACD,CACA,CAAA,MAAA;AAAA,oBACCA,cAAA,CAAA,aAAA,CAAC,QAAK,GAAI,EAAA,IAAA,EAAA,+CACP,SAAU,EAAA,EAAA,aAAA,EAAY,SAAU,EAAA,EAAA,iBAAe,CAClD,CAAA;AAAA,GAEN,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React__default, { useContext } from 'react';
|
|
2
|
+
import lodash from 'lodash';
|
|
3
|
+
import { RolloutAccordions } from './ArgoRollouts/Rollout.esm.js';
|
|
4
|
+
import { DefaultCustomResourceAccordions } from './DefaultCustomResource.esm.js';
|
|
5
|
+
import '@backstage/core-plugin-api';
|
|
6
|
+
import 'react-use/esm/useAsync';
|
|
7
|
+
import '../../api/types.esm.js';
|
|
8
|
+
import 'react-use/esm/useInterval';
|
|
9
|
+
import 'react-use/esm/useAsyncRetry';
|
|
10
|
+
import '../../kubernetes-auth-provider/types.esm.js';
|
|
11
|
+
import '../../hooks/PodNamesWithErrors.esm.js';
|
|
12
|
+
import '../../hooks/PodNamesWithMetrics.esm.js';
|
|
13
|
+
import { GroupedResponsesContext } from '../../hooks/GroupedResponses.esm.js';
|
|
14
|
+
import '../../hooks/Cluster.esm.js';
|
|
15
|
+
import '../../hooks/usePodMetrics.esm.js';
|
|
16
|
+
import '../../hooks/useMatchingErrors.esm.js';
|
|
17
|
+
|
|
18
|
+
const kindToResource = (customResources) => {
|
|
19
|
+
return lodash.groupBy(customResources, (value) => {
|
|
20
|
+
return value.kind;
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
const CustomResources = ({}) => {
|
|
24
|
+
const groupedResponses = useContext(GroupedResponsesContext);
|
|
25
|
+
const kindToResourceMap = kindToResource(groupedResponses.customResources);
|
|
26
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, Object.entries(kindToResourceMap).map(([kind, resources], i) => {
|
|
27
|
+
switch (kind) {
|
|
28
|
+
case "Rollout":
|
|
29
|
+
return /* @__PURE__ */ React__default.createElement(RolloutAccordions, { key: i, rollouts: resources });
|
|
30
|
+
default:
|
|
31
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
32
|
+
DefaultCustomResourceAccordions,
|
|
33
|
+
{
|
|
34
|
+
key: i,
|
|
35
|
+
customResources: resources,
|
|
36
|
+
customResourceName: kind
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
}));
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export { CustomResources };
|
|
44
|
+
//# sourceMappingURL=CustomResources.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomResources.esm.js","sources":["../../../src/components/CustomResources/CustomResources.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 React, { useContext } from 'react';\nimport lodash, { Dictionary } from 'lodash';\nimport { RolloutAccordions } from './ArgoRollouts';\nimport { DefaultCustomResourceAccordions } from './DefaultCustomResource';\nimport { GroupedResponsesContext } from '../../hooks';\n\n/**\n *\n *\n * @public\n */\nexport interface CustomResourcesProps {\n children?: React.ReactNode;\n}\n\nconst kindToResource = (customResources: any[]): Dictionary<any[]> => {\n return lodash.groupBy(customResources, value => {\n return value.kind;\n });\n};\n\n/**\n *\n *\n * @public\n */\nexport const CustomResources = ({}: CustomResourcesProps) => {\n const groupedResponses = useContext(GroupedResponsesContext);\n const kindToResourceMap = kindToResource(groupedResponses.customResources);\n\n return (\n <>\n {Object.entries(kindToResourceMap).map(([kind, resources], i) => {\n switch (kind) {\n case 'Rollout':\n return <RolloutAccordions key={i} rollouts={resources} />;\n default:\n return (\n <DefaultCustomResourceAccordions\n key={i}\n customResources={resources}\n customResourceName={kind}\n />\n );\n }\n })}\n </>\n );\n};\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;AA+BA,MAAM,cAAA,GAAiB,CAAC,eAA8C,KAAA;AACpE,EAAO,OAAA,MAAA,CAAO,OAAQ,CAAA,eAAA,EAAiB,CAAS,KAAA,KAAA;AAC9C,IAAA,OAAO,KAAM,CAAA,IAAA,CAAA;AAAA,GACd,CAAA,CAAA;AACH,CAAA,CAAA;AAOa,MAAA,eAAA,GAAkB,CAAC,EAA6B,KAAA;AAC3D,EAAM,MAAA,gBAAA,GAAmB,WAAW,uBAAuB,CAAA,CAAA;AAC3D,EAAM,MAAA,iBAAA,GAAoB,cAAe,CAAA,gBAAA,CAAiB,eAAe,CAAA,CAAA;AAEzE,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EACG,MAAO,CAAA,OAAA,CAAQ,iBAAiB,CAAA,CAAE,GAAI,CAAA,CAAC,CAAC,IAAA,EAAM,SAAS,CAAA,EAAG,CAAM,KAAA;AAC/D,IAAA,QAAQ,IAAM;AAAA,MACZ,KAAK,SAAA;AACH,QAAA,uBAAQA,cAAA,CAAA,aAAA,CAAA,iBAAA,EAAA,EAAkB,GAAK,EAAA,CAAA,EAAG,UAAU,SAAW,EAAA,CAAA,CAAA;AAAA,MACzD;AACE,QACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,UAAC,+BAAA;AAAA,UAAA;AAAA,YACC,GAAK,EAAA,CAAA;AAAA,YACL,eAAiB,EAAA,SAAA;AAAA,YACjB,kBAAoB,EAAA,IAAA;AAAA,WAAA;AAAA,SACtB,CAAA;AAAA,KAEN;AAAA,GACD,CACH,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import Accordion from '@material-ui/core/Accordion';
|
|
3
|
+
import AccordionDetails from '@material-ui/core/AccordionDetails';
|
|
4
|
+
import AccordionSummary from '@material-ui/core/AccordionSummary';
|
|
5
|
+
import Grid from '@material-ui/core/Grid';
|
|
6
|
+
import ExpandMoreIcon from '@material-ui/icons/ExpandMore';
|
|
7
|
+
import { DefaultCustomResourceDrawer } from './DefaultCustomResourceDrawer.esm.js';
|
|
8
|
+
import { StructuredMetadataTable } from '@backstage/core-components';
|
|
9
|
+
|
|
10
|
+
const DefaultCustomResourceSummary = ({
|
|
11
|
+
customResource,
|
|
12
|
+
customResourceName
|
|
13
|
+
}) => {
|
|
14
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
15
|
+
Grid,
|
|
16
|
+
{
|
|
17
|
+
container: true,
|
|
18
|
+
direction: "row",
|
|
19
|
+
justifyContent: "space-between",
|
|
20
|
+
alignItems: "center",
|
|
21
|
+
spacing: 0
|
|
22
|
+
},
|
|
23
|
+
/* @__PURE__ */ React__default.createElement(Grid, { xs: 12, item: true }, /* @__PURE__ */ React__default.createElement(
|
|
24
|
+
DefaultCustomResourceDrawer,
|
|
25
|
+
{
|
|
26
|
+
customResource,
|
|
27
|
+
customResourceName
|
|
28
|
+
}
|
|
29
|
+
))
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
const DefaultCustomResourceAccordion = ({
|
|
33
|
+
customResource,
|
|
34
|
+
customResourceName,
|
|
35
|
+
defaultExpanded
|
|
36
|
+
}) => {
|
|
37
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
38
|
+
Accordion,
|
|
39
|
+
{
|
|
40
|
+
defaultExpanded,
|
|
41
|
+
TransitionProps: { unmountOnExit: true },
|
|
42
|
+
variant: "outlined"
|
|
43
|
+
},
|
|
44
|
+
/* @__PURE__ */ React__default.createElement(AccordionSummary, { expandIcon: /* @__PURE__ */ React__default.createElement(ExpandMoreIcon, null) }, /* @__PURE__ */ React__default.createElement(
|
|
45
|
+
DefaultCustomResourceSummary,
|
|
46
|
+
{
|
|
47
|
+
customResource,
|
|
48
|
+
customResourceName
|
|
49
|
+
}
|
|
50
|
+
)),
|
|
51
|
+
/* @__PURE__ */ React__default.createElement(AccordionDetails, null, Object.prototype.hasOwnProperty.call(customResource, "status") && /* @__PURE__ */ React__default.createElement(StructuredMetadataTable, { metadata: customResource.status }))
|
|
52
|
+
);
|
|
53
|
+
};
|
|
54
|
+
const DefaultCustomResourceAccordions = ({
|
|
55
|
+
customResources,
|
|
56
|
+
customResourceName,
|
|
57
|
+
defaultExpanded = false
|
|
58
|
+
}) => {
|
|
59
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
60
|
+
Grid,
|
|
61
|
+
{
|
|
62
|
+
container: true,
|
|
63
|
+
direction: "column",
|
|
64
|
+
justifyContent: "flex-start",
|
|
65
|
+
alignItems: "flex-start"
|
|
66
|
+
},
|
|
67
|
+
customResources.map((cr, i) => /* @__PURE__ */ React__default.createElement(Grid, { container: true, item: true, key: i, xs: true }, /* @__PURE__ */ React__default.createElement(Grid, { item: true, xs: true }, /* @__PURE__ */ React__default.createElement(
|
|
68
|
+
DefaultCustomResourceAccordion,
|
|
69
|
+
{
|
|
70
|
+
defaultExpanded,
|
|
71
|
+
customResource: cr,
|
|
72
|
+
customResourceName
|
|
73
|
+
}
|
|
74
|
+
))))
|
|
75
|
+
);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export { DefaultCustomResourceAccordions };
|
|
79
|
+
//# sourceMappingURL=DefaultCustomResource.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultCustomResource.esm.js","sources":["../../../src/components/CustomResources/DefaultCustomResource.tsx"],"sourcesContent":["/*\n * Copyright 2021 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 React 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 ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { DefaultCustomResourceDrawer } from './DefaultCustomResourceDrawer';\nimport { StructuredMetadataTable } from '@backstage/core-components';\n\ntype DefaultCustomResourceAccordionsProps = {\n customResources: any[];\n customResourceName: string;\n defaultExpanded?: boolean;\n children?: React.ReactNode;\n};\n\ntype DefaultCustomResourceAccordionProps = {\n customResource: any;\n customResourceName: string;\n defaultExpanded?: boolean;\n children?: React.ReactNode;\n};\n\ntype DefaultCustomResourceSummaryProps = {\n customResource: any;\n customResourceName: string;\n children?: React.ReactNode;\n};\n\nconst DefaultCustomResourceSummary = ({\n customResource,\n customResourceName,\n}: DefaultCustomResourceSummaryProps) => {\n return (\n <Grid\n container\n direction=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n spacing={0}\n >\n <Grid xs={12} item>\n <DefaultCustomResourceDrawer\n customResource={customResource}\n customResourceName={customResourceName}\n />\n </Grid>\n </Grid>\n );\n};\n\nconst DefaultCustomResourceAccordion = ({\n customResource,\n customResourceName,\n defaultExpanded,\n}: DefaultCustomResourceAccordionProps) => {\n return (\n <Accordion\n defaultExpanded={defaultExpanded}\n TransitionProps={{ unmountOnExit: true }}\n variant=\"outlined\"\n >\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n <DefaultCustomResourceSummary\n customResource={customResource}\n customResourceName={customResourceName}\n />\n </AccordionSummary>\n <AccordionDetails>\n {Object.prototype.hasOwnProperty.call(customResource, 'status') && (\n <StructuredMetadataTable metadata={customResource.status} />\n )}\n </AccordionDetails>\n </Accordion>\n );\n};\n\nexport const DefaultCustomResourceAccordions = ({\n customResources,\n customResourceName,\n defaultExpanded = false,\n}: DefaultCustomResourceAccordionsProps) => {\n return (\n <Grid\n container\n direction=\"column\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {customResources.map((cr, i) => (\n <Grid container item key={i} xs>\n <Grid item xs>\n <DefaultCustomResourceAccordion\n defaultExpanded={defaultExpanded}\n customResource={cr}\n customResourceName={customResourceName}\n />\n </Grid>\n </Grid>\n ))}\n </Grid>\n );\n};\n"],"names":["React"],"mappings":";;;;;;;;;AA6CA,MAAM,+BAA+B,CAAC;AAAA,EACpC,cAAA;AAAA,EACA,kBAAA;AACF,CAAyC,KAAA;AACvC,EACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,SAAS,EAAA,IAAA;AAAA,MACT,SAAU,EAAA,KAAA;AAAA,MACV,cAAe,EAAA,eAAA;AAAA,MACf,UAAW,EAAA,QAAA;AAAA,MACX,OAAS,EAAA,CAAA;AAAA,KAAA;AAAA,oBAERA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,EAAI,EAAA,EAAA,EAAI,MAAI,IAChB,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,2BAAA;AAAA,MAAA;AAAA,QACC,cAAA;AAAA,QACA,kBAAA;AAAA,OAAA;AAAA,KAEJ,CAAA;AAAA,GACF,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,iCAAiC,CAAC;AAAA,EACtC,cAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAA;AACF,CAA2C,KAAA;AACzC,EACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,eAAA;AAAA,MACA,eAAA,EAAiB,EAAE,aAAA,EAAe,IAAK,EAAA;AAAA,MACvC,OAAQ,EAAA,UAAA;AAAA,KAAA;AAAA,oBAEPA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,EAAiB,UAAY,kBAAAA,cAAA,CAAA,aAAA,CAAC,oBAAe,CAC5C,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,4BAAA;AAAA,MAAA;AAAA,QACC,cAAA;AAAA,QACA,kBAAA;AAAA,OAAA;AAAA,KAEJ,CAAA;AAAA,oBACCA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,IAAA,EACE,MAAO,CAAA,SAAA,CAAU,eAAe,IAAK,CAAA,cAAA,EAAgB,QAAQ,CAAA,oBAC3DA,cAAA,CAAA,aAAA,CAAA,uBAAA,EAAA,EAAwB,QAAU,EAAA,cAAA,CAAe,QAAQ,CAE9D,CAAA;AAAA,GACF,CAAA;AAEJ,CAAA,CAAA;AAEO,MAAM,kCAAkC,CAAC;AAAA,EAC9C,eAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAkB,GAAA,KAAA;AACpB,CAA4C,KAAA;AAC1C,EACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,SAAS,EAAA,IAAA;AAAA,MACT,SAAU,EAAA,QAAA;AAAA,MACV,cAAe,EAAA,YAAA;AAAA,MACf,UAAW,EAAA,YAAA;AAAA,KAAA;AAAA,IAEV,eAAA,CAAgB,IAAI,CAAC,EAAA,EAAI,sBACvBA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,WAAS,IAAC,EAAA,IAAA,EAAI,MAAC,GAAK,EAAA,CAAA,EAAG,IAAE,IAC7B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,IAAI,EAAA,IAAA,EAAC,IAAE,IACX,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,8BAAA;AAAA,MAAA;AAAA,QACC,eAAA;AAAA,QACA,cAAgB,EAAA,EAAA;AAAA,QAChB,kBAAA;AAAA,OAAA;AAAA,KAEJ,CACF,CACD,CAAA;AAAA,GACH,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { KubernetesStructuredMetadataTableDrawer } from '../KubernetesDrawer/KubernetesStructuredMetadataTableDrawer.esm.js';
|
|
3
|
+
import '../KubernetesDrawer/KubernetesDrawer.esm.js';
|
|
4
|
+
import '@backstage/core-components';
|
|
5
|
+
import '@material-ui/core/FormControlLabel';
|
|
6
|
+
import '@material-ui/core/Switch';
|
|
7
|
+
import 'js-yaml';
|
|
8
|
+
import Typography from '@material-ui/core/Typography';
|
|
9
|
+
import Grid from '@material-ui/core/Grid';
|
|
10
|
+
|
|
11
|
+
const capitalize = (str) => str.charAt(0).toLocaleUpperCase("en-US") + str.slice(1);
|
|
12
|
+
const DefaultCustomResourceDrawer = ({
|
|
13
|
+
customResource,
|
|
14
|
+
customResourceName,
|
|
15
|
+
expanded
|
|
16
|
+
}) => {
|
|
17
|
+
var _a, _b;
|
|
18
|
+
const capitalizedName = capitalize(customResourceName);
|
|
19
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
20
|
+
KubernetesStructuredMetadataTableDrawer,
|
|
21
|
+
{
|
|
22
|
+
object: customResource,
|
|
23
|
+
expanded,
|
|
24
|
+
kind: capitalizedName,
|
|
25
|
+
renderObject: (cr) => cr
|
|
26
|
+
},
|
|
27
|
+
/* @__PURE__ */ React__default.createElement(
|
|
28
|
+
Grid,
|
|
29
|
+
{
|
|
30
|
+
container: true,
|
|
31
|
+
direction: "column",
|
|
32
|
+
justifyContent: "flex-start",
|
|
33
|
+
alignItems: "flex-start",
|
|
34
|
+
spacing: 0
|
|
35
|
+
},
|
|
36
|
+
/* @__PURE__ */ React__default.createElement(Grid, { item: true }, /* @__PURE__ */ React__default.createElement(Typography, { variant: "body1" }, (_b = (_a = customResource.metadata) == null ? void 0 : _a.name) != null ? _b : "unknown object")),
|
|
37
|
+
/* @__PURE__ */ React__default.createElement(Grid, { item: true }, /* @__PURE__ */ React__default.createElement(Typography, { color: "textSecondary", variant: "subtitle1" }, capitalizedName))
|
|
38
|
+
)
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export { DefaultCustomResourceDrawer };
|
|
43
|
+
//# sourceMappingURL=DefaultCustomResourceDrawer.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultCustomResourceDrawer.esm.js","sources":["../../../src/components/CustomResources/DefaultCustomResourceDrawer.tsx"],"sourcesContent":["/*\n * Copyright 2021 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 React from 'react';\nimport { KubernetesStructuredMetadataTableDrawer } from '../KubernetesDrawer';\nimport Typography from '@material-ui/core/Typography';\nimport Grid from '@material-ui/core/Grid';\n\nconst capitalize = (str: string) =>\n str.charAt(0).toLocaleUpperCase('en-US') + str.slice(1);\n\nexport const DefaultCustomResourceDrawer = ({\n customResource,\n customResourceName,\n expanded,\n}: {\n customResource: any;\n customResourceName: string;\n expanded?: boolean;\n}) => {\n const capitalizedName = capitalize(customResourceName);\n\n return (\n <KubernetesStructuredMetadataTableDrawer\n object={customResource}\n expanded={expanded}\n kind={capitalizedName}\n renderObject={cr => cr}\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 {customResource.metadata?.name ?? 'unknown object'}\n </Typography>\n </Grid>\n <Grid item>\n <Typography color=\"textSecondary\" variant=\"subtitle1\">\n {capitalizedName}\n </Typography>\n </Grid>\n </Grid>\n </KubernetesStructuredMetadataTableDrawer>\n );\n};\n"],"names":["React"],"mappings":";;;;;;;;;;AAqBA,MAAM,UAAa,GAAA,CAAC,GAClB,KAAA,GAAA,CAAI,MAAO,CAAA,CAAC,CAAE,CAAA,iBAAA,CAAkB,OAAO,CAAA,GAAI,GAAI,CAAA,KAAA,CAAM,CAAC,CAAA,CAAA;AAEjD,MAAM,8BAA8B,CAAC;AAAA,EAC1C,cAAA;AAAA,EACA,kBAAA;AAAA,EACA,QAAA;AACF,CAIM,KAAA;AAhCN,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAiCE,EAAM,MAAA,eAAA,GAAkB,WAAW,kBAAkB,CAAA,CAAA;AAErD,EACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,uCAAA;AAAA,IAAA;AAAA,MACC,MAAQ,EAAA,cAAA;AAAA,MACR,QAAA;AAAA,MACA,IAAM,EAAA,eAAA;AAAA,MACN,cAAc,CAAM,EAAA,KAAA,EAAA;AAAA,KAAA;AAAA,oBAEpBA,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,SAAS,EAAA,IAAA;AAAA,QACT,SAAU,EAAA,QAAA;AAAA,QACV,cAAe,EAAA,YAAA;AAAA,QACf,UAAW,EAAA,YAAA;AAAA,QACX,OAAS,EAAA,CAAA;AAAA,OAAA;AAAA,sBAERA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,IAAI,EAAA,IAAA,EAAA,+CACP,UAAW,EAAA,EAAA,OAAA,EAAQ,OACjB,EAAA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAA,CAAe,QAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAyB,IAAzB,KAAA,IAAA,GAAA,EAAA,GAAiC,gBACpC,CACF,CAAA;AAAA,sBACAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAI,IACR,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,KAAA,EAAM,eAAgB,EAAA,OAAA,EAAQ,WACvC,EAAA,EAAA,eACH,CACF,CAAA;AAAA,KACF;AAAA,GACF,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import React__default, { useContext } from 'react';
|
|
2
|
+
import Accordion from '@material-ui/core/Accordion';
|
|
3
|
+
import AccordionDetails from '@material-ui/core/AccordionDetails';
|
|
4
|
+
import AccordionSummary from '@material-ui/core/AccordionSummary';
|
|
5
|
+
import Grid from '@material-ui/core/Grid';
|
|
6
|
+
import ExpandMoreIcon from '@material-ui/icons/ExpandMore';
|
|
7
|
+
import '../Pods/PodDrawer/PodDrawer.esm.js';
|
|
8
|
+
import { StatusOK, StatusError } from '@backstage/core-components';
|
|
9
|
+
import '@material-ui/core/Card';
|
|
10
|
+
import '@material-ui/core/CardActions';
|
|
11
|
+
import '@material-ui/core/CardContent';
|
|
12
|
+
import '@material-ui/core/CardHeader';
|
|
13
|
+
import '@material-ui/core/Typography';
|
|
14
|
+
import 'luxon';
|
|
15
|
+
import '@backstage/core-plugin-api';
|
|
16
|
+
import 'react-use/esm/useAsync';
|
|
17
|
+
import '../../api/types.esm.js';
|
|
18
|
+
import 'react-use/esm/useInterval';
|
|
19
|
+
import 'react-use/esm/useAsyncRetry';
|
|
20
|
+
import '../../kubernetes-auth-provider/types.esm.js';
|
|
21
|
+
import { PodNamesWithErrorsContext } from '../../hooks/PodNamesWithErrors.esm.js';
|
|
22
|
+
import '../../hooks/PodNamesWithMetrics.esm.js';
|
|
23
|
+
import { GroupedResponsesContext } from '../../hooks/GroupedResponses.esm.js';
|
|
24
|
+
import '../../hooks/Cluster.esm.js';
|
|
25
|
+
import '../../hooks/usePodMetrics.esm.js';
|
|
26
|
+
import '../../hooks/useMatchingErrors.esm.js';
|
|
27
|
+
import '@material-ui/icons/OpenInBrowser';
|
|
28
|
+
import '../KubernetesDialog/KubernetesDialog.esm.js';
|
|
29
|
+
import '../PodExecTerminal/PodExecTerminal.esm.js';
|
|
30
|
+
import '@material-ui/core/Paper';
|
|
31
|
+
import '@material-ui/lab/Skeleton';
|
|
32
|
+
import '@material-ui/icons/Subject';
|
|
33
|
+
import '@material-ui/core/List';
|
|
34
|
+
import '@material-ui/core/ListItem';
|
|
35
|
+
import '../Pods/FixDialog/FixDialog.esm.js';
|
|
36
|
+
import '@material-ui/core/Avatar';
|
|
37
|
+
import '@material-ui/core/Container';
|
|
38
|
+
import '@material-ui/core/ListItemAvatar';
|
|
39
|
+
import '@material-ui/core/ListItemText';
|
|
40
|
+
import '@material-ui/core/Tooltip';
|
|
41
|
+
import '@material-ui/icons/Info';
|
|
42
|
+
import '@material-ui/icons/Warning';
|
|
43
|
+
import '../Pods/ErrorList/ErrorList.esm.js';
|
|
44
|
+
import { PodsTable, READY_COLUMNS, RESOURCE_COLUMNS } from '../Pods/PodsTable.esm.js';
|
|
45
|
+
import { DaemonSetDrawer } from './DaemonSetsDrawer.esm.js';
|
|
46
|
+
import { getOwnedResources } from '../../utils/owner.esm.js';
|
|
47
|
+
|
|
48
|
+
const DaemonSetSummary = ({
|
|
49
|
+
daemonset,
|
|
50
|
+
numberOfCurrentPods,
|
|
51
|
+
numberOfPodsWithErrors
|
|
52
|
+
}) => {
|
|
53
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
54
|
+
Grid,
|
|
55
|
+
{
|
|
56
|
+
container: true,
|
|
57
|
+
direction: "row",
|
|
58
|
+
justifyContent: "space-between",
|
|
59
|
+
alignItems: "center",
|
|
60
|
+
spacing: 0
|
|
61
|
+
},
|
|
62
|
+
/* @__PURE__ */ React__default.createElement(Grid, { xs: 4, item: true }, /* @__PURE__ */ React__default.createElement(DaemonSetDrawer, { daemonset })),
|
|
63
|
+
/* @__PURE__ */ React__default.createElement(
|
|
64
|
+
Grid,
|
|
65
|
+
{
|
|
66
|
+
item: true,
|
|
67
|
+
container: true,
|
|
68
|
+
xs: 4,
|
|
69
|
+
direction: "column",
|
|
70
|
+
justifyContent: "flex-start",
|
|
71
|
+
alignItems: "flex-end",
|
|
72
|
+
spacing: 0
|
|
73
|
+
},
|
|
74
|
+
/* @__PURE__ */ React__default.createElement(Grid, { item: true }, /* @__PURE__ */ React__default.createElement(StatusOK, null, numberOfCurrentPods, " pods")),
|
|
75
|
+
/* @__PURE__ */ React__default.createElement(Grid, { item: true }, numberOfPodsWithErrors > 0 ? /* @__PURE__ */ React__default.createElement(StatusError, null, numberOfPodsWithErrors, " pod", numberOfPodsWithErrors > 1 ? "s" : "", " with errors") : /* @__PURE__ */ React__default.createElement(StatusOK, null, "No pods with errors"))
|
|
76
|
+
)
|
|
77
|
+
);
|
|
78
|
+
};
|
|
79
|
+
const DaemonSetAccordion = ({
|
|
80
|
+
daemonset,
|
|
81
|
+
ownedPods
|
|
82
|
+
}) => {
|
|
83
|
+
const podNamesWithErrors = useContext(PodNamesWithErrorsContext);
|
|
84
|
+
const podsWithErrors = ownedPods.filter(
|
|
85
|
+
(p) => {
|
|
86
|
+
var _a, _b;
|
|
87
|
+
return podNamesWithErrors.has((_b = (_a = p.metadata) == null ? void 0 : _a.name) != null ? _b : "");
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
return /* @__PURE__ */ React__default.createElement(Accordion, { TransitionProps: { unmountOnExit: true }, variant: "outlined" }, /* @__PURE__ */ React__default.createElement(AccordionSummary, { expandIcon: /* @__PURE__ */ React__default.createElement(ExpandMoreIcon, null) }, /* @__PURE__ */ React__default.createElement(
|
|
91
|
+
DaemonSetSummary,
|
|
92
|
+
{
|
|
93
|
+
daemonset,
|
|
94
|
+
numberOfCurrentPods: ownedPods.length,
|
|
95
|
+
numberOfPodsWithErrors: podsWithErrors.length
|
|
96
|
+
}
|
|
97
|
+
)), /* @__PURE__ */ React__default.createElement(AccordionDetails, null, /* @__PURE__ */ React__default.createElement(
|
|
98
|
+
PodsTable,
|
|
99
|
+
{
|
|
100
|
+
pods: ownedPods,
|
|
101
|
+
extraColumns: [READY_COLUMNS, RESOURCE_COLUMNS]
|
|
102
|
+
}
|
|
103
|
+
)));
|
|
104
|
+
};
|
|
105
|
+
const DaemonSetsAccordions = ({}) => {
|
|
106
|
+
const groupedResponses = useContext(GroupedResponsesContext);
|
|
107
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
108
|
+
Grid,
|
|
109
|
+
{
|
|
110
|
+
container: true,
|
|
111
|
+
direction: "column",
|
|
112
|
+
justifyContent: "flex-start",
|
|
113
|
+
alignItems: "flex-start"
|
|
114
|
+
},
|
|
115
|
+
groupedResponses.daemonSets.map((daemonset, i) => /* @__PURE__ */ React__default.createElement(Grid, { container: true, item: true, key: i, xs: true }, /* @__PURE__ */ React__default.createElement(Grid, { item: true, xs: true }, /* @__PURE__ */ React__default.createElement(
|
|
116
|
+
DaemonSetAccordion,
|
|
117
|
+
{
|
|
118
|
+
ownedPods: getOwnedResources(daemonset, groupedResponses.pods),
|
|
119
|
+
daemonset
|
|
120
|
+
}
|
|
121
|
+
))))
|
|
122
|
+
);
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export { DaemonSetsAccordions };
|
|
126
|
+
//# sourceMappingURL=DaemonSetsAccordions.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DaemonSetsAccordions.esm.js","sources":["../../../src/components/DaemonSetsAccordions/DaemonSetsAccordions.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 React, { 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 ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { V1Pod, V1DaemonSet } from '@kubernetes/client-node';\nimport { PodsTable } from '../Pods';\nimport { DaemonSetDrawer } from './DaemonSetsDrawer';\nimport { 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 DaemonSetsAccordionsProps = {\n children?: React.ReactNode;\n};\n\ntype DaemonSetAccordionProps = {\n daemonset: V1DaemonSet;\n ownedPods: V1Pod[];\n children?: React.ReactNode;\n};\n\ntype DaemonSetSummaryProps = {\n daemonset: V1DaemonSet;\n numberOfCurrentPods: number;\n numberOfPodsWithErrors: number;\n children?: React.ReactNode;\n};\n\nconst DaemonSetSummary = ({\n daemonset,\n numberOfCurrentPods,\n numberOfPodsWithErrors,\n}: DaemonSetSummaryProps) => {\n return (\n <Grid\n container\n direction=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n spacing={0}\n >\n <Grid xs={4} item>\n <DaemonSetDrawer daemonset={daemonset} />\n </Grid>\n <Grid\n item\n container\n xs={4}\n direction=\"column\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-end\"\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 DaemonSetAccordion = ({\n daemonset,\n ownedPods,\n}: DaemonSetAccordionProps) => {\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 <DaemonSetSummary\n daemonset={daemonset}\n numberOfCurrentPods={ownedPods.length}\n numberOfPodsWithErrors={podsWithErrors.length}\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 DaemonSetsAccordions = ({}: DaemonSetsAccordionsProps) => {\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.daemonSets.map((daemonset, i) => (\n <Grid container item key={i} xs>\n <Grid item xs>\n <DaemonSetAccordion\n ownedPods={getOwnedResources(daemonset, groupedResponses.pods)}\n daemonset={daemonset}\n />\n </Grid>\n </Grid>\n ))}\n </Grid>\n );\n};\n"],"names":["React"],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { KubernetesStructuredMetadataTableDrawer } from '../KubernetesDrawer/KubernetesStructuredMetadataTableDrawer.esm.js';
|
|
3
|
+
import '../KubernetesDrawer/KubernetesDrawer.esm.js';
|
|
4
|
+
import '@backstage/core-components';
|
|
5
|
+
import '@material-ui/core/FormControlLabel';
|
|
6
|
+
import '@material-ui/core/Switch';
|
|
7
|
+
import 'js-yaml';
|
|
8
|
+
import Typography from '@material-ui/core/Typography';
|
|
9
|
+
import Grid from '@material-ui/core/Grid';
|
|
10
|
+
import Chip from '@material-ui/core/Chip';
|
|
11
|
+
|
|
12
|
+
const DaemonSetDrawer = ({
|
|
13
|
+
daemonset,
|
|
14
|
+
expanded
|
|
15
|
+
}) => {
|
|
16
|
+
var _a, _b, _c;
|
|
17
|
+
const namespace = (_a = daemonset.metadata) == null ? void 0 : _a.namespace;
|
|
18
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
19
|
+
KubernetesStructuredMetadataTableDrawer,
|
|
20
|
+
{
|
|
21
|
+
object: daemonset,
|
|
22
|
+
expanded,
|
|
23
|
+
kind: "DaemonSet",
|
|
24
|
+
renderObject: (daemonsetObj) => {
|
|
25
|
+
var _a2, _b2, _c2, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
|
|
26
|
+
return {
|
|
27
|
+
updateStrategyType: (_c2 = (_b2 = (_a2 = daemonsetObj.spec) == null ? void 0 : _a2.updateStrategy) == null ? void 0 : _b2.type) != null ? _c2 : "???",
|
|
28
|
+
minReadySeconds: (_e = (_d = daemonsetObj.spec) == null ? void 0 : _d.minReadySeconds) != null ? _e : "???",
|
|
29
|
+
revisionHistoryLimit: (_g = (_f = daemonsetObj.spec) == null ? void 0 : _f.revisionHistoryLimit) != null ? _g : "???",
|
|
30
|
+
currentNumberScheduled: (_i = (_h = daemonsetObj.status) == null ? void 0 : _h.currentNumberScheduled) != null ? _i : "???",
|
|
31
|
+
desiredNumberScheduled: (_k = (_j = daemonsetObj.status) == null ? void 0 : _j.desiredNumberScheduled) != null ? _k : "???",
|
|
32
|
+
numberAvailable: (_m = (_l = daemonsetObj.status) == null ? void 0 : _l.numberAvailable) != null ? _m : "???",
|
|
33
|
+
numberMisscheduled: (_o = (_n = daemonsetObj.status) == null ? void 0 : _n.numberMisscheduled) != null ? _o : "???",
|
|
34
|
+
numberReady: (_q = (_p = daemonsetObj.status) == null ? void 0 : _p.numberReady) != null ? _q : "???"
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
/* @__PURE__ */ React__default.createElement(
|
|
39
|
+
Grid,
|
|
40
|
+
{
|
|
41
|
+
container: true,
|
|
42
|
+
direction: "column",
|
|
43
|
+
justifyContent: "flex-start",
|
|
44
|
+
alignItems: "flex-start",
|
|
45
|
+
spacing: 0
|
|
46
|
+
},
|
|
47
|
+
/* @__PURE__ */ React__default.createElement(Grid, { item: true }, /* @__PURE__ */ React__default.createElement(Typography, { variant: "body1" }, (_c = (_b = daemonset.metadata) == null ? void 0 : _b.name) != null ? _c : "unknown object")),
|
|
48
|
+
/* @__PURE__ */ React__default.createElement(Grid, { item: true }, /* @__PURE__ */ React__default.createElement(Typography, { color: "textSecondary", variant: "subtitle1" }, "DaemonSet")),
|
|
49
|
+
namespace && /* @__PURE__ */ React__default.createElement(Grid, { item: true }, /* @__PURE__ */ React__default.createElement(Chip, { size: "small", label: `namespace: ${namespace}` }))
|
|
50
|
+
)
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export { DaemonSetDrawer };
|
|
55
|
+
//# sourceMappingURL=DaemonSetsDrawer.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DaemonSetsDrawer.esm.js","sources":["../../../src/components/DaemonSetsAccordions/DaemonSetsDrawer.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 React from 'react';\nimport { V1DaemonSet } 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 DaemonSetDrawer = ({\n daemonset,\n expanded,\n}: {\n daemonset: V1DaemonSet;\n expanded?: boolean;\n}) => {\n const namespace = daemonset.metadata?.namespace;\n return (\n <KubernetesStructuredMetadataTableDrawer\n object={daemonset}\n expanded={expanded}\n kind=\"DaemonSet\"\n renderObject={(daemonsetObj: V1DaemonSet) => {\n return {\n updateStrategyType: daemonsetObj.spec?.updateStrategy?.type ?? '???',\n minReadySeconds: daemonsetObj.spec?.minReadySeconds ?? '???',\n revisionHistoryLimit:\n daemonsetObj.spec?.revisionHistoryLimit ?? '???',\n currentNumberScheduled:\n daemonsetObj.status?.currentNumberScheduled ?? '???',\n desiredNumberScheduled:\n daemonsetObj.status?.desiredNumberScheduled ?? '???',\n numberAvailable: daemonsetObj.status?.numberAvailable ?? '???',\n numberMisscheduled: daemonsetObj.status?.numberMisscheduled ?? '???',\n numberReady: daemonsetObj.status?.numberReady ?? '???',\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 {daemonset.metadata?.name ?? 'unknown object'}\n </Typography>\n </Grid>\n <Grid item>\n <Typography color=\"textSecondary\" variant=\"subtitle1\">\n DaemonSet\n </Typography>\n </Grid>\n {namespace && (\n <Grid item>\n <Chip size=\"small\" label={`namespace: ${namespace}`} />\n </Grid>\n )}\n </Grid>\n </KubernetesStructuredMetadataTableDrawer>\n );\n};\n"],"names":["React","_a","_b","_c"],"mappings":";;;;;;;;;;;AAuBO,MAAM,kBAAkB,CAAC;AAAA,EAC9B,SAAA;AAAA,EACA,QAAA;AACF,CAGM,KAAA;AA7BN,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AA8BE,EAAM,MAAA,SAAA,GAAA,CAAY,EAAU,GAAA,SAAA,CAAA,QAAA,KAAV,IAAoB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA,CAAA;AACtC,EACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,uCAAA;AAAA,IAAA;AAAA,MACC,MAAQ,EAAA,SAAA;AAAA,MACR,QAAA;AAAA,MACA,IAAK,EAAA,WAAA;AAAA,MACL,YAAA,EAAc,CAAC,YAA8B,KAAA;AApCnD,QAAAC,IAAAA,GAAAA,EAAAC,KAAAC,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAqCQ,QAAO,OAAA;AAAA,UACL,kBAAoBA,EAAAA,CAAAA,GAAAA,GAAAA,CAAAD,GAAAD,GAAAA,CAAAA,GAAAA,GAAA,YAAa,CAAA,IAAA,KAAb,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAmB,cAAnB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAC,GAAmC,CAAA,IAAA,KAAnC,OAAAC,GAA2C,GAAA,KAAA;AAAA,UAC/D,eAAiB,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,YAAA,CAAa,IAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAmB,oBAAnB,IAAsC,GAAA,EAAA,GAAA,KAAA;AAAA,UACvD,oBACE,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,YAAA,CAAa,IAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAmB,yBAAnB,IAA2C,GAAA,EAAA,GAAA,KAAA;AAAA,UAC7C,sBACE,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,YAAA,CAAa,MAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAqB,2BAArB,IAA+C,GAAA,EAAA,GAAA,KAAA;AAAA,UACjD,sBACE,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,YAAA,CAAa,MAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAqB,2BAArB,IAA+C,GAAA,EAAA,GAAA,KAAA;AAAA,UACjD,eAAiB,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,YAAA,CAAa,MAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAqB,oBAArB,IAAwC,GAAA,EAAA,GAAA,KAAA;AAAA,UACzD,kBAAoB,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,YAAA,CAAa,MAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAqB,uBAArB,IAA2C,GAAA,EAAA,GAAA,KAAA;AAAA,UAC/D,WAAa,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,YAAA,CAAa,MAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAqB,gBAArB,IAAoC,GAAA,EAAA,GAAA,KAAA;AAAA,SACnD,CAAA;AAAA,OACF;AAAA,KAAA;AAAA,oBAEAH,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,SAAS,EAAA,IAAA;AAAA,QACT,SAAU,EAAA,QAAA;AAAA,QACV,cAAe,EAAA,YAAA;AAAA,QACf,UAAW,EAAA,YAAA;AAAA,QACX,OAAS,EAAA,CAAA;AAAA,OAAA;AAAA,sBAERA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,IAAI,EAAA,IAAA,EAAA,+CACP,UAAW,EAAA,EAAA,OAAA,EAAQ,OACjB,EAAA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,SAAA,CAAU,QAAV,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoB,IAApB,KAAA,IAAA,GAAA,EAAA,GAA4B,gBAC/B,CACF,CAAA;AAAA,sBACAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAI,IACR,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,KAAA,EAAM,eAAgB,EAAA,OAAA,EAAQ,WAAY,EAAA,EAAA,WAEtD,CACF,CAAA;AAAA,MACC,SACC,oBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAI,IACR,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAK,OAAQ,EAAA,KAAA,EAAO,CAAc,WAAA,EAAA,SAAS,IAAI,CACvD,CAAA;AAAA,KAEJ;AAAA,GACF,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { KubernetesStructuredMetadataTableDrawer } from '../KubernetesDrawer/KubernetesStructuredMetadataTableDrawer.esm.js';
|
|
3
|
+
import '../KubernetesDrawer/KubernetesDrawer.esm.js';
|
|
4
|
+
import '@backstage/core-components';
|
|
5
|
+
import '@material-ui/core/FormControlLabel';
|
|
6
|
+
import '@material-ui/core/Switch';
|
|
7
|
+
import 'js-yaml';
|
|
8
|
+
import { renderCondition } from '../../utils/pod.esm.js';
|
|
9
|
+
import Typography from '@material-ui/core/Typography';
|
|
10
|
+
import Grid from '@material-ui/core/Grid';
|
|
11
|
+
import Chip from '@material-ui/core/Chip';
|
|
12
|
+
|
|
13
|
+
const DeploymentDrawer = ({
|
|
14
|
+
deployment,
|
|
15
|
+
expanded
|
|
16
|
+
}) => {
|
|
17
|
+
var _a, _b, _c;
|
|
18
|
+
const namespace = (_a = deployment.metadata) == null ? void 0 : _a.namespace;
|
|
19
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
20
|
+
KubernetesStructuredMetadataTableDrawer,
|
|
21
|
+
{
|
|
22
|
+
object: deployment,
|
|
23
|
+
expanded,
|
|
24
|
+
kind: "Deployment",
|
|
25
|
+
renderObject: (deploymentObj) => {
|
|
26
|
+
var _a2, _b2, _c2, _d, _e, _f, _g, _h;
|
|
27
|
+
const conditions = ((_b2 = (_a2 = deploymentObj.status) == null ? void 0 : _a2.conditions) != null ? _b2 : []).map(renderCondition).reduce((accum, next) => {
|
|
28
|
+
accum[next[0]] = next[1];
|
|
29
|
+
return accum;
|
|
30
|
+
}, {});
|
|
31
|
+
return {
|
|
32
|
+
strategy: (_d = (_c2 = deploymentObj.spec) == null ? void 0 : _c2.strategy) != null ? _d : "???",
|
|
33
|
+
minReadySeconds: (_f = (_e = deploymentObj.spec) == null ? void 0 : _e.minReadySeconds) != null ? _f : "???",
|
|
34
|
+
progressDeadlineSeconds: (_h = (_g = deploymentObj.spec) == null ? void 0 : _g.progressDeadlineSeconds) != null ? _h : "???",
|
|
35
|
+
...conditions
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
/* @__PURE__ */ React__default.createElement(
|
|
40
|
+
Grid,
|
|
41
|
+
{
|
|
42
|
+
container: true,
|
|
43
|
+
direction: "column",
|
|
44
|
+
justifyContent: "flex-start",
|
|
45
|
+
alignItems: "flex-start",
|
|
46
|
+
spacing: 0
|
|
47
|
+
},
|
|
48
|
+
/* @__PURE__ */ React__default.createElement(Grid, { item: true }, /* @__PURE__ */ React__default.createElement(Typography, { variant: "body1" }, (_c = (_b = deployment.metadata) == null ? void 0 : _b.name) != null ? _c : "unknown object")),
|
|
49
|
+
/* @__PURE__ */ React__default.createElement(Grid, { item: true }, /* @__PURE__ */ React__default.createElement(Typography, { color: "textSecondary", variant: "subtitle1" }, "Deployment")),
|
|
50
|
+
namespace && /* @__PURE__ */ React__default.createElement(Grid, { item: true }, /* @__PURE__ */ React__default.createElement(Chip, { size: "small", label: `namespace: ${namespace}` }))
|
|
51
|
+
)
|
|
52
|
+
);
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export { DeploymentDrawer };
|
|
56
|
+
//# sourceMappingURL=DeploymentDrawer.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeploymentDrawer.esm.js","sources":["../../../src/components/DeploymentsAccordions/DeploymentDrawer.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 React from 'react';\nimport { V1Deployment } 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 DeploymentDrawer = ({\n deployment,\n expanded,\n}: {\n deployment: V1Deployment;\n expanded?: boolean;\n}) => {\n const namespace = deployment.metadata?.namespace;\n return (\n <KubernetesStructuredMetadataTableDrawer\n object={deployment}\n expanded={expanded}\n kind=\"Deployment\"\n renderObject={(deploymentObj: V1Deployment) => {\n const conditions = (deploymentObj.status?.conditions ?? [])\n .map(renderCondition)\n .reduce((accum, next) => {\n accum[next[0]] = next[1];\n return accum;\n }, {} as { [key: string]: React.ReactNode });\n\n return {\n strategy: deploymentObj.spec?.strategy ?? '???',\n minReadySeconds: deploymentObj.spec?.minReadySeconds ?? '???',\n progressDeadlineSeconds:\n deploymentObj.spec?.progressDeadlineSeconds ?? '???',\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 {deployment.metadata?.name ?? 'unknown object'}\n </Typography>\n </Grid>\n <Grid item>\n <Typography color=\"textSecondary\" variant=\"subtitle1\">\n Deployment\n </Typography>\n </Grid>\n {namespace && (\n <Grid item>\n <Chip size=\"small\" label={`namespace: ${namespace}`} />\n </Grid>\n )}\n </Grid>\n </KubernetesStructuredMetadataTableDrawer>\n );\n};\n"],"names":["React","_a","_b","_c"],"mappings":"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"}
|