From 90d291384ed3c10737f6e5ee39b7788fa1112edd Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Fri, 16 Dec 2022 11:38:31 -0500 Subject: [PATCH] Remove kube-object-event-status extension Signed-off-by: Sebastian Malton --- extensions/kube-object-event-status/Makefile | 8 --- .../kube-object-event-status/package.json | 21 ------ .../kube-object-event-status/renderer.tsx | 53 -------------- .../kube-object-event-status/src/resolver.tsx | 72 ------------------- .../kube-object-event-status/tsconfig.json | 27 ------- .../webpack.config.js | 44 ------------ package.json | 2 - 7 files changed, 227 deletions(-) delete mode 100644 extensions/kube-object-event-status/Makefile delete mode 100644 extensions/kube-object-event-status/package.json delete mode 100644 extensions/kube-object-event-status/renderer.tsx delete mode 100644 extensions/kube-object-event-status/src/resolver.tsx delete mode 100644 extensions/kube-object-event-status/tsconfig.json delete mode 100644 extensions/kube-object-event-status/webpack.config.js diff --git a/extensions/kube-object-event-status/Makefile b/extensions/kube-object-event-status/Makefile deleted file mode 100644 index 1c9223e184..0000000000 --- a/extensions/kube-object-event-status/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -install-deps: - npm install - -build: install-deps - npm run build - -test: - npm run test diff --git a/extensions/kube-object-event-status/package.json b/extensions/kube-object-event-status/package.json deleted file mode 100644 index 4e65471429..0000000000 --- a/extensions/kube-object-event-status/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "kube-object-event-status", - "version": "6.1.1", - "description": "Adds kube object status from events", - "renderer": "dist/renderer.js", - "lens": { - "metadata": {}, - "styles": [] - }, - "scripts": { - "build": "npx webpack", - "dev": "npx webpack -- --watch", - "test": "echo NO TESTS" - }, - "files": [ - "dist/**/*" - ], - "devDependencies": { - "@k8slens/extensions": "file:../../src/extensions/npm/extensions" - } -} diff --git a/extensions/kube-object-event-status/renderer.tsx b/extensions/kube-object-event-status/renderer.tsx deleted file mode 100644 index 65b92a2658..0000000000 --- a/extensions/kube-object-event-status/renderer.tsx +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import { Renderer } from "@k8slens/extensions"; -import { resolveStatus, resolveStatusForCronJobs, resolveStatusForPods } from "./src/resolver"; - -export default class EventResourceStatusRendererExtension extends Renderer.LensExtension { - kubeObjectStatusTexts = [ - { - kind: "Pod", - apiVersions: ["v1"], - resolve: (pod: Renderer.K8sApi.Pod) => resolveStatusForPods(pod), - }, - { - kind: "ReplicaSet", - apiVersions: ["v1"], - resolve: (replicaSet: Renderer.K8sApi.ReplicaSet) => resolveStatus(replicaSet), - }, - { - kind: "Deployment", - apiVersions: ["apps/v1"], - resolve: (deployment: Renderer.K8sApi.Deployment) => resolveStatus(deployment), - }, - { - kind: "StatefulSet", - apiVersions: ["apps/v1"], - resolve: (statefulSet: Renderer.K8sApi.StatefulSet) => resolveStatus(statefulSet), - }, - { - kind: "DaemonSet", - apiVersions: ["apps/v1"], - resolve: (daemonSet: Renderer.K8sApi.DaemonSet) => resolveStatus(daemonSet), - }, - { - kind: "Job", - apiVersions: [ - "batch/v1", - "batch/v1beta1", - ], - resolve: (job: Renderer.K8sApi.Job) => resolveStatus(job), - }, - { - kind: "CronJob", - apiVersions: [ - "batch/v1", - "batch/v1beta1", - ], - resolve: (cronJob: Renderer.K8sApi.CronJob) => resolveStatusForCronJobs(cronJob), - }, - ]; -} diff --git a/extensions/kube-object-event-status/src/resolver.tsx b/extensions/kube-object-event-status/src/resolver.tsx deleted file mode 100644 index fa98290c49..0000000000 --- a/extensions/kube-object-event-status/src/resolver.tsx +++ /dev/null @@ -1,72 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import { Renderer } from "@k8slens/extensions"; - -const { apiManager, eventApi, KubeObjectStatusLevel } = Renderer.K8sApi; - -type KubeObject = Renderer.K8sApi.KubeObject; -type Pod = Renderer.K8sApi.Pod; -type CronJob = Renderer.K8sApi.CronJob; -type KubeObjectStatus = Renderer.K8sApi.KubeObjectStatus; -type EventStore = Renderer.K8sApi.EventStore; - -export function resolveStatus(object: KubeObject): KubeObjectStatus { - const eventStore = apiManager.getStore(eventApi); - const events = (eventStore as EventStore).getEventsByObject(object); - const warnings = events.filter(evt => evt.isWarning()); - - if (!events.length || !warnings.length) { - return null; - } - const event = [...warnings, ...events][0]; // get latest event - - return { - level: KubeObjectStatusLevel.WARNING, - text: `${event.message}`, - timestamp: event.metadata.creationTimestamp, - }; -} - -export function resolveStatusForPods(pod: Pod): KubeObjectStatus { - if (!pod.hasIssues()) { - return null; - } - const eventStore = apiManager.getStore(eventApi); - const events = (eventStore as EventStore).getEventsByObject(pod); - const warnings = events.filter(evt => evt.isWarning()); - - if (!events.length || !warnings.length) { - return null; - } - const event = [...warnings, ...events][0]; // get latest event - - return { - level: KubeObjectStatusLevel.WARNING, - text: `${event.message}`, - timestamp: event.metadata.creationTimestamp, - }; -} - -export function resolveStatusForCronJobs(cronJob: CronJob): KubeObjectStatus { - const eventStore = apiManager.getStore(eventApi); - let events = (eventStore as EventStore).getEventsByObject(cronJob); - const warnings = events.filter(evt => evt.isWarning()); - - if (cronJob.isNeverRun()) { - events = events.filter(event => event.reason != "FailedNeedsStart"); - } - - if (!events.length || !warnings.length) { - return null; - } - const event = [...warnings, ...events][0]; // get latest event - - return { - level: KubeObjectStatusLevel.WARNING, - text: `${event.message}`, - timestamp: event.metadata.creationTimestamp, - }; -} diff --git a/extensions/kube-object-event-status/tsconfig.json b/extensions/kube-object-event-status/tsconfig.json deleted file mode 100644 index 5b6c61577e..0000000000 --- a/extensions/kube-object-event-status/tsconfig.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "compilerOptions": { - "outDir": "dist", - "module": "CommonJS", - "target": "ES2017", - "lib": ["ESNext", "DOM", "DOM.Iterable"], - "moduleResolution": "Node", - "sourceMap": false, - "declaration": false, - "strict": false, - "noImplicitAny": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "experimentalDecorators": true, - "useDefineForClassFields": true, - "jsx": "react" - }, - "include": [ - "./*.ts", - "./*.tsx" - ], - "exclude": [ - "node_modules", - "*.js" - ] -} diff --git a/extensions/kube-object-event-status/webpack.config.js b/extensions/kube-object-event-status/webpack.config.js deleted file mode 100644 index 8fe82e48a7..0000000000 --- a/extensions/kube-object-event-status/webpack.config.js +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -const path = require("path"); - -module.exports = [ - { - entry: "./renderer.tsx", - context: __dirname, - target: "electron-renderer", - mode: "production", - optimization: { - minimize: false, - }, - module: { - rules: [ - { - test: /\.tsx?$/, - use: "ts-loader", - exclude: /node_modules/, - }, - ], - }, - externals: [ - { - "@k8slens/extensions": "var global.LensExtensions", - "react": "var global.React", - "react-dom": "var global.ReactDOM", - "mobx": "var global.Mobx", - "mobx-react": "var global.MobxReact", - }, - ], - resolve: { - extensions: [ ".tsx", ".ts", ".js" ], - }, - output: { - libraryTarget: "commonjs2", - globalObject: "this", - filename: "renderer.js", - path: path.resolve(__dirname, "dist"), - }, - }, -]; diff --git a/package.json b/package.json index c6258f0668..3c51b3748c 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,6 @@ "contentSecurityPolicy": "script-src 'unsafe-eval' 'self'; frame-src http://*.localhost:*/; img-src * data:", "welcomeRoute": "/welcome", "extensions": [ - "kube-object-event-status", "metrics-cluster-feature", "node-menu", "pod-menu" @@ -234,7 +233,6 @@ "joi": "^17.7.0", "js-yaml": "^4.1.0", "jsdom": "^16.7.0", - "kube-object-event-status": "file:./extensions/kube-object-event-status", "lens-metrics-cluster-feature": "file:./extensions/metrics-cluster-feature", "lens-node-menu": "file:./extensions/node-menu", "lens-pod-menu": "file:./extensions/pod-menu",