diff --git a/open-lens/build/notarize.js b/open-lens/build/notarize.js index 0bf1903e59..f78b448aa8 100644 --- a/open-lens/build/notarize.js +++ b/open-lens/build/notarize.js @@ -2,7 +2,7 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -const { notarize } = require("electron-notarize"); +const { notarize } = require("@electron/notarize"); exports.default = async function notarizing(context) { const { electronPlatformName, appOutDir } = context; @@ -22,6 +22,8 @@ exports.default = async function notarizing(context) { appPath: `${appOutDir}/${appName}.app`, appleId: process.env.APPLEID, appleIdPassword: process.env.APPLEIDPASS, - ascProvider:process.env.ASCPROVIDER, + ascProvider: process.env.ASCPROVIDER, + teamId: process.env.APPLETEAMID, + tool: process.env.NOTARIZE_TOOL || "legacy", }); }; diff --git a/open-lens/package.json b/open-lens/package.json index 6255de8f6c..ffb87c2d82 100644 --- a/open-lens/package.json +++ b/open-lens/package.json @@ -193,7 +193,7 @@ "@k8slens/json-api": "^1.0.0-alpha.3", "@k8slens/keyboard-shortcuts": "^1.0.0", "@k8slens/kube-api": "^1.0.0-alpha.1", - "@k8slens/kube-api-specifics": "^1.0.0-alpha.1", + "@k8slens/kube-api-specifics": "^1.0.0", "@k8slens/kube-object": "^1.0.0", "@k8slens/kubectl-versions": "^1.0.0", "@k8slens/legacy-extension-example": "^1.0.0", @@ -206,6 +206,8 @@ "@k8slens/messaging-for-renderer": "^1.0.0", "@k8slens/metrics": "^6.5.0", "@k8slens/node-fetch": "^6.5.0", + "@k8slens/prometheus": "^1.0.0", + "@k8slens/random": "^1.0.0", "@k8slens/react-application": "^1.0.0", "@k8slens/resizing-anchor": "^1.0.0", "@k8slens/resource-templates": "^1.0.0", @@ -218,11 +220,11 @@ "@kubernetes/client-node": "^0.18.1", "@material-ui/core": "^4.12.3", "@material-ui/lab": "^4.0.0-alpha.60", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-extension-for-mobx": "^17.1.0", - "@ogre-tools/injectable-react": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-extension-for-mobx": "^17.2.0", + "@ogre-tools/injectable-react": "^17.2.0", "@sentry/electron": "^3.0.8", "@sentry/integrations": "^6.19.3", "ansi_up": "^5.2.1", @@ -298,6 +300,7 @@ "xterm-link-provider": "^1.3.1" }, "devDependencies": { + "@electron/notarize": "^1.2.3", "@electron/rebuild": "^3.2.10", "@k8slens/generate-tray-icons": "^6.5.0", "@k8slens/test-utils": "^1.0.0", @@ -331,7 +334,6 @@ "css-loader": "^6.7.2", "electron": "^22.3.10", "electron-builder": "^23.6.0", - "electron-notarize": "^0.3.0", "esbuild-loader": "^2.20.0", "fork-ts-checker-webpack-plugin": "^7.3.0", "html-webpack-plugin": "^5.5.1", diff --git a/open-lens/src/main/index.ts b/open-lens/src/main/index.ts index 6eaac3e1db..8a90aaca46 100644 --- a/open-lens/src/main/index.ts +++ b/open-lens/src/main/index.ts @@ -12,6 +12,9 @@ import { applicationFeature, startApplicationInjectionToken } from '@k8slens/app import { applicationFeatureForElectronMain } from '@k8slens/application-for-electron-main' import { messagingFeatureForMain } from "@k8slens/messaging-for-main"; import { loggerFeature } from "@k8slens/logger"; +import { randomFeature } from "@k8slens/random"; +import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics"; +import { prometheusFeature } from "@k8slens/prometheus"; const environment = "main"; @@ -24,15 +27,15 @@ registerMobX(di); runInAction(() => { registerLensCore(di, environment); - registerFeature(di, - loggerFeature, - ); - registerFeature( di, + loggerFeature, + prometheusFeature, applicationFeature, applicationFeatureForElectronMain, messagingFeatureForMain, + randomFeature, + kubeApiSpecificsFeature, ); try { diff --git a/open-lens/src/renderer/index.ts b/open-lens/src/renderer/index.ts index 19ce93e220..bfcb814a8a 100644 --- a/open-lens/src/renderer/index.ts +++ b/open-lens/src/renderer/index.ts @@ -5,6 +5,7 @@ import "@k8slens/tooltip/styles"; import "@k8slens/resizing-anchor/styles"; import "@k8slens/icon/styles"; import "@k8slens/animate/styles"; +import "@k8slens/notifications/styles"; import { runInAction } from "mobx"; import { @@ -29,6 +30,9 @@ import { routingFeature } from "@k8slens/routing"; import { loggerFeature } from "@k8slens/logger"; import { animateFeature } from "@k8slens/animate"; import { clusterSidebarFeature } from "@k8slens/cluster-sidebar"; +import { randomFeature } from "@k8slens/random"; +import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics"; +import { notificationsFeature } from "@k8slens/notifications"; const environment = "renderer"; @@ -56,6 +60,9 @@ runInAction(() => { metricsFeature, animateFeature, clusterSidebarFeature, + randomFeature, + kubeApiSpecificsFeature, + notificationsFeature, ); autoRegister({ diff --git a/package-lock.json b/package-lock.json index 59d4ad1949..86ecfe62d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "open-lens" ], "devDependencies": { - "@ogre-tools/linkable": "^17.1.0", + "@ogre-tools/linkable": "^17.2.0", "adr": "^1.4.3", "cross-env": "^7.0.3", "lerna": "^6.6.1", @@ -2188,6 +2188,19 @@ "node": ">= 4.0.0" } }, + "node_modules/@electron/notarize": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-1.2.3.tgz", + "integrity": "sha512-9oRzT56rKh5bspk3KpAVF8lPKHYQrBnRwcgiOeR0hdilVEQmszDaAu0IPCPrwwzJN0ugNs0rRboTreHMt/6mBQ==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/@electron/rebuild": { "version": "3.2.13", "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.2.13.tgz", @@ -3818,6 +3831,18 @@ "resolved": "packages/node-fetch", "link": true }, + "node_modules/@k8slens/notifications": { + "resolved": "packages/ui-components/notifications", + "link": true + }, + "node_modules/@k8slens/prometheus": { + "resolved": "packages/technical-features/prometheus", + "link": true + }, + "node_modules/@k8slens/random": { + "resolved": "packages/random-id", + "link": true + }, "node_modules/@k8slens/react-application": { "resolved": "packages/technical-features/react-application", "link": true @@ -6070,26 +6095,26 @@ } }, "node_modules/@ogre-tools/fp": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@ogre-tools/fp/-/fp-17.1.0.tgz", - "integrity": "sha512-xgS9JONX2fhqcyAPABMyW9q7QutAfjSvdCxufirmbNSO+Syesr2zTkGjp4Aja9UZPuHBo46RoA9iVl33Lkb1Ww==", + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@ogre-tools/fp/-/fp-17.2.0.tgz", + "integrity": "sha512-FF2v/jlQkyVYtborPGq3AS8dK+Fah1f01lajtqd7tW85IwJk0ut7B69o3OA78SvHzNkkFy6y7BmfmVZQ+DkdtA==", "peerDependencies": { "lodash": "^4.17.21" } }, "node_modules/@ogre-tools/injectable": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@ogre-tools/injectable/-/injectable-17.1.0.tgz", - "integrity": "sha512-jqUNCg4nYNGnpb2Ymi+FSBJjWx+PnJniclZrfKyCV/Nafbfyt0+f22V0ag3qc9SHc9WXNg4wqVdkK4GCE56oZg==", + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@ogre-tools/injectable/-/injectable-17.2.0.tgz", + "integrity": "sha512-foBG+lZvlSfoL3hwkyLFHcpfiXuBzsRLcqI7YuKvY//9Wz3DhXXlafF8s6vUDmVl8AQ2pODfDEe36X2WTrqMdg==", "peerDependencies": { "@ogre-tools/fp": "^16 || ^17", "lodash": "^4.17.21" } }, "node_modules/@ogre-tools/injectable-extension-for-auto-registration": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-auto-registration/-/injectable-extension-for-auto-registration-17.1.0.tgz", - "integrity": "sha512-n4XGAfUyCR6pXQxzJ4v9VT7ae8hkhzSOxyCFn33uX6CZvrJy1PtBwHX2CFZ12wfi4+XLK6YEmTMuGnYYEVpF9Q==", + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-auto-registration/-/injectable-extension-for-auto-registration-17.2.0.tgz", + "integrity": "sha512-G3YfbbaqYnJcAejPjRw1KLEdYQnE1OVqVMthLUCamG3iOaRE/QvQ4IPKO4zJH+v5JpTZjxmfYcn/z4dPdx65wA==", "peerDependencies": { "@ogre-tools/fp": "^16 || ^17", "@ogre-tools/injectable": "^16 || ^17", @@ -6097,9 +6122,9 @@ } }, "node_modules/@ogre-tools/injectable-extension-for-mobx": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-mobx/-/injectable-extension-for-mobx-17.1.0.tgz", - "integrity": "sha512-nrnzYpORh+TQsEsitjVnb1tmg7PaZWZjDLT8zH0M9xJo/x5/6YtQJIpzc3ANpWcJpYkv9hguv37+t7qwH41N3w==", + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-mobx/-/injectable-extension-for-mobx-17.2.0.tgz", + "integrity": "sha512-o+VJn8c10P5mYJBwq/3LQQqpcZ5cP3tY+Gmru0xv2VYUGN4+2kye9mlXfZ6eisQ2IMVImRFx/qJxYLCLNNPZMw==", "peerDependencies": { "@ogre-tools/fp": "^16 || ^17", "@ogre-tools/injectable": "^16 || ^17", @@ -6108,9 +6133,9 @@ } }, "node_modules/@ogre-tools/injectable-react": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-react/-/injectable-react-17.1.0.tgz", - "integrity": "sha512-yNNy0b7NHe1UNB1ylqGgLFB3gbN++QT+Lr352PH2B7n3sC0qBXGg5EIpEimDZ0VMuRNOQHRfItMI+qMBTEqfgg==", + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-react/-/injectable-react-17.2.0.tgz", + "integrity": "sha512-pAZZKnXCFxPlNhGxWeFmX8xbbR1YJUmNZGNHt0mvjfujLnRsITSlA7AwFFB+UghpDPXi0aY48NRnq8KB3/nkrg==", "peerDependencies": { "@ogre-tools/fp": "^16 || ^17", "@ogre-tools/injectable": "^16 || ^17", @@ -6122,13 +6147,13 @@ } }, "node_modules/@ogre-tools/linkable": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@ogre-tools/linkable/-/linkable-17.1.0.tgz", - "integrity": "sha512-ReRGy3xgKYOPm/HQpbxOhPOUkR6CuRvg6CZlda4mPs3US4JRotnE9Wg1G4Yo+UEd01lhUwSLe15dOyWHiV1tzQ==", + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@ogre-tools/linkable/-/linkable-17.2.0.tgz", + "integrity": "sha512-s0YoTV2JjhwF6+vlkHAXmhTEL1c+r+hBwbdTO2GnE+sqjtN1prASASlkyF/ZUwBNBjv02SbBKtM1Jy++N91Wyg==", "dependencies": { - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", "fast-glob": "^3.2.12", "fs-extra": "^9.0.1", "lodash": "^4.17.21", @@ -12753,49 +12778,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/electron-notarize": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-0.3.0.tgz", - "integrity": "sha512-tuDw8H0gcDOalNLv6RM2CwGvUXU60MPGZRDEmd0ppX+yP5XqL8Ec2DuXyz9J7WQSA3aRCfzIgH8C5CAivDYWMw==", - "deprecated": "Please use @electron/notarize moving forward. There is no API change, just a package name change", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "fs-extra": "^8.1.0" - } - }, - "node_modules/electron-notarize/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/electron-notarize/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/electron-notarize/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/electron-osx-sign": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz", @@ -34010,7 +33992,7 @@ "@k8slens/json-api": "^1.0.0-alpha.3", "@k8slens/keyboard-shortcuts": "^1.0.0", "@k8slens/kube-api": "^1.0.0-alpha.1", - "@k8slens/kube-api-specifics": "^1.0.0-alpha.1", + "@k8slens/kube-api-specifics": "^1.0.0", "@k8slens/kube-object": "^1.0.0", "@k8slens/kubectl-versions": "^1.0.0", "@k8slens/legacy-extension-example": "^1.0.0", @@ -34023,6 +34005,8 @@ "@k8slens/messaging-for-renderer": "^1.0.0", "@k8slens/metrics": "^6.5.0", "@k8slens/node-fetch": "^6.5.0", + "@k8slens/prometheus": "^1.0.0", + "@k8slens/random": "^1.0.0", "@k8slens/react-application": "^1.0.0", "@k8slens/resizing-anchor": "^1.0.0", "@k8slens/resource-templates": "^1.0.0", @@ -34035,11 +34019,11 @@ "@kubernetes/client-node": "^0.18.1", "@material-ui/core": "^4.12.3", "@material-ui/lab": "^4.0.0-alpha.60", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-extension-for-mobx": "^17.1.0", - "@ogre-tools/injectable-react": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-extension-for-mobx": "^17.2.0", + "@ogre-tools/injectable-react": "^17.2.0", "@sentry/electron": "^3.0.8", "@sentry/integrations": "^6.19.3", "ansi_up": "^5.2.1", @@ -34115,6 +34099,7 @@ "xterm-link-provider": "^1.3.1" }, "devDependencies": { + "@electron/notarize": "^1.2.3", "@electron/rebuild": "^3.2.10", "@k8slens/generate-tray-icons": "^6.5.0", "@k8slens/test-utils": "^1.0.0", @@ -34148,7 +34133,6 @@ "css-loader": "^6.7.2", "electron": "^22.3.10", "electron-builder": "^23.6.0", - "electron-notarize": "^0.3.0", "esbuild-loader": "^2.20.0", "fork-ts-checker-webpack-plugin": "^7.3.0", "html-webpack-plugin": "^5.5.1", @@ -34190,10 +34174,10 @@ "peerDependencies": { "@k8slens/feature-core": "^6.5.0-alpha.0", "@k8slens/react-application": "^1.0.0-alpha.0", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-react": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-react": "^17.2.0", "lodash": "^4.17.21", "react": "^17 || ^18" } @@ -34207,7 +34191,7 @@ "rimraf": "^4.4.1" }, "peerDependencies": { - "@ogre-tools/injectable": "^17.1.0" + "@ogre-tools/injectable": "^17.2.0" } }, "packages/cluster-sidebar": { @@ -34223,9 +34207,9 @@ "peerDependencies": { "@k8slens/feature-core": "^6.5.0-alpha.4", "@k8slens/utilities": "^1.0.0-alpha.3", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-extension-for-mobx": "^17.1.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-extension-for-mobx": "^17.2.0", "mobx": "^6.9.0", "react": "^17.0.2" } @@ -34240,7 +34224,7 @@ "@k8slens/messaging-fake-bridge": "^1.0.0", "@k8slens/react-testing-library-discovery": "^1.0.0", "@k8slens/test-utils": "^1.0.0", - "@ogre-tools/linkable": "^17.1.0", + "@ogre-tools/linkable": "^17.2.0", "@sentry/types": "^6.19.7", "@side/jest-runtime": "^1.1.0", "@swc/cli": "^0.1.62", @@ -34366,6 +34350,9 @@ "@k8slens/messaging-for-renderer": "^1.0.0-alpha.1", "@k8slens/metrics": "^6.5.0-alpha.7", "@k8slens/node-fetch": "^6.5.0-alpha.3", + "@k8slens/notifications": "^1.0.0", + "@k8slens/prometheus": "^1.0.0", + "@k8slens/random": "^1.0.0", "@k8slens/react-application": "^1.0.0-alpha.5", "@k8slens/resizing-anchor": "^1.0.0-alpha.5", "@k8slens/resource-templates": "^1.0.0-alpha.1", @@ -34378,11 +34365,11 @@ "@kubernetes/client-node": "^0.18.1", "@material-ui/core": "^4.12.3", "@material-ui/lab": "^4.0.0-alpha.60", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-extension-for-mobx": "^17.1.0", - "@ogre-tools/injectable-react": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-extension-for-mobx": "^17.2.0", + "@ogre-tools/injectable-react": "^17.2.0", "@sentry/electron": "^3.0.8", "@sentry/integrations": "^6.19.3", "ansi_up": "^5.2.1", @@ -34909,7 +34896,7 @@ "version": "6.5.0", "license": "MIT", "dependencies": { - "@ogre-tools/linkable": "^17.1.0", + "@ogre-tools/linkable": "^17.2.0", "@types/webpack-env": "^1.18.0", "css-loader": "^6.7.2", "fork-ts-checker-webpack-plugin": "^7.3.0", @@ -34929,14 +34916,14 @@ "devDependencies": { "@async-fn/jest": "^1.6.4", "@k8slens/typescript": "^6.5.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/test-utils": "^17.1.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/test-utils": "^17.2.0", "ts-node": "^10.9.1", "webpack-node-externals": "^3.0.0" }, "peerDependencies": { - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", "lodash": "^4.17.21" } }, @@ -34998,7 +34985,7 @@ }, "peerDependencies": { "@k8slens/utilities": "^1.0.0-alpha.2", - "@ogre-tools/injectable": "^17.1.0", + "@ogre-tools/injectable": "^17.2.0", "auto-bind": "^4.0.0", "moment": "^2.29.4", "rfc6902": "^5.0.1", @@ -35020,7 +35007,7 @@ "typed-regex": "^0.0.8" }, "peerDependencies": { - "@ogre-tools/injectable": "^17.1.0" + "@ogre-tools/injectable": "^17.2.0" } }, "packages/legacy-extension-example": { @@ -35168,7 +35155,7 @@ "@k8slens/webpack": "^6.5.0" }, "peerDependencies": { - "@ogre-tools/injectable": "^17.1.0" + "@ogre-tools/injectable": "^17.2.0" } }, "packages/list-layout": { @@ -35184,7 +35171,7 @@ "peerDependencies": { "@k8slens/kube-object": "^1.0.0-alpha.5", "@k8slens/utilities": "^1.0.0-alpha.3", - "@ogre-tools/injectable": "^17.1.0", + "@ogre-tools/injectable": "^17.2.0", "react": "^17.0.2" } }, @@ -35200,9 +35187,9 @@ }, "peerDependencies": { "@k8slens/feature-core": "^6.5.0-alpha.0", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", "lodash": "^4.17.21", "winston": "^3.8.2" } @@ -35247,7 +35234,7 @@ }, "peerDependencies": { "@k8slens/kube-object": "^1.0.0-alpha.5", - "@ogre-tools/injectable": "^17.1.0", + "@ogre-tools/injectable": "^17.2.0", "react": "^17.0.2" } }, @@ -35279,6 +35266,43 @@ "url": "https://opencollective.com/node-fetch" } }, + "packages/prometheus": { + "name": "@k8slens/prometheus", + "version": "1.0.0", + "extraneous": true, + "license": "MIT", + "devDependencies": { + "@k8slens/eslint-config": "^6.5.0-alpha.3", + "@k8slens/jest": "^6.5.0-alpha.5", + "@k8slens/typescript": "^6.5.0-alpha.3", + "@k8slens/webpack": "^6.5.0-alpha.9" + }, + "peerDependencies": { + "@k8slens/application": "^6.5.0-alpha.2", + "@k8slens/feature-core": "^6.5.0-alpha.0", + "@k8slens/utilities": "^1.0.0-alpha.7", + "@kubernetes/client-node": "^0.18.1", + "@ogre-tools/fp": "^16.1.0", + "@ogre-tools/injectable": "^16.1.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0", + "@ogre-tools/injectable-extension-for-mobx": "^16.1.0" + } + }, + "packages/random-id": { + "name": "@k8slens/random", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@k8slens/eslint-config": "^6.5.0", + "@k8slens/webpack": "^6.5.0" + }, + "peerDependencies": { + "@k8slens/feature-core": "^6.5.0-alpha.0", + "@ogre-tools/injectable": "^17.1.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", + "uuid": "^8.3.2" + } + }, "packages/release-tool": { "name": "@k8slens/release-tool", "version": "6.5.0", @@ -35331,10 +35355,10 @@ "peerDependencies": { "@k8slens/feature-core": "^6.5.0-alpha.0", "@k8slens/react-application": "^1.0.0-alpha.0", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-react": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-react": "^17.2.0", "auto-bind": "^4.0.0", "history": "^4.10.1", "lodash": "^4.17.21", @@ -35387,9 +35411,9 @@ "@k8slens/feature-core": "^6.5.0-alpha.0", "@k8slens/logger": "^1.0.0-alpha.5", "@k8slens/run-many": "^1.0.0-alpha.1", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", "lodash": "^4.17.15" } }, @@ -35401,14 +35425,14 @@ "@async-fn/jest": "^1.6.4", "@k8slens/eslint-config": "^6.5.0", "@k8slens/webpack": "^6.5.0", - "@ogre-tools/test-utils": "^17.1.0" + "@ogre-tools/test-utils": "^17.2.0" }, "peerDependencies": { "@k8slens/application": "^6.5.0-alpha.0", "@k8slens/feature-core": "^6.5.0-alpha.0", "@k8slens/run-many": "^1.0.0-alpha.1", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", "electron": "^22.3.3", "lodash": "^4.17.21" } @@ -35431,7 +35455,7 @@ "@k8slens/webpack": "^6.5.0" }, "peerDependencies": { - "@ogre-tools/injectable": "^17.1.0" + "@ogre-tools/injectable": "^17.2.0" } }, "packages/technical-features/feature-core": { @@ -35443,7 +35467,7 @@ "@k8slens/webpack": "^6.5.0" }, "peerDependencies": { - "@ogre-tools/injectable": "^17.1.0" + "@ogre-tools/injectable": "^17.2.0" } }, "packages/technical-features/messaging/agnostic": { @@ -35458,9 +35482,9 @@ "@k8slens/application": "^6.5.0-alpha.0", "@k8slens/feature-core": "^6.5.0-alpha.0", "@k8slens/startable-stoppable": "^1.0.0-alpha.1", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-extension-for-mobx": "^17.1.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-extension-for-mobx": "^17.2.0", "lodash": "^4.17.21", "mobx": "^6.7.0" } @@ -35479,10 +35503,10 @@ "@k8slens/application": "^6.5.0-alpha.0", "@k8slens/feature-core": "^6.5.0-alpha.0", "@k8slens/messaging": "^1.0.0-alpha.1", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-extension-for-mobx": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-extension-for-mobx": "^17.2.0", "lodash": "^4.17.21", "mobx": "^6.8.0" } @@ -35499,9 +35523,9 @@ "@k8slens/application": "^6.5.0-alpha.0", "@k8slens/feature-core": "^6.5.0-alpha.0", "@k8slens/messaging": "^1.0.0-alpha.1", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", "electron": "^22.3.3", "lodash": "^4.17.21" } @@ -35520,8 +35544,8 @@ "@k8slens/messaging": "^1.0.0-alpha.1", "@k8slens/run-many": "^1.0.0-alpha.1", "@k8slens/startable-stoppable": "^1.0.0-alpha.1", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", "electron": "^22.3.3", "lodash": "^4.17.21" } @@ -35538,13 +35562,34 @@ "@async-fn/jest": "^1.6.4", "@k8slens/feature-core": "^6.5.0-alpha.2", "@k8slens/messaging": "^1.0.0-alpha.1", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-mobx": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-mobx": "^17.2.0", "lodash": "^4.17.21", "mobx": "^6.9.0" } }, + "packages/technical-features/prometheus": { + "name": "@k8slens/prometheus", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@k8slens/eslint-config": "^6.5.0-alpha.3", + "@k8slens/jest": "^6.5.0-alpha.5", + "@k8slens/typescript": "^6.5.0-alpha.3", + "@k8slens/webpack": "^6.5.0-alpha.9" + }, + "peerDependencies": { + "@k8slens/application": "^6.5.0-alpha.2", + "@k8slens/feature-core": "^6.5.0-alpha.0", + "@k8slens/utilities": "^1.0.0-alpha.7", + "@kubernetes/client-node": "^0.18.1", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-extension-for-mobx": "^17.2.0" + } + }, "packages/technical-features/react-application": { "name": "@k8slens/react-application", "version": "1.0.0", @@ -35559,11 +35604,11 @@ "peerDependencies": { "@k8slens/application": "^6.5.0-alpha.2", "@k8slens/feature-core": "^6.5.0-alpha.0", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-extension-for-mobx": "^17.1.0", - "@ogre-tools/injectable-react": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-extension-for-mobx": "^17.2.0", + "@ogre-tools/injectable-react": "^17.2.0", "lodash": "^4.17.15", "mobx": "^6.8.0", "mobx-react": "^7.6.0", @@ -35582,9 +35627,9 @@ "peerDependencies": { "@k8slens/feature-core": "^6.5.0-alpha.0", "@k8slens/utilities": "^1.0.0-alpha.1", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-react": "^17.1.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-react": "^17.2.0", "react": "^17.0.2" } }, @@ -35643,8 +35688,8 @@ "@k8slens/button": "^1.0.0-alpha.5", "@k8slens/routing": "^1.0.0-alpha.5", "@k8slens/utilities": "^1.0.0-alpha.1", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-react": "^17.1.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-react": "^17.2.0", "auto-bind": "^4.0.0", "history": "^4.10.1", "lodash": "^4.17.21", @@ -35674,9 +35719,9 @@ "@k8slens/routing": "^1.0.0-alpha.8", "@k8slens/tooltip": "^1.0.0-alpha.10", "@k8slens/utilities": "^1.0.0-alpha.7", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-react": "^17.1.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-react": "^17.2.0", "auto-bind": "^4.0.0", "dompurify": "^2.4.4", "history": "^4.10.1", @@ -35690,6 +35735,42 @@ "winston": "^3.8.2" } }, + "packages/ui-components/notifications": { + "name": "@k8slens/notifications", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@k8slens/eslint-config": "^6.5.0", + "@k8slens/webpack": "^6.5.0" + }, + "peerDependencies": { + "@k8slens/animate": "^1.0.0-alpha.0", + "@k8slens/application": "^6.5.0", + "@k8slens/event-emitter": "^1.0.0", + "@k8slens/feature-core": "^6.5.0-alpha.0", + "@k8slens/icon": "^1.0.0-alpha.7", + "@k8slens/json-api": "^1.0.0-alpha.3", + "@k8slens/logger": "^1.0.0", + "@k8slens/react-application": "^1.0.0-alpha.5", + "@k8slens/run-many": "^1.0.0", + "@k8slens/tooltip": "^1.0.0", + "@k8slens/utilities": "^1.0.0-alpha.1", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-extension-for-mobx": "^17.2.0", + "@ogre-tools/injectable-react": "^17.2.0", + "auto-bind": "^4.0.0", + "lodash": "^4.17.21", + "mobx": "^6.8.0", + "mobx-react": "^7.6.0", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "react-router-dom": "^5.3.4", + "uuid": "^8.3.2", + "winston": "^3.8.2" + } + }, "packages/ui-components/resizing-anchor": { "name": "@k8slens/resizing-anchor", "version": "1.0.0", @@ -35703,9 +35784,9 @@ "peerDependencies": { "@k8slens/feature-core": "^6.5.0-alpha.0", "@k8slens/utilities": "^1.0.0-alpha.1", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", "auto-bind": "^4.0.0", "lodash": "^4.17.21", "mobx": "^6.8.0", @@ -35802,8 +35883,8 @@ "@k8slens/kube-object": "^1.0.0-alpha.5", "@k8slens/logger": "^1.0.0-alpha.5", "@k8slens/utilities": "^1.0.0-alpha.1", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", "byline": "^5.0.0", "lodash": "^4.17.15", "mobx": "^6.8.0", @@ -35813,7 +35894,7 @@ }, "packages/utility-features/kube-api-specifics": { "name": "@k8slens/kube-api-specifics", - "version": "1.0.0-alpha.1", + "version": "1.0.0", "license": "MIT", "devDependencies": { "@k8slens/eslint-config": "^6.5.0-alpha.2", @@ -35821,8 +35902,11 @@ "@k8slens/typescript": "^6.5.0-alpha.2" }, "peerDependencies": { + "@k8slens/feature-core": "^6.5.0-alpha.8", "@k8slens/kube-api": "^1.0.0-alpha.1", - "@ogre-tools/injectable": "^17.1.0" + "@k8slens/logger": "^1.0.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0" } }, "packages/utility-features/react-testing-library-discovery": { @@ -35847,8 +35931,8 @@ "peerDependencies": { "@k8slens/test-utils": "^1.0.0-alpha.3", "@k8slens/utilities": "^1.0.0-alpha.1", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", "type-fest": "^2.19.0", "typed-emitter": "^1.4.0", "uuid": "^8.3.2" @@ -35878,8 +35962,8 @@ "@types/lodash": "^4.14.191" }, "peerDependencies": { - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-react": "^17.1.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-react": "^17.2.0", "@testing-library/react": "^12.1.5", "lodash": "^4.17.21", "mobx": "^6.8.0", diff --git a/package.json b/package.json index e8f4d4cc71..6b6e75c4a9 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "mkdocs:serve-local": "docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest", "mkdocs:verify": "docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict", "test:unit": "lerna run --stream test:unit --no-bail", + "test:unit:updatesnapshot": "lerna run --stream test:unit --no-bail -- -u", "test:unit:watch": "jest --watch", "test:integration": "lerna run --stream test:integration --no-bail", "bump-version": "lerna version --no-git-tag-version --no-push", @@ -39,7 +40,7 @@ "@types/react": "^17" }, "devDependencies": { - "@ogre-tools/linkable": "^17.1.0", + "@ogre-tools/linkable": "^17.2.0", "adr": "^1.4.3", "cross-env": "^7.0.3", "lerna": "^6.6.1", diff --git a/packages/business-features/keyboard-shortcuts/package.json b/packages/business-features/keyboard-shortcuts/package.json index c347c5d130..36b4c398b5 100644 --- a/packages/business-features/keyboard-shortcuts/package.json +++ b/packages/business-features/keyboard-shortcuts/package.json @@ -33,10 +33,10 @@ "peerDependencies": { "@k8slens/feature-core": "^6.5.0-alpha.0", "@k8slens/react-application": "^1.0.0-alpha.0", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-react": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-react": "^17.2.0", "lodash": "^4.17.21", "react": "^17 || ^18" }, diff --git a/packages/cluster-settings/package.json b/packages/cluster-settings/package.json index 3d1f3ab5e6..9687c89832 100644 --- a/packages/cluster-settings/package.json +++ b/packages/cluster-settings/package.json @@ -23,6 +23,6 @@ "rimraf": "^4.4.1" }, "peerDependencies": { - "@ogre-tools/injectable": "^17.1.0" + "@ogre-tools/injectable": "^17.2.0" } } diff --git a/packages/cluster-sidebar/package.json b/packages/cluster-sidebar/package.json index cb3e4cded8..41ba67a83c 100644 --- a/packages/cluster-sidebar/package.json +++ b/packages/cluster-sidebar/package.json @@ -33,9 +33,9 @@ "peerDependencies": { "@k8slens/feature-core": "^6.5.0-alpha.4", "@k8slens/utilities": "^1.0.0-alpha.3", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-extension-for-mobx": "^17.1.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-extension-for-mobx": "^17.2.0", "mobx": "^6.9.0", "react": "^17.0.2" }, diff --git a/packages/core/package.json b/packages/core/package.json index fb612431b1..d40e9b5e47 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -107,7 +107,7 @@ "@k8slens/messaging-fake-bridge": "^1.0.0", "@k8slens/react-testing-library-discovery": "^1.0.0", "@k8slens/test-utils": "^1.0.0", - "@ogre-tools/linkable": "^17.1.0", + "@ogre-tools/linkable": "^17.2.0", "@sentry/types": "^6.19.7", "@side/jest-runtime": "^1.1.0", "@swc/cli": "^0.1.62", @@ -209,6 +209,7 @@ "@hapi/call": "^9.0.1", "@hapi/subtext": "^7.1.0", "@k8slens/animate": "^1.0.0-alpha.0", + "@k8slens/notifications": "^1.0.0", "@k8slens/application": "^6.5.0-alpha.0", "@k8slens/application-for-electron-main": "^6.5.0-alpha.0", "@k8slens/button": "^1.0.0-alpha.5", @@ -230,7 +231,9 @@ "@k8slens/messaging-for-renderer": "^1.0.0-alpha.1", "@k8slens/metrics": "^6.5.0-alpha.7", "@k8slens/node-fetch": "^6.5.0-alpha.3", + "@k8slens/prometheus": "^1.0.0", "@k8slens/react-application": "^1.0.0-alpha.5", + "@k8slens/random": "^1.0.0", "@k8slens/resizing-anchor": "^1.0.0-alpha.5", "@k8slens/resource-templates": "^1.0.0-alpha.1", "@k8slens/routing": "^1.0.0-alpha.5", @@ -242,11 +245,11 @@ "@kubernetes/client-node": "^0.18.1", "@material-ui/core": "^4.12.3", "@material-ui/lab": "^4.0.0-alpha.60", - "@ogre-tools/fp": "^17.1.0", - "@ogre-tools/injectable": "^17.1.0", - "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0", - "@ogre-tools/injectable-extension-for-mobx": "^17.1.0", - "@ogre-tools/injectable-react": "^17.1.0", + "@ogre-tools/fp": "^17.2.0", + "@ogre-tools/injectable": "^17.2.0", + "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0", + "@ogre-tools/injectable-extension-for-mobx": "^17.2.0", + "@ogre-tools/injectable-react": "^17.2.0", "@sentry/electron": "^3.0.8", "@sentry/integrations": "^6.19.3", "ansi_up": "^5.2.1", diff --git a/packages/core/src/common/k8s-api/__tests__/api-manager.test.ts b/packages/core/src/common/k8s-api/__tests__/api-manager.test.ts index 3008b91916..e71603591e 100644 --- a/packages/core/src/common/k8s-api/__tests__/api-manager.test.ts +++ b/packages/core/src/common/k8s-api/__tests__/api-manager.test.ts @@ -11,13 +11,12 @@ import { getDiForUnitTesting } from "../../../renderer/getDiForUnitTesting"; import storesAndApisCanBeCreatedInjectable from "../../../renderer/stores-apis-can-be-created.injectable"; import directoryForKubeConfigsInjectable from "../../app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable"; import directoryForUserDataInjectable from "../../app-paths/directory-for-user-data/directory-for-user-data.injectable"; -import { loggerInjectionToken } from "@k8slens/logger"; +import { logErrorInjectionToken, loggerInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger"; import type { ApiManager } from "../api-manager"; import apiManagerInjectable from "../api-manager/manager.injectable"; import { KubeApi } from "@k8slens/kube-api"; import { KubeObject } from "@k8slens/kube-object"; import { KubeObjectStore } from "../kube-object.store"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; // eslint-disable-next-line no-restricted-imports import { KubeApi as ExternalKubeApi } from "../../../extensions/common-api/k8s-api"; @@ -25,6 +24,7 @@ import { Cluster } from "../../cluster/cluster"; import { runInAction } from "mobx"; import { customResourceDefinitionApiInjectionToken } from "../api-manager/crd-api-token"; import assert from "assert"; +import { maybeKubeApiInjectable } from "@k8slens/kube-api-specifics"; class TestApi extends KubeApi { protected checkPreferredVersion() { @@ -61,7 +61,9 @@ describe("ApiManager", () => { const apiBase = "api/v1/foo"; const fallbackApiBase = "/apis/extensions/v1beta1/foo"; const kubeApi = new TestApi({ - logger: di.inject(loggerInjectionToken), + logError: di.inject(logErrorInjectionToken), + logInfo: di.inject(logInfoInjectionToken), + logWarn: di.inject(logWarningInjectionToken), maybeKubeApi: di.inject(maybeKubeApiInjectable), }, { objectConstructor: KubeObject, @@ -136,7 +138,9 @@ describe("ApiManager", () => { return Object.assign( new KubeApi({ - logger: di.inject(loggerInjectionToken), + logError: di.inject(logErrorInjectionToken), + logInfo: di.inject(logInfoInjectionToken), + logWarn: di.inject(logWarningInjectionToken), maybeKubeApi: di.inject(maybeKubeApiInjectable), }, { objectConstructor }), { diff --git a/packages/core/src/common/k8s-api/__tests__/kube-api-version-detection.test.ts b/packages/core/src/common/k8s-api/__tests__/kube-api-version-detection.test.ts index c73d024cce..7bc404f79d 100644 --- a/packages/core/src/common/k8s-api/__tests__/kube-api-version-detection.test.ts +++ b/packages/core/src/common/k8s-api/__tests__/kube-api-version-detection.test.ts @@ -20,9 +20,8 @@ import hostedClusterInjectable from "../../../renderer/cluster-frame-context/hos import directoryForKubeConfigsInjectable from "../../app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable"; import apiManagerInjectable from "../api-manager/manager.injectable"; import type { DiContainer } from "@ogre-tools/injectable"; -import ingressApiInjectable from "../endpoints/ingress.api.injectable"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; +import { ingressApiInjectable, maybeKubeApiInjectable } from "@k8slens/kube-api-specifics"; +import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger"; import { Cluster } from "../../cluster/cluster"; describe("KubeApi", () => { @@ -710,7 +709,9 @@ describe("KubeApi", () => { beforeEach(async () => { horizontalPodAutoscalerApi = new HorizontalPodAutoscalerApi({ - logger: di.inject(loggerInjectionToken), + logError: di.inject(logErrorInjectionToken), + logInfo: di.inject(logInfoInjectionToken), + logWarn: di.inject(logWarningInjectionToken), maybeKubeApi: di.inject(maybeKubeApiInjectable), }, { allowedUsableVersions: { diff --git a/packages/core/src/common/k8s-api/__tests__/kube-api.test.ts b/packages/core/src/common/k8s-api/__tests__/kube-api.test.ts index 072f889824..7c81ae3480 100644 --- a/packages/core/src/common/k8s-api/__tests__/kube-api.test.ts +++ b/packages/core/src/common/k8s-api/__tests__/kube-api.test.ts @@ -22,7 +22,7 @@ import hostedClusterInjectable from "../../../renderer/cluster-frame-context/hos import directoryForKubeConfigsInjectable from "../../app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable"; import apiKubeInjectable from "../../../renderer/k8s/api-kube.injectable"; import type { DiContainer } from "@ogre-tools/injectable"; -import podApiInjectable from "../endpoints/pod.api.injectable"; +import { podApiInjectable } from "@k8slens/kube-api-specifics"; // NOTE: this is fine because we are testing something that only exported // eslint-disable-next-line no-restricted-imports diff --git a/packages/core/src/common/k8s-api/api-manager/manager.injectable.ts b/packages/core/src/common/k8s-api/api-manager/manager.injectable.ts index 8b6340e4a5..20a26bd00d 100644 --- a/packages/core/src/common/k8s-api/api-manager/manager.injectable.ts +++ b/packages/core/src/common/k8s-api/api-manager/manager.injectable.ts @@ -3,11 +3,10 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; import { ApiManager } from "./api-manager"; import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx"; import { kubeObjectStoreInjectionToken } from "./kube-object-store-token"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; +import { kubeApiInjectionToken, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics"; import { computed } from "mobx"; import { customResourceDefinitionApiInjectionToken } from "./crd-api-token"; import createCustomResourceStoreInjectable from "./create-custom-resource-store.injectable"; diff --git a/packages/core/src/common/k8s-api/create-kube-api-for-cluster.injectable.ts b/packages/core/src/common/k8s-api/create-kube-api-for-cluster.injectable.ts index d237d90660..d9fbc2d872 100644 --- a/packages/core/src/common/k8s-api/create-kube-api-for-cluster.injectable.ts +++ b/packages/core/src/common/k8s-api/create-kube-api-for-cluster.injectable.ts @@ -3,7 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import { loggerInjectionToken } from "@k8slens/logger"; +import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger"; import { apiKubePrefix } from "../vars"; import isDevelopmentInjectable from "../vars/is-development.injectable"; import apiBaseInjectable from "./api-base.injectable"; @@ -37,7 +37,9 @@ const createKubeApiForClusterInjectable = getInjectable({ const apiBase = di.inject(apiBaseInjectable); const isDevelopment = di.inject(isDevelopmentInjectable); const createKubeJsonApi = di.inject(createKubeJsonApiInjectable); - const logger = di.inject(loggerInjectionToken); + const logError = di.inject(logErrorInjectionToken); + const logInfo = di.inject(logInfoInjectionToken); + const logWarn = di.inject(logWarningInjectionToken); return ( cluster: CreateKubeApiForLocalClusterConfig, @@ -64,7 +66,9 @@ const createKubeApiForClusterInjectable = getInjectable({ return new KubeApi( { - logger, + logError, + logInfo, + logWarn, maybeKubeApi: undefined, }, { diff --git a/packages/core/src/common/k8s-api/create-kube-api-for-remote-cluster.injectable.ts b/packages/core/src/common/k8s-api/create-kube-api-for-remote-cluster.injectable.ts index 28377d4e88..d3b9f26e91 100644 --- a/packages/core/src/common/k8s-api/create-kube-api-for-remote-cluster.injectable.ts +++ b/packages/core/src/common/k8s-api/create-kube-api-for-remote-cluster.injectable.ts @@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable"; import type { AgentOptions } from "https"; import { Agent } from "https"; import type { RequestInit } from "@k8slens/node-fetch"; -import { loggerInjectionToken } from "@k8slens/logger"; +import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger"; import isDevelopmentInjectable from "../vars/is-development.injectable"; import createKubeJsonApiInjectable from "./create-kube-json-api.injectable"; import type { KubeApiOptions } from "@k8slens/kube-api"; @@ -53,7 +53,9 @@ const createKubeApiForRemoteClusterInjectable = getInjectable({ instantiate: (di): CreateKubeApiForRemoteCluster => { const isDevelopment = di.inject(isDevelopmentInjectable); const createKubeJsonApi = di.inject(createKubeJsonApiInjectable); - const logger = di.inject(loggerInjectionToken); + const logError = di.inject(logErrorInjectionToken); + const logInfo = di.inject(logInfoInjectionToken); + const logWarn = di.inject(logWarningInjectionToken); return ( config: CreateKubeApiForRemoteClusterConfig, @@ -110,7 +112,9 @@ const createKubeApiForRemoteClusterInjectable = getInjectable({ return new KubeApi( { - logger, + logError, + logInfo, + logWarn, maybeKubeApi: undefined, }, { diff --git a/packages/core/src/common/k8s-api/create-kube-api.injectable.ts b/packages/core/src/common/k8s-api/create-kube-api.injectable.ts index 57fac06b97..c92c8796cc 100644 --- a/packages/core/src/common/k8s-api/create-kube-api.injectable.ts +++ b/packages/core/src/common/k8s-api/create-kube-api.injectable.ts @@ -3,9 +3,9 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import { loggerInjectionToken } from "@k8slens/logger"; +import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger"; import type { DerivedKubeApiOptions, KubeApiDependencies } from "@k8slens/kube-api"; -import maybeKubeApiInjectable from "./maybe-kube-api.injectable"; +import { maybeKubeApiInjectable } from "@k8slens/kube-api-specifics"; export interface CreateKubeApi { (ctor: new (deps: KubeApiDependencies, opts: DerivedKubeApiOptions) => Api, opts?: DerivedKubeApiOptions): Api; @@ -15,7 +15,9 @@ const createKubeApiInjectable = getInjectable({ id: "create-kube-api", instantiate: (di): CreateKubeApi => { const deps: KubeApiDependencies = { - logger: di.inject(loggerInjectionToken), + logError: di.inject(logErrorInjectionToken), + logInfo: di.inject(logInfoInjectionToken), + logWarn: di.inject(logWarningInjectionToken), maybeKubeApi: di.inject(maybeKubeApiInjectable), }; diff --git a/packages/core/src/common/k8s-api/endpoints/cluster-role-binding.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/cluster-role-binding.api.injectable.ts deleted file mode 100644 index f731e32a28..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/cluster-role-binding.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { ClusterRoleBindingApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const clusterRoleBindingApiInjectable = getInjectable({ - id: "cluster-role-binding-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "clusterRoleBindingApi is only accessible in certain environments"); - - return new ClusterRoleBindingApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default clusterRoleBindingApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/cluster-role.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/cluster-role.api.injectable.ts deleted file mode 100644 index 6e5ea7b184..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/cluster-role.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { ClusterRoleApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const clusterRoleApiInjectable = getInjectable({ - id: "cluster-role-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "clusterRoleApi is only available in certain environments"); - - return new ClusterRoleApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default clusterRoleApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/component-status.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/component-status.api.injectable.ts deleted file mode 100644 index eb5a216a13..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/component-status.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { ComponentStatusApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; -import { loggerInjectionToken } from "@k8slens/logger"; - -const componentStatusApiInjectable = getInjectable({ - id: "component-status-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "componentStatusApi is only available in certain environments"); - - return new ComponentStatusApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default componentStatusApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/config-map.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/config-map.api.injectable.ts deleted file mode 100644 index 4b9c1323bf..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/config-map.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { ConfigMapApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const configMapApiInjectable = getInjectable({ - id: "config-map-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "configMapApi is only available in certain environments"); - - return new ConfigMapApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default configMapApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/cron-job.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/cron-job.api.injectable.ts deleted file mode 100644 index 016b147668..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/cron-job.api.injectable.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { CronJobApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const cronJobApiInjectable = getInjectable({ - id: "cron-job-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "cronJobApi is only available in certain environments"); - - return new CronJobApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }, { - checkPreferredVersion: true, - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default cronJobApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/custom-resource-definition.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/custom-resource-definition.api.injectable.ts deleted file mode 100644 index f6b32ffbf6..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/custom-resource-definition.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { CustomResourceDefinitionApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; -import { loggerInjectionToken } from "@k8slens/logger"; - -const customResourceDefinitionApiInjectable = getInjectable({ - id: "custom-resource-definition-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "customResourceDefinitionApi is only available in certain environments"); - - return new CustomResourceDefinitionApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default customResourceDefinitionApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/daemon-set.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/daemon-set.api.injectable.ts deleted file mode 100644 index ab2a004a08..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/daemon-set.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { DaemonSetApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const daemonSetApiInjectable = getInjectable({ - id: "daemon-set-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "daemonSetApi is only available in certain environments"); - - return new DaemonSetApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default daemonSetApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/deployment.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/deployment.api.injectable.ts deleted file mode 100644 index d652d710f5..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/deployment.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { DeploymentApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const deploymentApiInjectable = getInjectable({ - id: "deployment-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "deploymentApi is only available in certain environments"); - - return new DeploymentApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default deploymentApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/endpoint.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/endpoint.api.injectable.ts deleted file mode 100644 index fa2ba55d23..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/endpoint.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { EndpointsApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const endpointsApiInjectable = getInjectable({ - id: "endpoints-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "endpointsApi is only available in certain environments"); - - return new EndpointsApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default endpointsApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/events.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/events.api.injectable.ts deleted file mode 100644 index 8b26fb9065..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/events.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { KubeEventApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const kubeEventApiInjectable = getInjectable({ - id: "kube-event-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "kubeEventApi is only available in certain environments"); - - return new KubeEventApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default kubeEventApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable.ts deleted file mode 100644 index 226fc60e94..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { HorizontalPodAutoscalerApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const horizontalPodAutoscalerApiInjectable = getInjectable({ - id: "horizontal-pod-autoscaler-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "horizontalPodAutoscalerApi is only available in certain environments"); - - return new HorizontalPodAutoscalerApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default horizontalPodAutoscalerApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/ingress-class.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/ingress-class.api.injectable.ts deleted file mode 100644 index 25662ddd7e..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/ingress-class.api.injectable.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import { IngressClassApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const ingressClassApiInjectable = getInjectable({ - id: "ingress-class-api", - instantiate: (di) => new IngressClassApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }), - - injectionToken: kubeApiInjectionToken, -}); - -export default ingressClassApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/job.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/job.api.injectable.ts deleted file mode 100644 index edd0a66e29..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/job.api.injectable.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { JobApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const jobApiInjectable = getInjectable({ - id: "job-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "jobApi is only available in certain environments"); - - return new JobApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }, { - checkPreferredVersion: true, - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default jobApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/limit-range.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/limit-range.api.injectable.ts deleted file mode 100644 index 8eb4427f57..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/limit-range.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { LimitRangeApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const limitRangeApiInjectable = getInjectable({ - id: "limit-range-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "limitRangeApi is only available in certain environments"); - - return new LimitRangeApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default limitRangeApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/mutating-webhook-configuration-api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/mutating-webhook-configuration-api.injectable.ts deleted file mode 100644 index a91fa90332..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/mutating-webhook-configuration-api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { MutatingWebhookConfigurationApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const mutatingWebhookConfigurationApiInjectable = getInjectable({ - id: "mutating-webhook-configuration", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "mutatingWebhookApi is only available in certain environments"); - - return new MutatingWebhookConfigurationApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default mutatingWebhookConfigurationApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/namespace.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/namespace.api.injectable.ts deleted file mode 100644 index 5ed484fe74..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/namespace.api.injectable.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { NamespaceApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const namespaceApiInjectable = getInjectable({ - id: "namespace-api", - - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "namespaceApi is only available in certain environments"); - - return new NamespaceApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default namespaceApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/network-policy.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/network-policy.api.injectable.ts deleted file mode 100644 index bcc325b85b..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/network-policy.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { NetworkPolicyApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const networkPolicyApiInjectable = getInjectable({ - id: "network-policy-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "networkPolicyApi is only available in certain environments"); - - return new NetworkPolicyApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default networkPolicyApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/persistent-volume-claim.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/persistent-volume-claim.api.injectable.ts deleted file mode 100644 index 6a50975a8a..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/persistent-volume-claim.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { PersistentVolumeClaimApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const persistentVolumeClaimApiInjectable = getInjectable({ - id: "persistent-volume-claim-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "persistentVolumeClaimApi is only available in certain environments"); - - return new PersistentVolumeClaimApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default persistentVolumeClaimApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/persistent-volume.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/persistent-volume.api.injectable.ts deleted file mode 100644 index 72a1ec8d21..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/persistent-volume.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { PersistentVolumeApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const persistentVolumeApiInjectable = getInjectable({ - id: "persistent-volume-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "persistentVolumeApi is only available in certain environments"); - - return new PersistentVolumeApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default persistentVolumeApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/pod-disruption-budget.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/pod-disruption-budget.api.injectable.ts deleted file mode 100644 index ab17a0f35d..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/pod-disruption-budget.api.injectable.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { PodDisruptionBudgetApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const podDisruptionBudgetApiInjectable = getInjectable({ - id: "pod-disruption-budget-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "podDisruptionBudgetApi is only available in certain environments"); - - return new PodDisruptionBudgetApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }, { - checkPreferredVersion: true, - allowedUsableVersions: { - policy: [ - "v1", - "v1beta1", - ], - }, - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default podDisruptionBudgetApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/pod-metrics.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/pod-metrics.api.injectable.ts deleted file mode 100644 index bda2bfe010..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/pod-metrics.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { PodMetricsApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const podMetricsApiInjectable = getInjectable({ - id: "pod-metrics-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "podMetricsApi is only available in certain environments"); - - return new PodMetricsApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default podMetricsApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/pod-security-policy.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/pod-security-policy.api.injectable.ts deleted file mode 100644 index b6bf8ada32..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/pod-security-policy.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { PodSecurityPolicyApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const podSecurityPolicyApiInjectable = getInjectable({ - id: "pod-security-policy-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "podSecurityPolicyApi is only available in certain environments"); - - return new PodSecurityPolicyApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default podSecurityPolicyApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/priority-class.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/priority-class.api.injectable.ts deleted file mode 100644 index de6b2d8c1d..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/priority-class.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { PriorityClassApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const priorityClassApiInjectable = getInjectable({ - id: "priority-class-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "PriorityClassApi is only available in certain environments"); - - return new PriorityClassApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default priorityClassApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/replica-set.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/replica-set.api.injectable.ts deleted file mode 100644 index fcebaa7aca..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/replica-set.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { ReplicaSetApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const replicaSetApiInjectable = getInjectable({ - id: "replica-set-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "replicaSetApi is only available in certain environments"); - - return new ReplicaSetApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default replicaSetApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/replication-controller.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/replication-controller.api.injectable.ts deleted file mode 100644 index 82b09ad2b6..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/replication-controller.api.injectable.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import { ReplicationControllerApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const replicationControllerApiInjectable = getInjectable({ - id: "replication-controller-api", - instantiate: (di) => { - return new ReplicationControllerApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default replicationControllerApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/resource-quota.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/resource-quota.api.injectable.ts deleted file mode 100644 index 5bb50c6b14..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/resource-quota.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { ResourceQuotaApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const resourceQuotaApiInjectable = getInjectable({ - id: "resource-quota-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "resourceQuotaApi is only available in certain environments"); - - return new ResourceQuotaApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default resourceQuotaApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/role-binding.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/role-binding.api.injectable.ts deleted file mode 100644 index a254a587b9..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/role-binding.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { RoleBindingApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const roleBindingApiInjectable = getInjectable({ - id: "role-binding-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "roleBindingApi is only available in certain environments"); - - return new RoleBindingApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default roleBindingApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/runtime-class.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/runtime-class.api.injectable.ts deleted file mode 100644 index 4aba1e2d42..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/runtime-class.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { RuntimeClassApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const runtimeClassApiInjectable = getInjectable({ - id: "runtime-class-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "RuntimeClassApi is only available in certain environments"); - - return new RuntimeClassApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default runtimeClassApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/self-subject-rules-reviews.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/self-subject-rules-reviews.api.injectable.ts deleted file mode 100644 index f0a44febd4..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/self-subject-rules-reviews.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { SelfSubjectRulesReviewApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const selfSubjectRulesReviewApiInjectable = getInjectable({ - id: "self-subject-rules-review-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "selfSubjectRulesReviewApi is only available in certain environments"); - - return new SelfSubjectRulesReviewApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default selfSubjectRulesReviewApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/service-account.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/service-account.api.injectable.ts deleted file mode 100644 index 170a106b12..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/service-account.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { ServiceAccountApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const serviceAccountApiInjectable = getInjectable({ - id: "service-account-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "serviceAccountApi is only available in certain environments"); - - return new ServiceAccountApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default serviceAccountApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/stateful-set.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/stateful-set.api.injectable.ts deleted file mode 100644 index ba56cb4a95..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/stateful-set.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { StatefulSetApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const statefulSetApiInjectable = getInjectable({ - id: "stateful-set-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "statefulSetApi is only available in certain environments"); - - return new StatefulSetApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default statefulSetApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/storage-class.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/storage-class.api.injectable.ts deleted file mode 100644 index 4eb7003e7a..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/storage-class.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { StorageClassApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const storageClassApiInjectable = getInjectable({ - id: "storage-class-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "storageClassApi is only available in certain environments"); - - return new StorageClassApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default storageClassApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/validating-webhook-configuration-api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/validating-webhook-configuration-api.injectable.ts deleted file mode 100644 index 5bf2f7ab4d..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/validating-webhook-configuration-api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { ValidatingWebhookConfigurationApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const validatingWebhookConfigurationApiInjectable = getInjectable({ - id: "validating-webhook-configuration", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "validatingWebhookApi is only available in certain environments"); - - return new ValidatingWebhookConfigurationApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default validatingWebhookConfigurationApiInjectable; diff --git a/packages/core/src/common/k8s-api/endpoints/vertical-pod-autoscaler.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/vertical-pod-autoscaler.api.injectable.ts deleted file mode 100644 index 439c2107e9..0000000000 --- a/packages/core/src/common/k8s-api/endpoints/vertical-pod-autoscaler.api.injectable.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import assert from "assert"; -import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token"; -import { VerticalPodAutoscalerApi } from "@k8slens/kube-api"; -import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../maybe-kube-api.injectable"; - -const verticalPodAutoscalerApiInjectable = getInjectable({ - id: "vertical-pod-autoscaler-api", - instantiate: (di) => { - assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "verticalPodAutoscalerApi is only available in certain environments"); - - return new VerticalPodAutoscalerApi({ - logger: di.inject(loggerInjectionToken), - maybeKubeApi: di.inject(maybeKubeApiInjectable), - }); - }, - - injectionToken: kubeApiInjectionToken, -}); - -export default verticalPodAutoscalerApiInjectable; diff --git a/packages/core/src/common/k8s-api/selected-filter-namespaces.injectable.ts b/packages/core/src/common/k8s-api/selected-filter-namespaces.injectable.ts index 41f664b895..a89c181769 100644 --- a/packages/core/src/common/k8s-api/selected-filter-namespaces.injectable.ts +++ b/packages/core/src/common/k8s-api/selected-filter-namespaces.injectable.ts @@ -2,10 +2,10 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ +import { storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics"; import { getInjectable } from "@ogre-tools/injectable"; import { computed } from "mobx"; import clusterFrameContextForNamespacedResourcesInjectable from "../../renderer/cluster-frame-context/for-namespaced-resources.injectable"; -import { storesAndApisCanBeCreatedInjectionToken } from "./stores-apis-can-be-created.token"; const selectedFilterNamespacesInjectable = getInjectable({ id: "selected-filter-namespaces", diff --git a/packages/core/src/common/utils/get-random-id.global-override-for-injectable.ts b/packages/core/src/common/utils/get-random-id.global-override-for-injectable.ts index 36f598cde1..bc2b539fc3 100644 --- a/packages/core/src/common/utils/get-random-id.global-override-for-injectable.ts +++ b/packages/core/src/common/utils/get-random-id.global-override-for-injectable.ts @@ -4,6 +4,6 @@ */ import { getGlobalOverride } from "@k8slens/test-utils"; -import getRandomIdInjectable from "./get-random-id.injectable"; +import { getRandomIdInjectionToken } from "@k8slens/random"; -export default getGlobalOverride(getRandomIdInjectable, () => () => "some-irrelevant-random-id"); +export default getGlobalOverride(getRandomIdInjectionToken, () => () => "some-irrelevant-random-id"); diff --git a/packages/core/src/common/utils/get-random-id.injectable.ts b/packages/core/src/common/utils/get-random-id.injectable.ts deleted file mode 100644 index b6d8b99f41..0000000000 --- a/packages/core/src/common/utils/get-random-id.injectable.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import { v4 as getRandomId } from "uuid"; - -const getRandomIdInjectable = getInjectable({ - id: "get-random-id", - instantiate: () => () => getRandomId(), - causesSideEffects: true, -}); - -export default getRandomIdInjectable; diff --git a/packages/core/src/extensions/common-api/k8s-api.ts b/packages/core/src/extensions/common-api/k8s-api.ts index d53f240af5..7c9e2ad763 100644 --- a/packages/core/src/extensions/common-api/k8s-api.ts +++ b/packages/core/src/extensions/common-api/k8s-api.ts @@ -20,10 +20,9 @@ import type { KubeJsonApiDataFor, KubeObject } from "@k8slens/kube-object"; import type { DerivedKubeApiOptions, KubeApiDependencies, KubeApiOptions, KubeJsonApi as InternalKubeJsonApi } from "@k8slens/kube-api"; import clusterFrameContextForNamespacedResourcesInjectable from "../../renderer/cluster-frame-context/for-namespaced-resources.injectable"; import type { ClusterContext } from "../../renderer/cluster-frame-context/cluster-frame-context"; -import { loggerInjectionToken } from "@k8slens/logger"; -import maybeKubeApiInjectable from "../../common/k8s-api/maybe-kube-api.injectable"; +import { logErrorInjectionToken, loggerInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger"; +import { maybeKubeApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics"; import { DeploymentApi as InternalDeploymentApi, IngressApi as InternalIngressApi, NodeApi, PersistentVolumeClaimApi, PodApi, KubeApi as InternalKubeApi } from "@k8slens/kube-api"; -import { storesAndApisCanBeCreatedInjectionToken } from "../../common/k8s-api/stores-apis-can-be-created.token"; import type { JsonApiConfig } from "@k8slens/json-api"; import createKubeJsonApiInjectable from "../../common/k8s-api/create-kube-json-api.injectable"; import type { RequestInit } from "@k8slens/node-fetch"; @@ -40,7 +39,9 @@ const getKubeApiDeps = (): KubeApiDependencies => { const di = getLegacyGlobalDiForExtensionApi(); return { - logger: di.inject(loggerInjectionToken), + logError: di.inject(logErrorInjectionToken), + logInfo: di.inject(logInfoInjectionToken), + logWarn: di.inject(logWarningInjectionToken), maybeKubeApi: di.inject(maybeKubeApiInjectable), }; }; diff --git a/packages/core/src/extensions/lens-renderer-extension.ts b/packages/core/src/extensions/lens-renderer-extension.ts index 76a35eae05..b34f8ef84f 100644 --- a/packages/core/src/extensions/lens-renderer-extension.ts +++ b/packages/core/src/extensions/lens-renderer-extension.ts @@ -26,7 +26,7 @@ import { getExtensionRoutePath } from "../renderer/routes/for-extension"; import type { KubeObjectHandlerRegistration } from "../renderer/kube-object/handler"; import type { AppPreferenceTabRegistration } from "../features/preferences/renderer/compliance-for-legacy-extension-api/app-preference-tab-registration"; import type { KubeObjectDetailRegistration } from "../renderer/components/kube-object-details/kube-object-detail-registration"; -import type { ClusterFrameChildComponent } from "../renderer/frames/cluster-frame/cluster-frame-child-component-injection-token"; +import type { ClusterFrameChildComponent } from "@k8slens/react-application"; import type { EntitySettingRegistration } from "../renderer/components/entity-settings/extension-registrator.injectable"; import type { CatalogEntityDetailRegistration } from "../renderer/components/catalog/entity-details/token"; import type { PageRegistration } from "../renderer/routes/page-registration"; diff --git a/packages/core/src/extensions/renderer-api/components.ts b/packages/core/src/extensions/renderer-api/components.ts index 36ce3bba0a..91c5e98560 100644 --- a/packages/core/src/extensions/renderer-api/components.ts +++ b/packages/core/src/extensions/renderer-api/components.ts @@ -16,15 +16,18 @@ import { ConfirmDialog as _ConfirmDialog } from "../../renderer/components/confi import type { ConfirmDialogBooleanParams, ConfirmDialogParams, ConfirmDialogProps } from "../../renderer/components/confirm-dialog"; import openConfirmDialogInjectable from "../../renderer/components/confirm-dialog/open.injectable"; import confirmInjectable from "../../renderer/components/confirm-dialog/confirm.injectable"; -import notificationsStoreInjectable from "../../renderer/components/notifications/notifications-store.injectable"; +import { + notificationsStoreInjectable, + showCheckedErrorNotificationInjectable, + showErrorNotificationInjectable, + showInfoNotificationInjectable, + showShortInfoNotificationInjectable, + showSuccessNotificationInjectable, +} from "@k8slens/notifications"; import podStoreInjectable from "../../renderer/components/workloads-pods/store.injectable"; import getDetailsUrlInjectable from "../../renderer/components/kube-detail-params/get-details-url.injectable"; import showDetailsInjectable from "../../renderer/components/kube-detail-params/show-details.injectable"; -import showCheckedErrorNotificationInjectable from "../../renderer/components/notifications/show-checked-error.injectable"; -import showErrorNotificationInjectable from "../../renderer/components/notifications/show-error-notification.injectable"; -import showInfoNotificationInjectable from "../../renderer/components/notifications/show-info-notification.injectable"; -import showShortInfoNotificationInjectable from "../../renderer/components/notifications/show-short-info.injectable"; -import showSuccessNotificationInjectable from "../../renderer/components/notifications/show-success-notification.injectable"; + // layouts export * from "../../renderer/components/layout/main-layout"; @@ -79,7 +82,7 @@ export { type NotificationMessage, type ShowNotification, type NotificationsStore, -} from "../../renderer/components/notifications"; +} from"@k8slens/notifications"; export const Notifications = { ok: asLegacyGlobalFunctionForExtensionApi(showSuccessNotificationInjectable), diff --git a/packages/core/src/extensions/renderer-api/k8s-api.ts b/packages/core/src/extensions/renderer-api/k8s-api.ts index 7dc9abca43..cb00484fa2 100644 --- a/packages/core/src/extensions/renderer-api/k8s-api.ts +++ b/packages/core/src/extensions/renderer-api/k8s-api.ts @@ -5,37 +5,7 @@ import type { KubeResource } from "../../common/rbac"; import { apiResourceRecord } from "../../common/rbac"; import { getLegacyGlobalDiForExtensionApi, asLegacyGlobalForExtensionApi, asLegacyGlobalFunctionForExtensionApi } from "@k8slens/legacy-global-di"; -import clusterRoleBindingApiInjectable from "../../common/k8s-api/endpoints/cluster-role-binding.api.injectable"; -import clusterRoleApiInjectable from "../../common/k8s-api/endpoints/cluster-role.api.injectable"; -import serviceAccountApiInjectable from "../../common/k8s-api/endpoints/service-account.api.injectable"; -import roleApiInjectable from "../../common/k8s-api/endpoints/role.api.injectable"; -import podApiInjectable from "../../common/k8s-api/endpoints/pod.api.injectable"; -import daemonSetApiInjectable from "../../common/k8s-api/endpoints/daemon-set.api.injectable"; -import replicaSetApiInjectable from "../../common/k8s-api/endpoints/replica-set.api.injectable"; -import statefulSetApiInjectable from "../../common/k8s-api/endpoints/stateful-set.api.injectable"; -import deploymentApiInjectable from "../../common/k8s-api/endpoints/deployment.api.injectable"; -import jobApiInjectable from "../../common/k8s-api/endpoints/job.api.injectable"; -import cronJobApiInjectable from "../../common/k8s-api/endpoints/cron-job.api.injectable"; -import nodeApiInjectable from "../../common/k8s-api/endpoints/node.api.injectable"; -import configMapApiInjectable from "../../common/k8s-api/endpoints/config-map.api.injectable"; -import secretApiInjectable from "../../common/k8s-api/endpoints/secret.api.injectable"; -import resourceQuotaApiInjectable from "../../common/k8s-api/endpoints/resource-quota.api.injectable"; -import limitRangeApiInjectable from "../../common/k8s-api/endpoints/limit-range.api.injectable"; -import horizontalPodAutoscalerApiInjectable from "../../common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable"; -import verticalPodAutoscalerApiInjectable from "../../common/k8s-api/endpoints/vertical-pod-autoscaler.api.injectable"; -import podDisruptionBudgetApiInjectable from "../../common/k8s-api/endpoints/pod-disruption-budget.api.injectable"; -import priorityClassStoreApiInjectable from "../../common/k8s-api/endpoints/priority-class.api.injectable"; -import serviceApiInjectable from "../../common/k8s-api/endpoints/service.api.injectable"; -import endpointsApiInjectable from "../../common/k8s-api/endpoints/endpoint.api.injectable"; -import ingressApiInjectable from "../../common/k8s-api/endpoints/ingress.api.injectable"; -import networkPolicyApiInjectable from "../../common/k8s-api/endpoints/network-policy.api.injectable"; -import persistentVolumeApiInjectable from "../../common/k8s-api/endpoints/persistent-volume.api.injectable"; -import persistentVolumeClaimApiInjectable from "../../common/k8s-api/endpoints/persistent-volume-claim.api.injectable"; -import storageClassApiInjectable from "../../common/k8s-api/endpoints/storage-class.api.injectable"; -import namespaceApiInjectable from "../../common/k8s-api/endpoints/namespace.api.injectable"; -import kubeEventApiInjectable from "../../common/k8s-api/endpoints/events.api.injectable"; -import roleBindingApiInjectable from "../../common/k8s-api/endpoints/role-binding.api.injectable"; -import customResourceDefinitionApiInjectable from "../../common/k8s-api/endpoints/custom-resource-definition.api.injectable"; +import * as kubeApiSpecifics from "@k8slens/kube-api-specifics"; import { shouldShowResourceInjectionToken } from "../../features/cluster/showing-kube-resources/common/allowed-resources-injection-token"; import requestMetricsInjectable from "../../common/k8s-api/endpoints/metrics.api/request-metrics.injectable"; @@ -59,37 +29,37 @@ export function isAllowedResource(resources: KubeResource | KubeResource[]) { }); } -export const serviceAccountsApi = asLegacyGlobalForExtensionApi(serviceAccountApiInjectable); -export const clusterRoleApi = asLegacyGlobalForExtensionApi(clusterRoleApiInjectable); -export const clusterRoleBindingApi = asLegacyGlobalForExtensionApi(clusterRoleBindingApiInjectable); -export const roleApi = asLegacyGlobalForExtensionApi(roleApiInjectable); -export const podsApi = asLegacyGlobalForExtensionApi(podApiInjectable); -export const daemonSetApi = asLegacyGlobalForExtensionApi(daemonSetApiInjectable); -export const replicaSetApi = asLegacyGlobalForExtensionApi(replicaSetApiInjectable); -export const statefulSetApi = asLegacyGlobalForExtensionApi(statefulSetApiInjectable); -export const deploymentApi = asLegacyGlobalForExtensionApi(deploymentApiInjectable); -export const jobApi = asLegacyGlobalForExtensionApi(jobApiInjectable); -export const cronJobApi = asLegacyGlobalForExtensionApi(cronJobApiInjectable); -export const nodesApi = asLegacyGlobalForExtensionApi(nodeApiInjectable); -export const secretsApi = asLegacyGlobalForExtensionApi(secretApiInjectable); -export const configMapApi = asLegacyGlobalForExtensionApi(configMapApiInjectable); -export const resourceQuotaApi = asLegacyGlobalForExtensionApi(resourceQuotaApiInjectable); -export const limitRangeApi = asLegacyGlobalForExtensionApi(limitRangeApiInjectable); -export const serviceApi = asLegacyGlobalForExtensionApi(serviceApiInjectable); -export const hpaApi = asLegacyGlobalForExtensionApi(horizontalPodAutoscalerApiInjectable); -export const vpaApi = asLegacyGlobalForExtensionApi(verticalPodAutoscalerApiInjectable); -export const pdbApi = asLegacyGlobalForExtensionApi(podDisruptionBudgetApiInjectable); -export const pcApi = asLegacyGlobalForExtensionApi(priorityClassStoreApiInjectable); -export const endpointApi = asLegacyGlobalForExtensionApi(endpointsApiInjectable); -export const ingressApi = asLegacyGlobalForExtensionApi(ingressApiInjectable); -export const networkPolicyApi = asLegacyGlobalForExtensionApi(networkPolicyApiInjectable); -export const persistentVolumeApi = asLegacyGlobalForExtensionApi(persistentVolumeApiInjectable); -export const pvcApi = asLegacyGlobalForExtensionApi(persistentVolumeClaimApiInjectable); -export const storageClassApi = asLegacyGlobalForExtensionApi(storageClassApiInjectable); -export const namespacesApi = asLegacyGlobalForExtensionApi(namespaceApiInjectable); -export const eventApi = asLegacyGlobalForExtensionApi(kubeEventApiInjectable); -export const roleBindingApi = asLegacyGlobalForExtensionApi(roleBindingApiInjectable); -export const crdApi = asLegacyGlobalForExtensionApi(customResourceDefinitionApiInjectable); +export const serviceAccountsApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.serviceAccountApiInjectable); +export const clusterRoleApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.clusterRoleApiInjectable); +export const clusterRoleBindingApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.clusterRoleBindingApiInjectable); +export const roleApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.roleApiInjectable); +export const podsApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.podApiInjectable); +export const daemonSetApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.daemonSetApiInjectable); +export const replicaSetApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.replicaSetApiInjectable); +export const statefulSetApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.statefulSetApiInjectable); +export const deploymentApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.deploymentApiInjectable); +export const jobApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.jobApiInjectable); +export const cronJobApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.cronJobApiInjectable); +export const nodesApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.nodeApiInjectable); +export const secretsApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.secretApiInjectable); +export const configMapApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.configMapApiInjectable); +export const resourceQuotaApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.resourceQuotaApiInjectable); +export const limitRangeApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.limitRangeApiInjectable); +export const serviceApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.serviceApiInjectable); +export const hpaApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.horizontalPodAutoscalerApiInjectable); +export const vpaApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.verticalPodAutoscalerApiInjectable); +export const pdbApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.podDisruptionBudgetApiInjectable); +export const pcApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.priorityClassApiInjectable); +export const endpointApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.endpointsApiInjectable); +export const ingressApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.ingressApiInjectable); +export const networkPolicyApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.networkPolicyApiInjectable); +export const persistentVolumeApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.persistentVolumeApiInjectable); +export const pvcApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.persistentVolumeClaimApiInjectable); +export const storageClassApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.storageClassApiInjectable); +export const namespacesApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.namespaceApiInjectable); +export const eventApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.kubeEventApiInjectable); +export const roleBindingApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.roleBindingApiInjectable); +export const crdApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.customResourceDefinitionApiInjectable); export * from "../common-api/k8s-api"; diff --git a/packages/core/src/features/__snapshots__/extension-special-characters-in-page-registrations.test.tsx.snap b/packages/core/src/features/__snapshots__/extension-special-characters-in-page-registrations.test.tsx.snap index 93047b5827..ff06a6b9ad 100644 --- a/packages/core/src/features/__snapshots__/extension-special-characters-in-page-registrations.test.tsx.snap +++ b/packages/core/src/features/__snapshots__/extension-special-characters-in-page-registrations.test.tsx.snap @@ -2,6 +2,9 @@ exports[`extension special characters in page registrations renders 1`] = `
+
@@ -339,14 +342,14 @@ exports[`extension special characters in page registrations renders 1`] = ` />
-
`; exports[`extension special characters in page registrations when navigating to route with ID having special characters renders 1`] = `
+
@@ -560,8 +563,5 @@ exports[`extension special characters in page registrations when navigating to r />
-
`; diff --git a/packages/core/src/features/__snapshots__/navigate-to-extension-page.test.tsx.snap b/packages/core/src/features/__snapshots__/navigate-to-extension-page.test.tsx.snap index 1dbfd9a235..c24dec4f2d 100644 --- a/packages/core/src/features/__snapshots__/navigate-to-extension-page.test.tsx.snap +++ b/packages/core/src/features/__snapshots__/navigate-to-extension-page.test.tsx.snap @@ -2,6 +2,9 @@ exports[`navigate to extension page renders 1`] = `
+
@@ -339,14 +342,14 @@ exports[`navigate to extension page renders 1`] = ` />
-
`; exports[`navigate to extension page when extension navigates to child route renders 1`] = `
+
@@ -560,14 +563,14 @@ exports[`navigate to extension page when extension navigates to child route rend />
-
`; exports[`navigate to extension page when extension navigates to route with parameters renders 1`] = `
+
@@ -797,14 +800,14 @@ exports[`navigate to extension page when extension navigates to route with param />
-
`; exports[`navigate to extension page when extension navigates to route without parameters renders 1`] = `
+
@@ -1034,14 +1037,14 @@ exports[`navigate to extension page when extension navigates to route without pa />
-
`; exports[`navigate to extension page when extension navigates to route without parameters when changing page parameters renders 1`] = `
+
@@ -1271,8 +1274,5 @@ exports[`navigate to extension page when extension navigates to route without pa />
-
`; diff --git a/packages/core/src/features/__snapshots__/navigating-between-routes.test.tsx.snap b/packages/core/src/features/__snapshots__/navigating-between-routes.test.tsx.snap index 1280d1a3ce..91a68cf004 100644 --- a/packages/core/src/features/__snapshots__/navigating-between-routes.test.tsx.snap +++ b/packages/core/src/features/__snapshots__/navigating-between-routes.test.tsx.snap @@ -2,6 +2,9 @@ exports[`navigating between routes given route with optional path parameters when navigating to route with path parameters renders 1`] = `
+
@@ -218,14 +221,14 @@ exports[`navigating between routes given route with optional path parameters whe />
-
`; exports[`navigating between routes given route without path parameters when navigating to route renders 1`] = `
+
@@ -439,8 +442,5 @@ exports[`navigating between routes given route without path parameters when navi />
-
`; diff --git a/packages/core/src/features/add-cluster/__snapshots__/navigation-using-application-menu.test.tsx.snap b/packages/core/src/features/add-cluster/__snapshots__/navigation-using-application-menu.test.tsx.snap index 91e901072d..1b9d75f07f 100644 --- a/packages/core/src/features/add-cluster/__snapshots__/navigation-using-application-menu.test.tsx.snap +++ b/packages/core/src/features/add-cluster/__snapshots__/navigation-using-application-menu.test.tsx.snap @@ -2,6 +2,9 @@ exports[`add-cluster - navigation using application menu renders 1`] = `
+
@@ -339,14 +342,14 @@ exports[`add-cluster - navigation using application menu renders 1`] = ` />
-
`; exports[`add-cluster - navigation using application menu when navigating to add cluster using application menu renders 1`] = `
+
@@ -644,8 +647,5 @@ exports[`add-cluster - navigation using application menu when navigating to add />
-
`; diff --git a/packages/core/src/features/application-update/__snapshots__/hiding-preference-when-disabled.test.ts.snap b/packages/core/src/features/application-update/__snapshots__/hiding-preference-when-disabled.test.ts.snap index 3f0ffbfa07..93866d2d68 100644 --- a/packages/core/src/features/application-update/__snapshots__/hiding-preference-when-disabled.test.ts.snap +++ b/packages/core/src/features/application-update/__snapshots__/hiding-preference-when-disabled.test.ts.snap @@ -3,6 +3,9 @@ exports[`hiding Update Channel preference with updating is not enabled renders 1`] = `
+
@@ -673,9 +676,6 @@ exports[`hiding Update Channel preference with updating is not enabled renders 1 />
-
`; @@ -683,6 +683,9 @@ exports[`hiding Update Channel preference with updating is not enabled renders 1 exports[`showing Update Channel preference with updating is enabled renders 1`] = `
+
@@ -1442,9 +1445,6 @@ exports[`showing Update Channel preference with updating is enabled renders 1`] />
-
`; diff --git a/packages/core/src/features/application-update/__snapshots__/installing-update.test.ts.snap b/packages/core/src/features/application-update/__snapshots__/installing-update.test.ts.snap index 70dd9078fb..3cf464f6ac 100644 --- a/packages/core/src/features/application-update/__snapshots__/installing-update.test.ts.snap +++ b/packages/core/src/features/application-update/__snapshots__/installing-update.test.ts.snap @@ -3,6 +3,9 @@ exports[`installing update when started renders 1`] = `
+
@@ -340,9 +343,6 @@ exports[`installing update when started renders 1`] = ` />
-
`; @@ -350,6 +350,9 @@ exports[`installing update when started renders 1`] = ` exports[`installing update when started when user checks for updates renders 1`] = `
+
@@ -687,9 +690,6 @@ exports[`installing update when started when user checks for updates renders 1`] />
-
`; @@ -697,6 +697,9 @@ exports[`installing update when started when user checks for updates renders 1`] exports[`installing update when started when user checks for updates when new update is discovered renders 1`] = `
+
@@ -1034,9 +1037,6 @@ exports[`installing update when started when user checks for updates when new up />
-
`; @@ -1044,6 +1044,9 @@ exports[`installing update when started when user checks for updates when new up exports[`installing update when started when user checks for updates when new update is discovered when download fails renders 1`] = `
+
@@ -1381,9 +1384,6 @@ exports[`installing update when started when user checks for updates when new up />
-
`; @@ -1391,6 +1391,9 @@ exports[`installing update when started when user checks for updates when new up exports[`installing update when started when user checks for updates when new update is discovered when download succeeds given checking for updates again when check resolves with different update that was previously downloaded when download fails renders 1`] = `
+
@@ -1728,9 +1731,6 @@ exports[`installing update when started when user checks for updates when new up />
-
`; @@ -1738,6 +1738,9 @@ exports[`installing update when started when user checks for updates when new up exports[`installing update when started when user checks for updates when new update is discovered when download succeeds given checking for updates again when check resolves with different update that was previously downloaded when download resolves successfully renders 1`] = `
+
@@ -2100,9 +2103,6 @@ exports[`installing update when started when user checks for updates when new up />
-
`; @@ -2110,6 +2110,9 @@ exports[`installing update when started when user checks for updates when new up exports[`installing update when started when user checks for updates when new update is discovered when download succeeds given checking for updates again when check resolves with same update that is already downloaded renders 1`] = `
+
@@ -2472,9 +2475,6 @@ exports[`installing update when started when user checks for updates when new up />
-
`; @@ -2482,6 +2482,9 @@ exports[`installing update when started when user checks for updates when new up exports[`installing update when started when user checks for updates when new update is discovered when download succeeds renders 1`] = `
+
@@ -2844,9 +2847,6 @@ exports[`installing update when started when user checks for updates when new up />
-
`; @@ -2854,6 +2854,9 @@ exports[`installing update when started when user checks for updates when new up exports[`installing update when started when user checks for updates when no new update is discovered renders 1`] = `
+
@@ -3191,9 +3194,6 @@ exports[`installing update when started when user checks for updates when no new />
-
`; diff --git a/packages/core/src/features/application-update/child-features/application-update-using-application-menu/__snapshots__/application-update-using-application-menu.test.ts.snap b/packages/core/src/features/application-update/child-features/application-update-using-application-menu/__snapshots__/application-update-using-application-menu.test.ts.snap index 51f9570841..16ffd55d35 100644 --- a/packages/core/src/features/application-update/child-features/application-update-using-application-menu/__snapshots__/application-update-using-application-menu.test.ts.snap +++ b/packages/core/src/features/application-update/child-features/application-update-using-application-menu/__snapshots__/application-update-using-application-menu.test.ts.snap @@ -3,6 +3,9 @@ exports[`installing update using application menu when started renders 1`] = `
+
@@ -340,9 +343,6 @@ exports[`installing update using application menu when started renders 1`] = ` />
-
`; diff --git a/packages/core/src/features/application-update/child-features/application-update-using-top-bar/__snapshots__/installing-update-using-topbar-button.test.tsx.snap b/packages/core/src/features/application-update/child-features/application-update-using-top-bar/__snapshots__/installing-update-using-topbar-button.test.tsx.snap index 6ec61d27cf..99a1eea3a7 100644 --- a/packages/core/src/features/application-update/child-features/application-update-using-top-bar/__snapshots__/installing-update-using-topbar-button.test.tsx.snap +++ b/packages/core/src/features/application-update/child-features/application-update-using-top-bar/__snapshots__/installing-update-using-topbar-button.test.tsx.snap @@ -3,6 +3,9 @@ exports[`encourage user to update when sufficient time passed since update was downloaded when started given the update check when update downloaded given some time passes, when checking for updates again when checking for updates resolves with same version that was previously downloaded renders 1`] = `
+
@@ -365,9 +368,6 @@ exports[`encourage user to update when sufficient time passed since update was d />
-
`; @@ -375,6 +375,9 @@ exports[`encourage user to update when sufficient time passed since update was d exports[`encourage user to update when sufficient time passed since update was downloaded when started renders 1`] = `
+
@@ -712,9 +715,6 @@ exports[`encourage user to update when sufficient time passed since update was d />
-
`; diff --git a/packages/core/src/features/application-update/child-features/application-update-using-tray/__snapshots__/installing-update-using-tray.test.ts.snap b/packages/core/src/features/application-update/child-features/application-update-using-tray/__snapshots__/installing-update-using-tray.test.ts.snap index 6634465613..79150fefa1 100644 --- a/packages/core/src/features/application-update/child-features/application-update-using-tray/__snapshots__/installing-update-using-tray.test.ts.snap +++ b/packages/core/src/features/application-update/child-features/application-update-using-tray/__snapshots__/installing-update-using-tray.test.ts.snap @@ -3,6 +3,9 @@ exports[`installing update using tray when started renders 1`] = `
+
@@ -340,9 +343,6 @@ exports[`installing update using tray when started renders 1`] = ` />
-
`; @@ -350,6 +350,9 @@ exports[`installing update using tray when started renders 1`] = ` exports[`installing update using tray when started when user checks for updates using tray renders 1`] = `
+
@@ -687,9 +690,6 @@ exports[`installing update using tray when started when user checks for updates />
-
`; @@ -697,6 +697,9 @@ exports[`installing update using tray when started when user checks for updates exports[`installing update using tray when started when user checks for updates using tray when new update is discovered renders 1`] = `
+
@@ -1034,9 +1037,6 @@ exports[`installing update using tray when started when user checks for updates />
-
`; @@ -1044,6 +1044,9 @@ exports[`installing update using tray when started when user checks for updates exports[`installing update using tray when started when user checks for updates using tray when new update is discovered when download fails renders 1`] = `
+
@@ -1381,9 +1384,6 @@ exports[`installing update using tray when started when user checks for updates />
-
`; @@ -1391,6 +1391,9 @@ exports[`installing update using tray when started when user checks for updates exports[`installing update using tray when started when user checks for updates using tray when new update is discovered when download succeeds renders 1`] = `
+
@@ -1753,9 +1756,6 @@ exports[`installing update using tray when started when user checks for updates />
-
`; @@ -1763,6 +1763,9 @@ exports[`installing update using tray when started when user checks for updates exports[`installing update using tray when started when user checks for updates using tray when no new update is discovered renders 1`] = `
+
@@ -2100,9 +2103,6 @@ exports[`installing update using tray when started when user checks for updates />
-
`; diff --git a/packages/core/src/features/application-update/child-features/force-update/__snapshots__/force-update.test.ts.snap b/packages/core/src/features/application-update/child-features/force-update/__snapshots__/force-update.test.ts.snap index e705f60cb1..9c0bd3e31e 100644 --- a/packages/core/src/features/application-update/child-features/force-update/__snapshots__/force-update.test.ts.snap +++ b/packages/core/src/features/application-update/child-features/force-update/__snapshots__/force-update.test.ts.snap @@ -3,6 +3,9 @@ exports[`force user to update when too long since update was downloaded when application is started given checking for updates and it resolves, when update was downloaded renders 1`] = `
+
@@ -365,9 +368,6 @@ exports[`force user to update when too long since update was downloaded when app />
-
`; @@ -375,6 +375,9 @@ exports[`force user to update when too long since update was downloaded when app exports[`force user to update when too long since update was downloaded when application is started given checking for updates and it resolves, when update was downloaded when enough time passes to consider that update must be installed renders 1`] = `
+
@@ -737,9 +740,6 @@ exports[`force user to update when too long since update was downloaded when app />
-