mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
18e4e9e5dc | ||
|
|
6c79d486b1 | ||
|
|
eaa235bbbf | ||
|
|
cde5cfef4b | ||
|
|
31df1a3801 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -9,6 +9,3 @@ lerna-debug.log
|
|||||||
coverage
|
coverage
|
||||||
dist
|
dist
|
||||||
node_modules
|
node_modules
|
||||||
.linkable.json
|
|
||||||
yalc.lock
|
|
||||||
.yalc
|
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
# Contributing to Lens
|
# Contributing to Lens
|
||||||
|
|
||||||
See [Contributing to Lens](https://docs.k8slens.dev/contributing/contribute-to-lens/) documentation.
|
See [Contributing to Lens](https://docs.k8slens.dev/contributing/) documentation.
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* 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) {
|
exports.default = async function notarizing(context) {
|
||||||
const { electronPlatformName, appOutDir } = context;
|
const { electronPlatformName, appOutDir } = context;
|
||||||
@ -22,8 +22,6 @@ exports.default = async function notarizing(context) {
|
|||||||
appPath: `${appOutDir}/${appName}.app`,
|
appPath: `${appOutDir}/${appName}.app`,
|
||||||
appleId: process.env.APPLEID,
|
appleId: process.env.APPLEID,
|
||||||
appleIdPassword: process.env.APPLEIDPASS,
|
appleIdPassword: process.env.APPLEIDPASS,
|
||||||
ascProvider: process.env.ASCPROVIDER,
|
ascProvider:process.env.ASCPROVIDER,
|
||||||
teamId: process.env.APPLETEAMID,
|
|
||||||
tool: process.env.NOTARIZE_TOOL || "legacy",
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@ -172,219 +172,219 @@ const scenarios = [
|
|||||||
{
|
{
|
||||||
expectedSelector: "div[data-testid='cluster-overview-page'] div.label",
|
expectedSelector: "div[data-testid='cluster-overview-page'] div.label",
|
||||||
parentSidebarItemTestId: null,
|
parentSidebarItemTestId: null,
|
||||||
sidebarItemTestId: "link-for-sidebar-item-cluster-overview",
|
sidebarItemTestId: "sidebar-item-link-for-cluster-overview",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: null,
|
parentSidebarItemTestId: null,
|
||||||
sidebarItemTestId: "link-for-sidebar-item-nodes",
|
sidebarItemTestId: "sidebar-item-link-for-nodes",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: 'h5 >> text="Overview"',
|
expectedSelector: 'h5 >> text="Overview"',
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-workloads",
|
parentSidebarItemTestId: "sidebar-item-link-for-workloads",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-workloads-overview",
|
sidebarItemTestId: "sidebar-item-link-for-overview",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-workloads",
|
parentSidebarItemTestId: "sidebar-item-link-for-workloads",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-pods",
|
sidebarItemTestId: "sidebar-item-link-for-pods",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-workloads",
|
parentSidebarItemTestId: "sidebar-item-link-for-workloads",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-deployments",
|
sidebarItemTestId: "sidebar-item-link-for-deployments",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-workloads",
|
parentSidebarItemTestId: "sidebar-item-link-for-workloads",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-daemon-sets",
|
sidebarItemTestId: "sidebar-item-link-for-daemon-sets",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-workloads",
|
parentSidebarItemTestId: "sidebar-item-link-for-workloads",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-stateful-sets",
|
sidebarItemTestId: "sidebar-item-link-for-stateful-sets",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-workloads",
|
parentSidebarItemTestId: "sidebar-item-link-for-workloads",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-replica-sets",
|
sidebarItemTestId: "sidebar-item-link-for-replica-sets",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-workloads",
|
parentSidebarItemTestId: "sidebar-item-link-for-workloads",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-jobs",
|
sidebarItemTestId: "sidebar-item-link-for-jobs",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-workloads",
|
parentSidebarItemTestId: "sidebar-item-link-for-workloads",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-cron-jobs",
|
sidebarItemTestId: "sidebar-item-link-for-cron-jobs",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-config",
|
parentSidebarItemTestId: "sidebar-item-link-for-config",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-config-maps",
|
sidebarItemTestId: "sidebar-item-link-for-config-maps",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-config",
|
parentSidebarItemTestId: "sidebar-item-link-for-config",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-secrets",
|
sidebarItemTestId: "sidebar-item-link-for-secrets",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-config",
|
parentSidebarItemTestId: "sidebar-item-link-for-config",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-resource-quotas",
|
sidebarItemTestId: "sidebar-item-link-for-resource-quotas",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-config",
|
parentSidebarItemTestId: "sidebar-item-link-for-config",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-limit-ranges",
|
sidebarItemTestId: "sidebar-item-link-for-limit-ranges",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-config",
|
parentSidebarItemTestId: "sidebar-item-link-for-config",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-horizontal-pod-autoscalers",
|
sidebarItemTestId: "sidebar-item-link-for-horizontal-pod-auto-scalers",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-config",
|
parentSidebarItemTestId: "sidebar-item-link-for-config",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-pod-disruption-budgets",
|
sidebarItemTestId: "sidebar-item-link-for-pod-disruption-budgets",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-network",
|
parentSidebarItemTestId: "sidebar-item-link-for-network",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-services",
|
sidebarItemTestId: "sidebar-item-link-for-services",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-network",
|
parentSidebarItemTestId: "sidebar-item-link-for-network",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-endpoints",
|
sidebarItemTestId: "sidebar-item-link-for-endpoints",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-network",
|
parentSidebarItemTestId: "sidebar-item-link-for-network",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-ingresses",
|
sidebarItemTestId: "sidebar-item-link-for-ingresses",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-network",
|
parentSidebarItemTestId: "sidebar-item-link-for-network",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-network-policies",
|
sidebarItemTestId: "sidebar-item-link-for-network-policies",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-storage",
|
parentSidebarItemTestId: "sidebar-item-link-for-storage",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-persistent-volume-claims",
|
sidebarItemTestId: "sidebar-item-link-for-persistent-volume-claims",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-storage",
|
parentSidebarItemTestId: "sidebar-item-link-for-storage",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-persistent-volumes",
|
sidebarItemTestId: "sidebar-item-link-for-persistent-volumes",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-storage",
|
parentSidebarItemTestId: "sidebar-item-link-for-storage",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-storage-classes",
|
sidebarItemTestId: "sidebar-item-link-for-storage-classes",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: null,
|
parentSidebarItemTestId: null,
|
||||||
sidebarItemTestId: "link-for-sidebar-item-namespaces",
|
sidebarItemTestId: "sidebar-item-link-for-namespaces",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: null,
|
parentSidebarItemTestId: null,
|
||||||
sidebarItemTestId: "link-for-sidebar-item-events",
|
sidebarItemTestId: "sidebar-item-link-for-events",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "div.HelmCharts input",
|
expectedSelector: "div.HelmCharts input",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-helm",
|
parentSidebarItemTestId: "sidebar-item-link-for-helm",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-helm-charts",
|
sidebarItemTestId: "sidebar-item-link-for-charts",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-helm",
|
parentSidebarItemTestId: "sidebar-item-link-for-helm",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-helm-releases",
|
sidebarItemTestId: "sidebar-item-link-for-releases",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-user-management",
|
parentSidebarItemTestId: "sidebar-item-link-for-user-management",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-service-accounts",
|
sidebarItemTestId: "sidebar-item-link-for-service-accounts",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-user-management",
|
parentSidebarItemTestId: "sidebar-item-link-for-user-management",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-cluster-roles",
|
sidebarItemTestId: "sidebar-item-link-for-cluster-roles",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-user-management",
|
parentSidebarItemTestId: "sidebar-item-link-for-user-management",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-roles",
|
sidebarItemTestId: "sidebar-item-link-for-roles",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-user-management",
|
parentSidebarItemTestId: "sidebar-item-link-for-user-management",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-cluster-role-bindings",
|
sidebarItemTestId: "sidebar-item-link-for-cluster-role-bindings",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-user-management",
|
parentSidebarItemTestId: "sidebar-item-link-for-user-management",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-role-bindings",
|
sidebarItemTestId: "sidebar-item-link-for-role-bindings",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: null,
|
parentSidebarItemTestId: null,
|
||||||
sidebarItemTestId: "link-for-sidebar-item-custom-resources",
|
sidebarItemTestId: "sidebar-item-link-for-custom-resources",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-config",
|
parentSidebarItemTestId: "sidebar-item-link-for-config",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-validating-webhook-configurations",
|
sidebarItemTestId: "sidebar-item-link-for-validating-webhook-configurations",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
expectedSelector: "h5.title",
|
expectedSelector: "h5.title",
|
||||||
parentSidebarItemTestId: "link-for-sidebar-item-config",
|
parentSidebarItemTestId: "sidebar-item-link-for-config",
|
||||||
sidebarItemTestId: "link-for-sidebar-item-mutating-webhook-configurations",
|
sidebarItemTestId: "sidebar-item-link-for-mutating-webhook-configurations",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const navigateToPods = async (frame: Frame) => {
|
const navigateToPods = async (frame: Frame) => {
|
||||||
await frame.click(`[data-testid="link-for-sidebar-item-workloads"]`);
|
await frame.click(`[data-testid="sidebar-item-link-for-workloads"]`);
|
||||||
await frame.click(`[data-testid="link-for-sidebar-item-pods"]`);
|
await frame.click(`[data-testid="sidebar-item-link-for-pods"]`);
|
||||||
};
|
};
|
||||||
|
|
||||||
const navigateToNamespaces = async (frame: Frame) => {
|
const navigateToNamespaces = async (frame: Frame) => {
|
||||||
await frame.click(`[data-testid="link-for-sidebar-item-namespaces"]`);
|
await frame.click(`[data-testid="sidebar-item-link-for-namespaces"]`);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
"productName": "OpenLens",
|
"productName": "OpenLens",
|
||||||
"description": "OpenLens - Open Source IDE for Kubernetes",
|
"description": "OpenLens - Open Source IDE for Kubernetes",
|
||||||
"homepage": "https://github.com/lensapp/lens",
|
"homepage": "https://github.com/lensapp/lens",
|
||||||
"version": "6.5.0",
|
"version": "6.5.2",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/lensapp/lens.git"
|
"url": "git+https://github.com/lensapp/lens.git"
|
||||||
@ -30,7 +30,7 @@
|
|||||||
"dev:main": "cross-env NODE_ENV=development webpack --config webpack/main.ts --progress --watch",
|
"dev:main": "cross-env NODE_ENV=development webpack --config webpack/main.ts --progress --watch",
|
||||||
"dev:renderer": "cross-env NODE_ENV=development ts-node ./webpack/dev-server.ts",
|
"dev:renderer": "cross-env NODE_ENV=development ts-node ./webpack/dev-server.ts",
|
||||||
"test:integration": "jest -xyz --runInBand --modulePaths=[\"<rootDir>/integration/\"];",
|
"test:integration": "jest -xyz --runInBand --modulePaths=[\"<rootDir>/integration/\"];",
|
||||||
"build:tray-icons": "npm run --workspace @k8slens/generate-tray-icons generate -- --output static/build/tray --input @k8slens/icon/icons/logo-lens.svg --notice-icon @k8slens/icon/icons/notice.svg --spinner-icon @k8slens/icon/icons/arrow-spinner.svg",
|
"build:tray-icons": "npm run --workspace @k8slens/generate-tray-icons generate -- --output static/build/tray --input @k8slens/core/icons/logo-lens.svg --notice-icon @k8slens/core/icons/notice.svg --spinner-icon @k8slens/core/icons/arrow-spinner.svg",
|
||||||
"download:binaries": "npm run --workspace @k8slens/ensure-binaries ensure -- --package package.json --base-dir binaries/client",
|
"download:binaries": "npm run --workspace @k8slens/ensure-binaries ensure -- --package package.json --base-dir binaries/client",
|
||||||
"postinstall": "electron-rebuild"
|
"postinstall": "electron-rebuild"
|
||||||
},
|
},
|
||||||
@ -184,19 +184,15 @@
|
|||||||
"@k8slens/application-for-electron-main": "^6.5.0",
|
"@k8slens/application-for-electron-main": "^6.5.0",
|
||||||
"@k8slens/button": "^1.0.0",
|
"@k8slens/button": "^1.0.0",
|
||||||
"@k8slens/cluster-settings": "^6.5.0",
|
"@k8slens/cluster-settings": "^6.5.0",
|
||||||
"@k8slens/cluster-sidebar": "^1.0.0",
|
"@k8slens/core": "^6.5.2",
|
||||||
"@k8slens/core": "^6.5.0",
|
|
||||||
"@k8slens/ensure-binaries": "^6.5.0",
|
"@k8slens/ensure-binaries": "^6.5.0",
|
||||||
"@k8slens/error-boundary": "^1.0.0",
|
"@k8slens/error-boundary": "^1.0.0",
|
||||||
"@k8slens/event-emitter": "^1.0.0",
|
"@k8slens/event-emitter": "^1.0.0",
|
||||||
"@k8slens/feature-core": "^6.5.0",
|
"@k8slens/feature-core": "^6.5.0",
|
||||||
"@k8slens/json-api": "^1.0.0-alpha.3",
|
|
||||||
"@k8slens/keyboard-shortcuts": "^1.0.0",
|
"@k8slens/keyboard-shortcuts": "^1.0.0",
|
||||||
"@k8slens/kube-api": "^1.0.0-alpha.1",
|
|
||||||
"@k8slens/kube-api-specifics": "^1.0.0",
|
|
||||||
"@k8slens/kube-object": "^1.0.0",
|
"@k8slens/kube-object": "^1.0.0",
|
||||||
"@k8slens/kubectl-versions": "^1.0.0",
|
"@k8slens/kubectl-versions": "^1.0.0",
|
||||||
"@k8slens/legacy-extension-example": "^1.0.0",
|
"@k8slens/legacy-extension-example": "^1.0.2",
|
||||||
"@k8slens/legacy-extensions": "^1.0.0",
|
"@k8slens/legacy-extensions": "^1.0.0",
|
||||||
"@k8slens/legacy-global-di": "^1.0.0",
|
"@k8slens/legacy-global-di": "^1.0.0",
|
||||||
"@k8slens/list-layout": "^1.0.0",
|
"@k8slens/list-layout": "^1.0.0",
|
||||||
@ -206,8 +202,6 @@
|
|||||||
"@k8slens/messaging-for-renderer": "^1.0.0",
|
"@k8slens/messaging-for-renderer": "^1.0.0",
|
||||||
"@k8slens/metrics": "^6.5.0",
|
"@k8slens/metrics": "^6.5.0",
|
||||||
"@k8slens/node-fetch": "^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/react-application": "^1.0.0",
|
||||||
"@k8slens/resizing-anchor": "^1.0.0",
|
"@k8slens/resizing-anchor": "^1.0.0",
|
||||||
"@k8slens/resource-templates": "^1.0.0",
|
"@k8slens/resource-templates": "^1.0.0",
|
||||||
@ -219,11 +213,11 @@
|
|||||||
"@kubernetes/client-node": "^0.18.1",
|
"@kubernetes/client-node": "^0.18.1",
|
||||||
"@material-ui/core": "^4.12.3",
|
"@material-ui/core": "^4.12.3",
|
||||||
"@material-ui/lab": "^4.0.0-alpha.60",
|
"@material-ui/lab": "^4.0.0-alpha.60",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-mobx": "^16.1.0",
|
||||||
"@ogre-tools/injectable-react": "^17.2.0",
|
"@ogre-tools/injectable-react": "^16.1.0",
|
||||||
"@sentry/electron": "^3.0.8",
|
"@sentry/electron": "^3.0.8",
|
||||||
"@sentry/integrations": "^6.19.3",
|
"@sentry/integrations": "^6.19.3",
|
||||||
"ansi_up": "^5.2.1",
|
"ansi_up": "^5.2.1",
|
||||||
@ -299,7 +293,6 @@
|
|||||||
"xterm-link-provider": "^1.3.1"
|
"xterm-link-provider": "^1.3.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@electron/notarize": "^1.2.3",
|
|
||||||
"@electron/rebuild": "^3.2.10",
|
"@electron/rebuild": "^3.2.10",
|
||||||
"@k8slens/generate-tray-icons": "^6.5.0",
|
"@k8slens/generate-tray-icons": "^6.5.0",
|
||||||
"@k8slens/test-utils": "^1.0.0",
|
"@k8slens/test-utils": "^1.0.0",
|
||||||
@ -333,6 +326,7 @@
|
|||||||
"css-loader": "^6.7.2",
|
"css-loader": "^6.7.2",
|
||||||
"electron": "^22.3.10",
|
"electron": "^22.3.10",
|
||||||
"electron-builder": "^23.6.0",
|
"electron-builder": "^23.6.0",
|
||||||
|
"electron-notarize": "^0.3.0",
|
||||||
"esbuild-loader": "^2.20.0",
|
"esbuild-loader": "^2.20.0",
|
||||||
"fork-ts-checker-webpack-plugin": "^7.3.0",
|
"fork-ts-checker-webpack-plugin": "^7.3.0",
|
||||||
"html-webpack-plugin": "^5.5.1",
|
"html-webpack-plugin": "^5.5.1",
|
||||||
|
|||||||
@ -12,9 +12,6 @@ import { applicationFeature, startApplicationInjectionToken } from '@k8slens/app
|
|||||||
import { applicationFeatureForElectronMain } from '@k8slens/application-for-electron-main'
|
import { applicationFeatureForElectronMain } from '@k8slens/application-for-electron-main'
|
||||||
import { messagingFeatureForMain } from "@k8slens/messaging-for-main";
|
import { messagingFeatureForMain } from "@k8slens/messaging-for-main";
|
||||||
import { loggerFeature } from "@k8slens/logger";
|
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";
|
const environment = "main";
|
||||||
|
|
||||||
@ -27,15 +24,14 @@ registerMobX(di);
|
|||||||
runInAction(() => {
|
runInAction(() => {
|
||||||
registerLensCore(di, environment);
|
registerLensCore(di, environment);
|
||||||
|
|
||||||
registerFeature(
|
registerFeature(di,
|
||||||
di,
|
|
||||||
loggerFeature,
|
loggerFeature,
|
||||||
prometheusFeature,
|
);
|
||||||
|
|
||||||
|
registerFeature(di,
|
||||||
applicationFeature,
|
applicationFeature,
|
||||||
applicationFeatureForElectronMain,
|
applicationFeatureForElectronMain,
|
||||||
messagingFeatureForMain,
|
messagingFeatureForMain,
|
||||||
randomFeature,
|
|
||||||
kubeApiSpecificsFeature,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -3,10 +3,6 @@ import "@k8slens/button/styles";
|
|||||||
import "@k8slens/error-boundary/styles";
|
import "@k8slens/error-boundary/styles";
|
||||||
import "@k8slens/tooltip/styles";
|
import "@k8slens/tooltip/styles";
|
||||||
import "@k8slens/resizing-anchor/styles";
|
import "@k8slens/resizing-anchor/styles";
|
||||||
import "@k8slens/icon/styles";
|
|
||||||
import "@k8slens/animate/styles";
|
|
||||||
import "@k8slens/notifications/styles";
|
|
||||||
import "@k8slens/spinner/styles";
|
|
||||||
|
|
||||||
import { runInAction } from "mobx";
|
import { runInAction } from "mobx";
|
||||||
import {
|
import {
|
||||||
@ -29,11 +25,6 @@ import { keyboardShortcutsFeature } from "@k8slens/keyboard-shortcuts";
|
|||||||
import { reactApplicationFeature } from "@k8slens/react-application";
|
import { reactApplicationFeature } from "@k8slens/react-application";
|
||||||
import { routingFeature } from "@k8slens/routing";
|
import { routingFeature } from "@k8slens/routing";
|
||||||
import { loggerFeature } from "@k8slens/logger";
|
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";
|
const environment = "renderer";
|
||||||
|
|
||||||
@ -59,11 +50,6 @@ runInAction(() => {
|
|||||||
reactApplicationFeature,
|
reactApplicationFeature,
|
||||||
routingFeature,
|
routingFeature,
|
||||||
metricsFeature,
|
metricsFeature,
|
||||||
animateFeature,
|
|
||||||
clusterSidebarFeature,
|
|
||||||
randomFeature,
|
|
||||||
kubeApiSpecificsFeature,
|
|
||||||
notificationsFeature,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
autoRegister({
|
autoRegister({
|
||||||
|
|||||||
592
package-lock.json
generated
592
package-lock.json
generated
@ -5,13 +5,12 @@
|
|||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "lens-monorepo",
|
"name": "lens-monorepo",
|
||||||
"hasInstallScript": true,
|
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"packages/**/*",
|
"packages/**/*",
|
||||||
"open-lens"
|
"open-lens"
|
||||||
],
|
],
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ogre-tools/linkable": "^17.2.0",
|
"@ogre-tools/linkable": "^16.1.0",
|
||||||
"adr": "^1.4.3",
|
"adr": "^1.4.3",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"lerna": "^6.6.1",
|
"lerna": "^6.6.1",
|
||||||
@ -2188,19 +2187,6 @@
|
|||||||
"node": ">= 4.0.0"
|
"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": {
|
"node_modules/@electron/rebuild": {
|
||||||
"version": "3.2.13",
|
"version": "3.2.13",
|
||||||
"resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.2.13.tgz",
|
"resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.2.13.tgz",
|
||||||
@ -3695,10 +3681,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
|
||||||
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
|
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
|
||||||
},
|
},
|
||||||
"node_modules/@k8slens/animate": {
|
|
||||||
"resolved": "packages/ui-components/animate",
|
|
||||||
"link": true
|
|
||||||
},
|
|
||||||
"node_modules/@k8slens/application": {
|
"node_modules/@k8slens/application": {
|
||||||
"resolved": "packages/technical-features/application/agnostic",
|
"resolved": "packages/technical-features/application/agnostic",
|
||||||
"link": true
|
"link": true
|
||||||
@ -3715,10 +3697,6 @@
|
|||||||
"resolved": "packages/cluster-settings",
|
"resolved": "packages/cluster-settings",
|
||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
"node_modules/@k8slens/cluster-sidebar": {
|
|
||||||
"resolved": "packages/cluster-sidebar",
|
|
||||||
"link": true
|
|
||||||
},
|
|
||||||
"node_modules/@k8slens/computed-channel": {
|
"node_modules/@k8slens/computed-channel": {
|
||||||
"resolved": "packages/technical-features/messaging/computed-channel",
|
"resolved": "packages/technical-features/messaging/computed-channel",
|
||||||
"link": true
|
"link": true
|
||||||
@ -3755,10 +3733,6 @@
|
|||||||
"resolved": "packages/generate-tray-icons",
|
"resolved": "packages/generate-tray-icons",
|
||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
"node_modules/@k8slens/icon": {
|
|
||||||
"resolved": "packages/ui-components/icon",
|
|
||||||
"link": true
|
|
||||||
},
|
|
||||||
"node_modules/@k8slens/jest": {
|
"node_modules/@k8slens/jest": {
|
||||||
"resolved": "packages/infrastructure/jest",
|
"resolved": "packages/infrastructure/jest",
|
||||||
"link": true
|
"link": true
|
||||||
@ -3771,14 +3745,6 @@
|
|||||||
"resolved": "packages/business-features/keyboard-shortcuts",
|
"resolved": "packages/business-features/keyboard-shortcuts",
|
||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
"node_modules/@k8slens/kube-api": {
|
|
||||||
"resolved": "packages/utility-features/kube-api",
|
|
||||||
"link": true
|
|
||||||
},
|
|
||||||
"node_modules/@k8slens/kube-api-specifics": {
|
|
||||||
"resolved": "packages/utility-features/kube-api-specifics",
|
|
||||||
"link": true
|
|
||||||
},
|
|
||||||
"node_modules/@k8slens/kube-object": {
|
"node_modules/@k8slens/kube-object": {
|
||||||
"resolved": "packages/kube-object",
|
"resolved": "packages/kube-object",
|
||||||
"link": true
|
"link": true
|
||||||
@ -3831,18 +3797,6 @@
|
|||||||
"resolved": "packages/node-fetch",
|
"resolved": "packages/node-fetch",
|
||||||
"link": true
|
"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": {
|
"node_modules/@k8slens/react-application": {
|
||||||
"resolved": "packages/technical-features/react-application",
|
"resolved": "packages/technical-features/react-application",
|
||||||
"link": true
|
"link": true
|
||||||
@ -3875,10 +3829,6 @@
|
|||||||
"resolved": "packages/semver",
|
"resolved": "packages/semver",
|
||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
"node_modules/@k8slens/spinner": {
|
|
||||||
"resolved": "packages/ui-components/spinner",
|
|
||||||
"link": true
|
|
||||||
},
|
|
||||||
"node_modules/@k8slens/startable-stoppable": {
|
"node_modules/@k8slens/startable-stoppable": {
|
||||||
"resolved": "packages/utility-features/startable-stoppable",
|
"resolved": "packages/utility-features/startable-stoppable",
|
||||||
"link": true
|
"link": true
|
||||||
@ -6095,50 +6045,50 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ogre-tools/fp": {
|
"node_modules/@ogre-tools/fp": {
|
||||||
"version": "17.2.0",
|
"version": "16.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ogre-tools/fp/-/fp-17.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ogre-tools/fp/-/fp-16.1.2.tgz",
|
||||||
"integrity": "sha512-FF2v/jlQkyVYtborPGq3AS8dK+Fah1f01lajtqd7tW85IwJk0ut7B69o3OA78SvHzNkkFy6y7BmfmVZQ+DkdtA==",
|
"integrity": "sha512-9OF6fKj/2Vg0YH2h0C2MDOvl5RAy7OiMPRjAJzU4YQh9r/A/50Dm80OtfwiEExsD4mGby1CQIeRba1J5Fd1Eyg==",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"lodash": "^4.17.21"
|
"lodash": "^4.17.21"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ogre-tools/injectable": {
|
"node_modules/@ogre-tools/injectable": {
|
||||||
"version": "17.2.0",
|
"version": "16.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ogre-tools/injectable/-/injectable-17.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ogre-tools/injectable/-/injectable-16.1.2.tgz",
|
||||||
"integrity": "sha512-foBG+lZvlSfoL3hwkyLFHcpfiXuBzsRLcqI7YuKvY//9Wz3DhXXlafF8s6vUDmVl8AQ2pODfDEe36X2WTrqMdg==",
|
"integrity": "sha512-QZ0f09ahDohr9RN9aqvrtlzLu9YzT0KA3farSrcoVgXbIvjzYL9QOIt21erJ6KvCazHUKQYWDQbw7miViJ33dg==",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ogre-tools/fp": "^16 || ^17",
|
"@ogre-tools/fp": "*",
|
||||||
"lodash": "^4.17.21"
|
"lodash": "^4.17.21"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ogre-tools/injectable-extension-for-auto-registration": {
|
"node_modules/@ogre-tools/injectable-extension-for-auto-registration": {
|
||||||
"version": "17.2.0",
|
"version": "16.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-auto-registration/-/injectable-extension-for-auto-registration-17.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-auto-registration/-/injectable-extension-for-auto-registration-16.1.2.tgz",
|
||||||
"integrity": "sha512-G3YfbbaqYnJcAejPjRw1KLEdYQnE1OVqVMthLUCamG3iOaRE/QvQ4IPKO4zJH+v5JpTZjxmfYcn/z4dPdx65wA==",
|
"integrity": "sha512-L4aYnXqEiFdLfcQgiWxGv5C1vmV8KASvaIqIjcqzatK9uJLPpwKHAkpliKG48ZdqwgKS2VmM6CkCuxKOf1aCvA==",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ogre-tools/fp": "^16 || ^17",
|
"@ogre-tools/fp": "*",
|
||||||
"@ogre-tools/injectable": "^16 || ^17",
|
"@ogre-tools/injectable": "*",
|
||||||
"lodash": "^4.17.21"
|
"lodash": "^4.17.21"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ogre-tools/injectable-extension-for-mobx": {
|
"node_modules/@ogre-tools/injectable-extension-for-mobx": {
|
||||||
"version": "17.2.0",
|
"version": "16.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-mobx/-/injectable-extension-for-mobx-17.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-mobx/-/injectable-extension-for-mobx-16.1.2.tgz",
|
||||||
"integrity": "sha512-o+VJn8c10P5mYJBwq/3LQQqpcZ5cP3tY+Gmru0xv2VYUGN4+2kye9mlXfZ6eisQ2IMVImRFx/qJxYLCLNNPZMw==",
|
"integrity": "sha512-1nKZD/YSSHbXPZOLHgPuQd00pDOZe4Fs/CvFZowoA8PvWcV77fbhl/BuJfxtBGZW62rDtaKQ77t0EkG1LWnFsg==",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ogre-tools/fp": "^16 || ^17",
|
"@ogre-tools/fp": "*",
|
||||||
"@ogre-tools/injectable": "^16 || ^17",
|
"@ogre-tools/injectable": "*",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mobx": "^6.3.0"
|
"mobx": "^6.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ogre-tools/injectable-react": {
|
"node_modules/@ogre-tools/injectable-react": {
|
||||||
"version": "17.2.0",
|
"version": "16.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ogre-tools/injectable-react/-/injectable-react-17.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ogre-tools/injectable-react/-/injectable-react-16.1.2.tgz",
|
||||||
"integrity": "sha512-pAZZKnXCFxPlNhGxWeFmX8xbbR1YJUmNZGNHt0mvjfujLnRsITSlA7AwFFB+UghpDPXi0aY48NRnq8KB3/nkrg==",
|
"integrity": "sha512-kBNNIuR6wSKREEkI39Z2t55dBN+Bg6jNJ2dXL3zefa22d6F07DBbdTlUZ9Fq9Vyr860rNnNosCzgExB5LtgkYQ==",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ogre-tools/fp": "^16 || ^17",
|
"@ogre-tools/fp": "*",
|
||||||
"@ogre-tools/injectable": "^16 || ^17",
|
"@ogre-tools/injectable": "*",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mobx": "^6.3.0",
|
"mobx": "^6.3.0",
|
||||||
"mobx-react": "^7.2.0",
|
"mobx-react": "^7.2.0",
|
||||||
@ -6147,13 +6097,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ogre-tools/linkable": {
|
"node_modules/@ogre-tools/linkable": {
|
||||||
"version": "17.2.0",
|
"version": "16.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ogre-tools/linkable/-/linkable-17.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ogre-tools/linkable/-/linkable-16.1.2.tgz",
|
||||||
"integrity": "sha512-s0YoTV2JjhwF6+vlkHAXmhTEL1c+r+hBwbdTO2GnE+sqjtN1prASASlkyF/ZUwBNBjv02SbBKtM1Jy++N91Wyg==",
|
"integrity": "sha512-6bUJdW3xombYig0Gi5mUPpArcqMmCRxAVroOzuaMovYwlYUjE1oNBbzJbr0hBEtMWKw+zl1FyX0wbnmlpSVapg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.2",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.2",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.2",
|
||||||
"fast-glob": "^3.2.12",
|
"fast-glob": "^3.2.12",
|
||||||
"fs-extra": "^9.0.1",
|
"fs-extra": "^9.0.1",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
@ -6164,6 +6114,15 @@
|
|||||||
"linkable-push": "bin/linkable-push"
|
"linkable-push": "bin/linkable-push"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@ogre-tools/test-utils": {
|
||||||
|
"version": "16.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ogre-tools/test-utils/-/test-utils-16.1.2.tgz",
|
||||||
|
"integrity": "sha512-1jhsXj0s+5Vkvci8Vl7D5R4V70xshZdZh2bXEuWAfCMC2qceeeUOO+6FXDXOpjm/ioNMwX7OisSUVPPBGb8H5A==",
|
||||||
|
"dev": true,
|
||||||
|
"peerDependencies": {
|
||||||
|
"lodash": "^4.17.21"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@parcel/watcher": {
|
"node_modules/@parcel/watcher": {
|
||||||
"version": "2.0.4",
|
"version": "2.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz",
|
||||||
@ -12778,6 +12737,49 @@
|
|||||||
"url": "https://github.com/sponsors/isaacs"
|
"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": {
|
"node_modules/electron-osx-sign": {
|
||||||
"version": "0.6.0",
|
"version": "0.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz",
|
||||||
@ -33972,7 +33974,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"open-lens": {
|
"open-lens": {
|
||||||
"version": "6.5.0",
|
"version": "6.5.2",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -33983,19 +33985,15 @@
|
|||||||
"@k8slens/application-for-electron-main": "^6.5.0",
|
"@k8slens/application-for-electron-main": "^6.5.0",
|
||||||
"@k8slens/button": "^1.0.0",
|
"@k8slens/button": "^1.0.0",
|
||||||
"@k8slens/cluster-settings": "^6.5.0",
|
"@k8slens/cluster-settings": "^6.5.0",
|
||||||
"@k8slens/cluster-sidebar": "^1.0.0",
|
"@k8slens/core": "^6.5.2",
|
||||||
"@k8slens/core": "^6.5.0",
|
|
||||||
"@k8slens/ensure-binaries": "^6.5.0",
|
"@k8slens/ensure-binaries": "^6.5.0",
|
||||||
"@k8slens/error-boundary": "^1.0.0",
|
"@k8slens/error-boundary": "^1.0.0",
|
||||||
"@k8slens/event-emitter": "^1.0.0",
|
"@k8slens/event-emitter": "^1.0.0",
|
||||||
"@k8slens/feature-core": "^6.5.0",
|
"@k8slens/feature-core": "^6.5.0",
|
||||||
"@k8slens/json-api": "^1.0.0-alpha.3",
|
|
||||||
"@k8slens/keyboard-shortcuts": "^1.0.0",
|
"@k8slens/keyboard-shortcuts": "^1.0.0",
|
||||||
"@k8slens/kube-api": "^1.0.0-alpha.1",
|
|
||||||
"@k8slens/kube-api-specifics": "^1.0.0",
|
|
||||||
"@k8slens/kube-object": "^1.0.0",
|
"@k8slens/kube-object": "^1.0.0",
|
||||||
"@k8slens/kubectl-versions": "^1.0.0",
|
"@k8slens/kubectl-versions": "^1.0.0",
|
||||||
"@k8slens/legacy-extension-example": "^1.0.0",
|
"@k8slens/legacy-extension-example": "^1.0.2",
|
||||||
"@k8slens/legacy-extensions": "^1.0.0",
|
"@k8slens/legacy-extensions": "^1.0.0",
|
||||||
"@k8slens/legacy-global-di": "^1.0.0",
|
"@k8slens/legacy-global-di": "^1.0.0",
|
||||||
"@k8slens/list-layout": "^1.0.0",
|
"@k8slens/list-layout": "^1.0.0",
|
||||||
@ -34005,8 +34003,6 @@
|
|||||||
"@k8slens/messaging-for-renderer": "^1.0.0",
|
"@k8slens/messaging-for-renderer": "^1.0.0",
|
||||||
"@k8slens/metrics": "^6.5.0",
|
"@k8slens/metrics": "^6.5.0",
|
||||||
"@k8slens/node-fetch": "^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/react-application": "^1.0.0",
|
||||||
"@k8slens/resizing-anchor": "^1.0.0",
|
"@k8slens/resizing-anchor": "^1.0.0",
|
||||||
"@k8slens/resource-templates": "^1.0.0",
|
"@k8slens/resource-templates": "^1.0.0",
|
||||||
@ -34018,11 +34014,11 @@
|
|||||||
"@kubernetes/client-node": "^0.18.1",
|
"@kubernetes/client-node": "^0.18.1",
|
||||||
"@material-ui/core": "^4.12.3",
|
"@material-ui/core": "^4.12.3",
|
||||||
"@material-ui/lab": "^4.0.0-alpha.60",
|
"@material-ui/lab": "^4.0.0-alpha.60",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-mobx": "^16.1.0",
|
||||||
"@ogre-tools/injectable-react": "^17.2.0",
|
"@ogre-tools/injectable-react": "^16.1.0",
|
||||||
"@sentry/electron": "^3.0.8",
|
"@sentry/electron": "^3.0.8",
|
||||||
"@sentry/integrations": "^6.19.3",
|
"@sentry/integrations": "^6.19.3",
|
||||||
"ansi_up": "^5.2.1",
|
"ansi_up": "^5.2.1",
|
||||||
@ -34098,7 +34094,6 @@
|
|||||||
"xterm-link-provider": "^1.3.1"
|
"xterm-link-provider": "^1.3.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@electron/notarize": "^1.2.3",
|
|
||||||
"@electron/rebuild": "^3.2.10",
|
"@electron/rebuild": "^3.2.10",
|
||||||
"@k8slens/generate-tray-icons": "^6.5.0",
|
"@k8slens/generate-tray-icons": "^6.5.0",
|
||||||
"@k8slens/test-utils": "^1.0.0",
|
"@k8slens/test-utils": "^1.0.0",
|
||||||
@ -34132,6 +34127,7 @@
|
|||||||
"css-loader": "^6.7.2",
|
"css-loader": "^6.7.2",
|
||||||
"electron": "^22.3.10",
|
"electron": "^22.3.10",
|
||||||
"electron-builder": "^23.6.0",
|
"electron-builder": "^23.6.0",
|
||||||
|
"electron-notarize": "^0.3.0",
|
||||||
"esbuild-loader": "^2.20.0",
|
"esbuild-loader": "^2.20.0",
|
||||||
"fork-ts-checker-webpack-plugin": "^7.3.0",
|
"fork-ts-checker-webpack-plugin": "^7.3.0",
|
||||||
"html-webpack-plugin": "^5.5.1",
|
"html-webpack-plugin": "^5.5.1",
|
||||||
@ -34173,10 +34169,10 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@k8slens/react-application": "^1.0.0-alpha.0",
|
"@k8slens/react-application": "^1.0.0-alpha.0",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"@ogre-tools/injectable-react": "^17.2.0",
|
"@ogre-tools/injectable-react": "^16.1.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"react": "^17 || ^18"
|
"react": "^17 || ^18"
|
||||||
}
|
}
|
||||||
@ -34190,39 +34186,19 @@
|
|||||||
"rimraf": "^4.4.1"
|
"rimraf": "^4.4.1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ogre-tools/injectable": "^17.2.0"
|
"@ogre-tools/injectable": "^16.1.0"
|
||||||
}
|
|
||||||
},
|
|
||||||
"packages/cluster-sidebar": {
|
|
||||||
"name": "@k8slens/cluster-sidebar",
|
|
||||||
"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.2",
|
|
||||||
"@k8slens/webpack": "^6.5.0-alpha.5"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.4",
|
|
||||||
"@k8slens/utilities": "^1.0.0-alpha.3",
|
|
||||||
"@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"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/core": {
|
"packages/core": {
|
||||||
"name": "@k8slens/core",
|
"name": "@k8slens/core",
|
||||||
"version": "6.5.0",
|
"version": "6.5.2",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@async-fn/jest": "1.6.4",
|
"@async-fn/jest": "1.6.4",
|
||||||
"@k8slens/messaging-fake-bridge": "^1.0.0",
|
"@k8slens/messaging-fake-bridge": "^1.0.0",
|
||||||
"@k8slens/react-testing-library-discovery": "^1.0.0",
|
"@k8slens/react-testing-library-discovery": "^1.0.0",
|
||||||
"@k8slens/test-utils": "^1.0.0",
|
"@k8slens/test-utils": "^1.0.0",
|
||||||
"@ogre-tools/linkable": "^17.2.0",
|
"@ogre-tools/linkable": "^16.1.0",
|
||||||
"@sentry/types": "^6.19.7",
|
"@sentry/types": "^6.19.7",
|
||||||
"@side/jest-runtime": "^1.1.0",
|
"@side/jest-runtime": "^1.1.0",
|
||||||
"@swc/cli": "^0.1.62",
|
"@swc/cli": "^0.1.62",
|
||||||
@ -34326,18 +34302,12 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@hapi/call": "^9.0.1",
|
"@hapi/call": "^9.0.1",
|
||||||
"@hapi/subtext": "^7.1.0",
|
"@hapi/subtext": "^7.1.0",
|
||||||
"@k8slens/animate": "^1.0.0-alpha.0",
|
|
||||||
"@k8slens/application": "^6.5.0-alpha.0",
|
"@k8slens/application": "^6.5.0-alpha.0",
|
||||||
"@k8slens/application-for-electron-main": "^6.5.0-alpha.0",
|
"@k8slens/application-for-electron-main": "^6.5.0-alpha.0",
|
||||||
"@k8slens/button": "^1.0.0-alpha.5",
|
"@k8slens/button": "^1.0.0-alpha.5",
|
||||||
"@k8slens/cluster-settings": "^6.5.0-alpha.1",
|
"@k8slens/cluster-settings": "^6.5.0-alpha.1",
|
||||||
"@k8slens/cluster-sidebar": "^1.0.0",
|
|
||||||
"@k8slens/error-boundary": "^1.0.0-alpha.5",
|
"@k8slens/error-boundary": "^1.0.0-alpha.5",
|
||||||
"@k8slens/event-emitter": "^1.0.0-alpha.1",
|
"@k8slens/event-emitter": "^1.0.0-alpha.1",
|
||||||
"@k8slens/icon": "^1.0.0-alpha.7",
|
|
||||||
"@k8slens/kube-api": "^1.0.0-alpha.1",
|
|
||||||
"@k8slens/kube-api-specifics": "^1.0.0-alpha.1",
|
|
||||||
"@k8slens/kube-object": "^1.0.0-alpha.5",
|
|
||||||
"@k8slens/kubectl-versions": "^1.0.0-alpha.0",
|
"@k8slens/kubectl-versions": "^1.0.0-alpha.0",
|
||||||
"@k8slens/legacy-extensions": "^1.0.0-alpha.0",
|
"@k8slens/legacy-extensions": "^1.0.0-alpha.0",
|
||||||
"@k8slens/legacy-global-di": "^1.0.0-alpha.0",
|
"@k8slens/legacy-global-di": "^1.0.0-alpha.0",
|
||||||
@ -34348,9 +34318,6 @@
|
|||||||
"@k8slens/messaging-for-renderer": "^1.0.0-alpha.1",
|
"@k8slens/messaging-for-renderer": "^1.0.0-alpha.1",
|
||||||
"@k8slens/metrics": "^6.5.0-alpha.7",
|
"@k8slens/metrics": "^6.5.0-alpha.7",
|
||||||
"@k8slens/node-fetch": "^6.5.0-alpha.3",
|
"@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/react-application": "^1.0.0-alpha.5",
|
||||||
"@k8slens/resizing-anchor": "^1.0.0-alpha.5",
|
"@k8slens/resizing-anchor": "^1.0.0-alpha.5",
|
||||||
"@k8slens/resource-templates": "^1.0.0-alpha.1",
|
"@k8slens/resource-templates": "^1.0.0-alpha.1",
|
||||||
@ -34362,11 +34329,11 @@
|
|||||||
"@kubernetes/client-node": "^0.18.1",
|
"@kubernetes/client-node": "^0.18.1",
|
||||||
"@material-ui/core": "^4.12.3",
|
"@material-ui/core": "^4.12.3",
|
||||||
"@material-ui/lab": "^4.0.0-alpha.60",
|
"@material-ui/lab": "^4.0.0-alpha.60",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-mobx": "^16.1.0",
|
||||||
"@ogre-tools/injectable-react": "^17.2.0",
|
"@ogre-tools/injectable-react": "^16.1.0",
|
||||||
"@sentry/electron": "^3.0.8",
|
"@sentry/electron": "^3.0.8",
|
||||||
"@sentry/integrations": "^6.19.3",
|
"@sentry/integrations": "^6.19.3",
|
||||||
"ansi_up": "^5.2.1",
|
"ansi_up": "^5.2.1",
|
||||||
@ -34483,10 +34450,10 @@
|
|||||||
},
|
},
|
||||||
"packages/extension-api": {
|
"packages/extension-api": {
|
||||||
"name": "@k8slens/extensions",
|
"name": "@k8slens/extensions",
|
||||||
"version": "6.5.0",
|
"version": "6.5.2",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@k8slens/core": "6.5.0"
|
"@k8slens/core": "6.5.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^16.18.25",
|
"@types/node": "^16.18.25",
|
||||||
@ -34893,7 +34860,7 @@
|
|||||||
"version": "6.5.0",
|
"version": "6.5.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ogre-tools/linkable": "^17.2.0",
|
"@ogre-tools/linkable": "^16.1.0",
|
||||||
"@types/webpack-env": "^1.18.0",
|
"@types/webpack-env": "^1.18.0",
|
||||||
"css-loader": "^6.7.2",
|
"css-loader": "^6.7.2",
|
||||||
"fork-ts-checker-webpack-plugin": "^7.3.0",
|
"fork-ts-checker-webpack-plugin": "^7.3.0",
|
||||||
@ -34913,23 +34880,14 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@async-fn/jest": "^1.6.4",
|
"@async-fn/jest": "^1.6.4",
|
||||||
"@k8slens/typescript": "^6.5.0",
|
"@k8slens/typescript": "^6.5.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"@ogre-tools/test-utils": "^17.2.0",
|
"@ogre-tools/test-utils": "^16.1.0",
|
||||||
"ts-node": "^10.9.1",
|
"ts-node": "^10.9.1",
|
||||||
"webpack-node-externals": "^3.0.0"
|
"webpack-node-externals": "^3.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"lodash": "^4.17.21"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"packages/infrastructure/webpack/node_modules/@ogre-tools/test-utils": {
|
|
||||||
"version": "17.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@ogre-tools/test-utils/-/test-utils-17.1.0.tgz",
|
|
||||||
"integrity": "sha512-QlCBycGqU7XvRj55THt34bRJm2snnMaNraGj0J0biOSiSVawolkQErmvFbBe8NYp+yHdSuJhHmrAjWKNisO8pw==",
|
|
||||||
"dev": true,
|
|
||||||
"peerDependencies": {
|
|
||||||
"lodash": "^4.17.21"
|
"lodash": "^4.17.21"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -34982,7 +34940,7 @@
|
|||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/utilities": "^1.0.0-alpha.2",
|
"@k8slens/utilities": "^1.0.0-alpha.2",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"auto-bind": "^4.0.0",
|
"auto-bind": "^4.0.0",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"rfc6902": "^5.0.1",
|
"rfc6902": "^5.0.1",
|
||||||
@ -35004,15 +34962,15 @@
|
|||||||
"typed-regex": "^0.0.8"
|
"typed-regex": "^0.0.8"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ogre-tools/injectable": "^17.2.0"
|
"@ogre-tools/injectable": "^16.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/legacy-extension-example": {
|
"packages/legacy-extension-example": {
|
||||||
"name": "@k8slens/legacy-extension-example",
|
"name": "@k8slens/legacy-extension-example",
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@k8slens/extensions": "^6.5.0",
|
"@k8slens/extensions": "^6.5.2",
|
||||||
"@types/node": "^16.18.25",
|
"@types/node": "^16.18.25",
|
||||||
"typescript": "^4.9.5",
|
"typescript": "^4.9.5",
|
||||||
"webpack": "^5.81.0",
|
"webpack": "^5.81.0",
|
||||||
@ -35152,7 +35110,7 @@
|
|||||||
"@k8slens/webpack": "^6.5.0"
|
"@k8slens/webpack": "^6.5.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ogre-tools/injectable": "^17.2.0"
|
"@ogre-tools/injectable": "^16.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/list-layout": {
|
"packages/list-layout": {
|
||||||
@ -35166,9 +35124,9 @@
|
|||||||
"@k8slens/webpack": "^6.5.0"
|
"@k8slens/webpack": "^6.5.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/kube-object": "^1.0.0-alpha.5",
|
"@k8slens/kube-object": "^1.0.0-alpha.1",
|
||||||
"@k8slens/utilities": "^1.0.0-alpha.3",
|
"@k8slens/utilities": "^1.0.0-alpha.3",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"react": "^17.0.2"
|
"react": "^17.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -35184,9 +35142,9 @@
|
|||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"winston": "^3.8.2"
|
"winston": "^3.8.2"
|
||||||
}
|
}
|
||||||
@ -35230,8 +35188,8 @@
|
|||||||
"@k8slens/webpack": "^6.5.0"
|
"@k8slens/webpack": "^6.5.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/kube-object": "^1.0.0-alpha.5",
|
"@k8slens/kube-object": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"react": "^17.0.2"
|
"react": "^17.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -35263,46 +35221,9 @@
|
|||||||
"url": "https://opencollective.com/node-fetch"
|
"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": {
|
"packages/release-tool": {
|
||||||
"name": "@k8slens/release-tool",
|
"name": "@k8slens/release-tool",
|
||||||
"version": "6.5.0",
|
"version": "6.5.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chalk": "^5.2.0",
|
"chalk": "^5.2.0",
|
||||||
@ -35352,10 +35273,10 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@k8slens/react-application": "^1.0.0-alpha.0",
|
"@k8slens/react-application": "^1.0.0-alpha.0",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"@ogre-tools/injectable-react": "^17.2.0",
|
"@ogre-tools/injectable-react": "^16.1.0",
|
||||||
"auto-bind": "^4.0.0",
|
"auto-bind": "^4.0.0",
|
||||||
"history": "^4.10.1",
|
"history": "^4.10.1",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
@ -35383,6 +35304,19 @@
|
|||||||
"rimraf": "^4.4.1"
|
"rimraf": "^4.4.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"packages/table": {
|
||||||
|
"name": "@k8slens/table-tokens",
|
||||||
|
"version": "6.5.0",
|
||||||
|
"extraneous": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"devDependencies": {
|
||||||
|
"@k8slens/webpack": "^6.5.0",
|
||||||
|
"rimraf": "^4.4.1"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@ogre-tools/injectable": "^16.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"packages/technical-features/application/agnostic": {
|
"packages/technical-features/application/agnostic": {
|
||||||
"name": "@k8slens/application",
|
"name": "@k8slens/application",
|
||||||
"version": "6.5.0",
|
"version": "6.5.0",
|
||||||
@ -35396,9 +35330,9 @@
|
|||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@k8slens/logger": "^1.0.0-alpha.5",
|
"@k8slens/logger": "^1.0.0-alpha.5",
|
||||||
"@k8slens/run-many": "^1.0.0-alpha.1",
|
"@k8slens/run-many": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"lodash": "^4.17.15"
|
"lodash": "^4.17.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -35410,27 +35344,18 @@
|
|||||||
"@async-fn/jest": "^1.6.4",
|
"@async-fn/jest": "^1.6.4",
|
||||||
"@k8slens/eslint-config": "^6.5.0",
|
"@k8slens/eslint-config": "^6.5.0",
|
||||||
"@k8slens/webpack": "^6.5.0",
|
"@k8slens/webpack": "^6.5.0",
|
||||||
"@ogre-tools/test-utils": "^17.2.0"
|
"@ogre-tools/test-utils": "^16.1.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/application": "^6.5.0-alpha.0",
|
"@k8slens/application": "^6.5.0-alpha.0",
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@k8slens/run-many": "^1.0.0-alpha.1",
|
"@k8slens/run-many": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"electron": "^22.3.3",
|
"electron": "^22.3.3",
|
||||||
"lodash": "^4.17.21"
|
"lodash": "^4.17.21"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/technical-features/application/electron-main/node_modules/@ogre-tools/test-utils": {
|
|
||||||
"version": "17.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@ogre-tools/test-utils/-/test-utils-17.1.0.tgz",
|
|
||||||
"integrity": "sha512-QlCBycGqU7XvRj55THt34bRJm2snnMaNraGj0J0biOSiSVawolkQErmvFbBe8NYp+yHdSuJhHmrAjWKNisO8pw==",
|
|
||||||
"dev": true,
|
|
||||||
"peerDependencies": {
|
|
||||||
"lodash": "^4.17.21"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"packages/technical-features/application/legacy-extensions": {
|
"packages/technical-features/application/legacy-extensions": {
|
||||||
"name": "@k8slens/legacy-extensions",
|
"name": "@k8slens/legacy-extensions",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
@ -35440,7 +35365,7 @@
|
|||||||
"@k8slens/webpack": "^6.5.0"
|
"@k8slens/webpack": "^6.5.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ogre-tools/injectable": "^17.2.0"
|
"@ogre-tools/injectable": "^16.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/technical-features/feature-core": {
|
"packages/technical-features/feature-core": {
|
||||||
@ -35452,7 +35377,7 @@
|
|||||||
"@k8slens/webpack": "^6.5.0"
|
"@k8slens/webpack": "^6.5.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ogre-tools/injectable": "^17.2.0"
|
"@ogre-tools/injectable": "^16.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/technical-features/messaging/agnostic": {
|
"packages/technical-features/messaging/agnostic": {
|
||||||
@ -35467,9 +35392,9 @@
|
|||||||
"@k8slens/application": "^6.5.0-alpha.0",
|
"@k8slens/application": "^6.5.0-alpha.0",
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
|
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-mobx": "^16.1.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mobx": "^6.7.0"
|
"mobx": "^6.7.0"
|
||||||
}
|
}
|
||||||
@ -35488,10 +35413,10 @@
|
|||||||
"@k8slens/application": "^6.5.0-alpha.0",
|
"@k8slens/application": "^6.5.0-alpha.0",
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@k8slens/messaging": "^1.0.0-alpha.1",
|
"@k8slens/messaging": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-mobx": "^16.1.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mobx": "^6.8.0"
|
"mobx": "^6.8.0"
|
||||||
}
|
}
|
||||||
@ -35508,9 +35433,9 @@
|
|||||||
"@k8slens/application": "^6.5.0-alpha.0",
|
"@k8slens/application": "^6.5.0-alpha.0",
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@k8slens/messaging": "^1.0.0-alpha.1",
|
"@k8slens/messaging": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"electron": "^22.3.3",
|
"electron": "^22.3.3",
|
||||||
"lodash": "^4.17.21"
|
"lodash": "^4.17.21"
|
||||||
}
|
}
|
||||||
@ -35529,8 +35454,8 @@
|
|||||||
"@k8slens/messaging": "^1.0.0-alpha.1",
|
"@k8slens/messaging": "^1.0.0-alpha.1",
|
||||||
"@k8slens/run-many": "^1.0.0-alpha.1",
|
"@k8slens/run-many": "^1.0.0-alpha.1",
|
||||||
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
|
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"electron": "^22.3.3",
|
"electron": "^22.3.3",
|
||||||
"lodash": "^4.17.21"
|
"lodash": "^4.17.21"
|
||||||
}
|
}
|
||||||
@ -35547,34 +35472,13 @@
|
|||||||
"@async-fn/jest": "^1.6.4",
|
"@async-fn/jest": "^1.6.4",
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.2",
|
"@k8slens/feature-core": "^6.5.0-alpha.2",
|
||||||
"@k8slens/messaging": "^1.0.0-alpha.1",
|
"@k8slens/messaging": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-mobx": "^16.1.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mobx": "^6.9.0"
|
"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": {
|
"packages/technical-features/react-application": {
|
||||||
"name": "@k8slens/react-application",
|
"name": "@k8slens/react-application",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
@ -35589,11 +35493,11 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/application": "^6.5.0-alpha.2",
|
"@k8slens/application": "^6.5.0-alpha.2",
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-mobx": "^16.1.0",
|
||||||
"@ogre-tools/injectable-react": "^17.2.0",
|
"@ogre-tools/injectable-react": "^16.1.0",
|
||||||
"lodash": "^4.17.15",
|
"lodash": "^4.17.15",
|
||||||
"mobx": "^6.8.0",
|
"mobx": "^6.8.0",
|
||||||
"mobx-react": "^7.6.0",
|
"mobx-react": "^7.6.0",
|
||||||
@ -35601,23 +35505,6 @@
|
|||||||
"react-dom": "^17.0.2"
|
"react-dom": "^17.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/ui-components/animate": {
|
|
||||||
"name": "@k8slens/animate",
|
|
||||||
"version": "1.0.0-alpha.0",
|
|
||||||
"license": "MIT",
|
|
||||||
"devDependencies": {
|
|
||||||
"@k8slens/eslint-config": "^6.5.0",
|
|
||||||
"@k8slens/webpack": "^6.5.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
|
||||||
"@k8slens/utilities": "^1.0.0-alpha.1",
|
|
||||||
"@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"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"packages/ui-components/button": {
|
"packages/ui-components/button": {
|
||||||
"name": "@k8slens/button",
|
"name": "@k8slens/button",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
@ -35673,8 +35560,8 @@
|
|||||||
"@k8slens/button": "^1.0.0-alpha.5",
|
"@k8slens/button": "^1.0.0-alpha.5",
|
||||||
"@k8slens/routing": "^1.0.0-alpha.5",
|
"@k8slens/routing": "^1.0.0-alpha.5",
|
||||||
"@k8slens/utilities": "^1.0.0-alpha.1",
|
"@k8slens/utilities": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-react": "^17.2.0",
|
"@ogre-tools/injectable-react": "^16.1.0",
|
||||||
"auto-bind": "^4.0.0",
|
"auto-bind": "^4.0.0",
|
||||||
"history": "^4.10.1",
|
"history": "^4.10.1",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
@ -35685,77 +35572,6 @@
|
|||||||
"react-dom": "^17.0.2"
|
"react-dom": "^17.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/ui-components/icon": {
|
|
||||||
"name": "@k8slens/icon",
|
|
||||||
"version": "1.0.0-alpha.7",
|
|
||||||
"license": "MIT",
|
|
||||||
"devDependencies": {
|
|
||||||
"@async-fn/jest": "^1.6.4",
|
|
||||||
"@k8slens/eslint-config": "^6.5.0-alpha.3",
|
|
||||||
"@k8slens/react-testing-library-discovery": "^1.0.0-alpha.4",
|
|
||||||
"@k8slens/webpack": "^6.5.0-alpha.9",
|
|
||||||
"@testing-library/react": "^12.1.5",
|
|
||||||
"@testing-library/user-event": "^13.5.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@k8slens/button": "^1.0.0-alpha.10",
|
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.8",
|
|
||||||
"@k8slens/logger": "^1.0.0-alpha.7",
|
|
||||||
"@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.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",
|
|
||||||
"lodash": "^4.17.21",
|
|
||||||
"mobx": "^6.9.0",
|
|
||||||
"mobx-observable-history": "^2.0.3",
|
|
||||||
"mobx-react": "^7.6.0",
|
|
||||||
"react": "^17.0.2",
|
|
||||||
"react-dom": "^17.0.2",
|
|
||||||
"react-router-dom": "^5.3.4",
|
|
||||||
"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": {
|
"packages/ui-components/resizing-anchor": {
|
||||||
"name": "@k8slens/resizing-anchor",
|
"name": "@k8slens/resizing-anchor",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
@ -35769,9 +35585,9 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@k8slens/utilities": "^1.0.0-alpha.1",
|
"@k8slens/utilities": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"auto-bind": "^4.0.0",
|
"auto-bind": "^4.0.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mobx": "^6.8.0",
|
"mobx": "^6.8.0",
|
||||||
@ -35780,19 +35596,6 @@
|
|||||||
"react-dom": "^17.0.2"
|
"react-dom": "^17.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/ui-components/spinner": {
|
|
||||||
"name": "@k8slens/spinner",
|
|
||||||
"version": "1.0.0-alpha.0",
|
|
||||||
"license": "MIT",
|
|
||||||
"devDependencies": {
|
|
||||||
"@k8slens/eslint-config": "^6.5.0",
|
|
||||||
"@k8slens/webpack": "^6.5.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@k8slens/utilities": "^1.0.0-alpha.1",
|
|
||||||
"react": "^17.0.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"packages/ui-components/tooltip": {
|
"packages/ui-components/tooltip": {
|
||||||
"name": "@k8slens/tooltip",
|
"name": "@k8slens/tooltip",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
@ -35864,49 +35667,6 @@
|
|||||||
"rfc6902": "^5.0.1"
|
"rfc6902": "^5.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/utility-features/kube-api": {
|
|
||||||
"name": "@k8slens/kube-api",
|
|
||||||
"version": "1.0.0-alpha.1",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@k8slens/node-fetch": "^6.5.0-alpha.3"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@k8slens/eslint-config": "^6.5.0-alpha.2",
|
|
||||||
"@k8slens/jest": "^6.5.0-alpha.4",
|
|
||||||
"@k8slens/typescript": "^6.5.0-alpha.2"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@k8slens/json-api": "^1.0.0-alpha.1",
|
|
||||||
"@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.2.0",
|
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
|
||||||
"byline": "^5.0.0",
|
|
||||||
"lodash": "^4.17.15",
|
|
||||||
"mobx": "^6.8.0",
|
|
||||||
"moment": "^2.29.4",
|
|
||||||
"rfc6902": "^5.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"packages/utility-features/kube-api-specifics": {
|
|
||||||
"name": "@k8slens/kube-api-specifics",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"license": "MIT",
|
|
||||||
"devDependencies": {
|
|
||||||
"@k8slens/eslint-config": "^6.5.0-alpha.2",
|
|
||||||
"@k8slens/jest": "^6.5.0-alpha.4",
|
|
||||||
"@k8slens/typescript": "^6.5.0-alpha.2"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.8",
|
|
||||||
"@k8slens/kube-api": "^1.0.0-alpha.1",
|
|
||||||
"@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": {
|
"packages/utility-features/react-testing-library-discovery": {
|
||||||
"name": "@k8slens/react-testing-library-discovery",
|
"name": "@k8slens/react-testing-library-discovery",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
@ -35929,8 +35689,8 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/test-utils": "^1.0.0-alpha.3",
|
"@k8slens/test-utils": "^1.0.0-alpha.3",
|
||||||
"@k8slens/utilities": "^1.0.0-alpha.1",
|
"@k8slens/utilities": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"type-fest": "^2.19.0",
|
"type-fest": "^2.19.0",
|
||||||
"typed-emitter": "^1.4.0",
|
"typed-emitter": "^1.4.0",
|
||||||
"uuid": "^8.3.2"
|
"uuid": "^8.3.2"
|
||||||
@ -35960,8 +35720,8 @@
|
|||||||
"@types/lodash": "^4.14.191"
|
"@types/lodash": "^4.14.191"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-react": "^17.2.0",
|
"@ogre-tools/injectable-react": "^16.1.0",
|
||||||
"@testing-library/react": "^12.1.5",
|
"@testing-library/react": "^12.1.5",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mobx": "^6.8.0",
|
"mobx": "^6.8.0",
|
||||||
|
|||||||
@ -21,13 +21,11 @@
|
|||||||
"postdev": "lerna watch -- lerna run build --stream --include-dependents --scope \\$LERNA_PACKAGE_NAME",
|
"postdev": "lerna watch -- lerna run build --stream --include-dependents --scope \\$LERNA_PACKAGE_NAME",
|
||||||
"prestart-dev": "cd ./open-lens && npm run build:tray-icons && npm run download:binaries",
|
"prestart-dev": "cd ./open-lens && npm run build:tray-icons && npm run download:binaries",
|
||||||
"start-dev": "lerna run start",
|
"start-dev": "lerna run start",
|
||||||
"postinstall": "linkable",
|
|
||||||
"lint": "lerna run lint --stream --no-bail",
|
"lint": "lerna run lint --stream --no-bail",
|
||||||
"lint:fix": "lerna run lint:fix --stream",
|
"lint:fix": "lerna run lint:fix --stream",
|
||||||
"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: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",
|
"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": "lerna run --stream test:unit --no-bail",
|
||||||
"test:unit:updatesnapshot": "lerna run --stream test:unit --no-bail -- -u",
|
|
||||||
"test:unit:watch": "jest --watch",
|
"test:unit:watch": "jest --watch",
|
||||||
"test:integration": "lerna run --stream test:integration --no-bail",
|
"test:integration": "lerna run --stream test:integration --no-bail",
|
||||||
"bump-version": "lerna version --no-git-tag-version --no-push",
|
"bump-version": "lerna version --no-git-tag-version --no-push",
|
||||||
@ -40,7 +38,7 @@
|
|||||||
"@types/react": "^17"
|
"@types/react": "^17"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ogre-tools/linkable": "^17.2.0",
|
"@ogre-tools/linkable": "^16.1.0",
|
||||||
"adr": "^1.4.3",
|
"adr": "^1.4.3",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"lerna": "^6.6.1",
|
"lerna": "^6.6.1",
|
||||||
|
|||||||
@ -33,10 +33,10 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@k8slens/react-application": "^1.0.0-alpha.0",
|
"@k8slens/react-application": "^1.0.0-alpha.0",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"@ogre-tools/injectable-react": "^17.2.0",
|
"@ogre-tools/injectable-react": "^16.1.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"react": "^17 || ^18"
|
"react": "^17 || ^18"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -23,6 +23,6 @@
|
|||||||
"rimraf": "^4.4.1"
|
"rimraf": "^4.4.1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ogre-tools/injectable": "^17.2.0"
|
"@ogre-tools/injectable": "^16.1.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
extends: "@k8slens/eslint-config/eslint",
|
|
||||||
parserOptions: {
|
|
||||||
project: "./tsconfig.json",
|
|
||||||
},
|
|
||||||
};
|
|
||||||
@ -1 +0,0 @@
|
|||||||
"@k8slens/eslint-config/prettier"
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
export * from "./src/tokens";
|
|
||||||
export * from "./src/feature";
|
|
||||||
export { default as sidebarItemsInjectable } from "./src/sidebar-items.injectable";
|
|
||||||
@ -1 +0,0 @@
|
|||||||
module.exports = require("@k8slens/jest").monorepoPackageConfig(__dirname).configForReact;
|
|
||||||
@ -1,48 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@k8slens/cluster-sidebar",
|
|
||||||
"private": false,
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "Injection tokens for adding new sidebar items within the Cluster View",
|
|
||||||
"type": "commonjs",
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public",
|
|
||||||
"registry": "https://registry.npmjs.org/"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"dist"
|
|
||||||
],
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/lensapp/lens.git"
|
|
||||||
},
|
|
||||||
"main": "dist/index.js",
|
|
||||||
"types": "dist/index.d.ts",
|
|
||||||
"author": {
|
|
||||||
"name": "OpenLens Authors",
|
|
||||||
"email": "info@k8slens.dev"
|
|
||||||
},
|
|
||||||
"license": "MIT",
|
|
||||||
"homepage": "https://github.com/lensapp/lens",
|
|
||||||
"scripts": {
|
|
||||||
"build": "lens-webpack-build",
|
|
||||||
"clean": "rimraf dist/",
|
|
||||||
"test": "jest --coverage --runInBand",
|
|
||||||
"lint": "lens-lint",
|
|
||||||
"lint:fix": "lens-lint --fix"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.4",
|
|
||||||
"@k8slens/utilities": "^1.0.0-alpha.3",
|
|
||||||
"@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"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@k8slens/eslint-config": "^6.5.0-alpha.3",
|
|
||||||
"@k8slens/jest": "^6.5.0-alpha.5",
|
|
||||||
"@k8slens/typescript": "^6.5.0-alpha.2",
|
|
||||||
"@k8slens/webpack": "^6.5.0-alpha.5"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
import { getFeature } from "@k8slens/feature-core";
|
|
||||||
import { autoRegister } from "@ogre-tools/injectable-extension-for-auto-registration";
|
|
||||||
|
|
||||||
export const clusterSidebarFeature = getFeature({
|
|
||||||
id: "cluster-side-feature",
|
|
||||||
|
|
||||||
register: (di) => {
|
|
||||||
autoRegister({
|
|
||||||
di,
|
|
||||||
targetModule: module,
|
|
||||||
getRequireContexts: () => [require.context("./", true, /\.injectable\.(ts|tsx)$/)],
|
|
||||||
});
|
|
||||||
},
|
|
||||||
});
|
|
||||||
@ -1,174 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
||||||
*/
|
|
||||||
import { createContainer, DiContainer, getInjectable } from "@ogre-tools/injectable";
|
|
||||||
import { computed, IComputedValue } from "mobx";
|
|
||||||
import { noop } from "lodash/fp";
|
|
||||||
import sidebarItemsInjectable from "./sidebar-items.injectable";
|
|
||||||
import { SidebarItemDeclaration, sidebarItemInjectionToken } from "./tokens";
|
|
||||||
import { registerMobX } from "@ogre-tools/injectable-extension-for-mobx";
|
|
||||||
import { clusterSidebarFeature } from "./feature";
|
|
||||||
|
|
||||||
const someParentSidebarItemInjectable = getInjectable({
|
|
||||||
id: "sidebar-item-some-parent",
|
|
||||||
instantiate: () => ({
|
|
||||||
parentId: null,
|
|
||||||
title: "Some parent",
|
|
||||||
onClick: noop,
|
|
||||||
orderNumber: 42,
|
|
||||||
}),
|
|
||||||
injectionToken: sidebarItemInjectionToken,
|
|
||||||
});
|
|
||||||
|
|
||||||
const someOtherParentSidebarItemInjectable = getInjectable({
|
|
||||||
id: "sidebar-item-some-other-parent",
|
|
||||||
instantiate: () => ({
|
|
||||||
parentId: null,
|
|
||||||
title: "Some other parent",
|
|
||||||
onClick: noop,
|
|
||||||
orderNumber: 126,
|
|
||||||
}),
|
|
||||||
injectionToken: sidebarItemInjectionToken,
|
|
||||||
});
|
|
||||||
|
|
||||||
const someAnotherParentSidebarItemInjectable = getInjectable({
|
|
||||||
id: "sidebar-item-some-another-parent",
|
|
||||||
instantiate: () => ({
|
|
||||||
parentId: null,
|
|
||||||
title: "Some another parent",
|
|
||||||
onClick: noop,
|
|
||||||
orderNumber: 84,
|
|
||||||
}),
|
|
||||||
injectionToken: sidebarItemInjectionToken,
|
|
||||||
});
|
|
||||||
|
|
||||||
const someForthParentSidebarItemInjectable = getInjectable({
|
|
||||||
id: "sidebar-item-some-forth-parent",
|
|
||||||
instantiate: () => ({
|
|
||||||
parentId: null,
|
|
||||||
title: "Some another parent",
|
|
||||||
onClick: noop,
|
|
||||||
orderNumber: 84,
|
|
||||||
isVisible: computed(() => false),
|
|
||||||
isActive: computed(() => true),
|
|
||||||
}),
|
|
||||||
injectionToken: sidebarItemInjectionToken,
|
|
||||||
});
|
|
||||||
|
|
||||||
const someChildSidebarItemInjectable = getInjectable({
|
|
||||||
id: "sidebar-item-some-child",
|
|
||||||
instantiate: () => ({
|
|
||||||
parentId: someParentSidebarItemInjectable.id,
|
|
||||||
title: "Some child",
|
|
||||||
onClick: noop,
|
|
||||||
orderNumber: 168,
|
|
||||||
}),
|
|
||||||
injectionToken: sidebarItemInjectionToken,
|
|
||||||
});
|
|
||||||
|
|
||||||
const someOtherChildSidebarItemInjectable = getInjectable({
|
|
||||||
id: "sidebar-item-some-other-child",
|
|
||||||
instantiate: () => ({
|
|
||||||
parentId: someParentSidebarItemInjectable.id,
|
|
||||||
title: "Some other child",
|
|
||||||
onClick: noop,
|
|
||||||
orderNumber: 252,
|
|
||||||
}),
|
|
||||||
injectionToken: sidebarItemInjectionToken,
|
|
||||||
});
|
|
||||||
|
|
||||||
const someAnotherChildSidebarItemInjectable = getInjectable({
|
|
||||||
id: "sidebar-item-some-another-child",
|
|
||||||
instantiate: () => ({
|
|
||||||
parentId: someParentSidebarItemInjectable.id,
|
|
||||||
title: "Some another child",
|
|
||||||
onClick: noop,
|
|
||||||
orderNumber: 210,
|
|
||||||
}),
|
|
||||||
injectionToken: sidebarItemInjectionToken,
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("order of sidebar items", () => {
|
|
||||||
let di: DiContainer;
|
|
||||||
let sidebarItems: IComputedValue<SidebarItemDeclaration[]>;
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
di = createContainer("test");
|
|
||||||
|
|
||||||
di.register(
|
|
||||||
someParentSidebarItemInjectable,
|
|
||||||
someOtherParentSidebarItemInjectable,
|
|
||||||
someAnotherParentSidebarItemInjectable,
|
|
||||||
someChildSidebarItemInjectable,
|
|
||||||
someOtherChildSidebarItemInjectable,
|
|
||||||
someAnotherChildSidebarItemInjectable,
|
|
||||||
someForthParentSidebarItemInjectable,
|
|
||||||
);
|
|
||||||
|
|
||||||
clusterSidebarFeature.register(di);
|
|
||||||
registerMobX(di);
|
|
||||||
|
|
||||||
sidebarItems = di.inject(sidebarItemsInjectable);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("has parent items in order", () => {
|
|
||||||
const actual = sidebarItems.get().map((item) => item.id);
|
|
||||||
|
|
||||||
expect(actual).toEqual([
|
|
||||||
"sidebar-item-some-parent",
|
|
||||||
"sidebar-item-some-another-parent",
|
|
||||||
"sidebar-item-some-forth-parent",
|
|
||||||
"sidebar-item-some-other-parent",
|
|
||||||
]);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("an item with no children and no isVisible configuration by default is visible", () => {
|
|
||||||
const item = sidebarItems.get().find((item) => item.id === someAnotherParentSidebarItemInjectable.id);
|
|
||||||
|
|
||||||
expect(item?.isVisible.get()).toBe(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("an item with no children and an isVisible configuration is whatever the configuration specifies", () => {
|
|
||||||
const item = sidebarItems.get().find((item) => item.id === someForthParentSidebarItemInjectable.id);
|
|
||||||
|
|
||||||
expect(item?.isVisible.get()).toBe(false);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("an item with children is visible if at least one of the children is visible", () => {
|
|
||||||
const item = sidebarItems.get().find((item) => item.id === "sidebar-item-some-parent");
|
|
||||||
|
|
||||||
expect(item?.isVisible.get()).toBe(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("an item with no children and no isActive configuration by default is not active", () => {
|
|
||||||
const item = sidebarItems.get().find((item) => item.id === someAnotherParentSidebarItemInjectable.id);
|
|
||||||
|
|
||||||
expect(item?.isActive.get()).toBe(false);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("an item with no children and an isActive configuration is whatever the configuration specifies", () => {
|
|
||||||
const item = sidebarItems.get().find((item) => item.id === someForthParentSidebarItemInjectable.id);
|
|
||||||
|
|
||||||
expect(item?.isActive.get()).toBe(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("an item with children is active if at least one of the children is active", () => {
|
|
||||||
const item = sidebarItems.get().find((item) => item.id === "sidebar-item-some-parent");
|
|
||||||
|
|
||||||
expect(item?.isActive.get()).toBe(false);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("has child items in order", () => {
|
|
||||||
const actual = sidebarItems
|
|
||||||
.get()
|
|
||||||
.find((item) => item.id === "sidebar-item-some-parent")
|
|
||||||
?.children.map((item) => item.id);
|
|
||||||
|
|
||||||
expect(actual).toEqual([
|
|
||||||
"sidebar-item-some-child",
|
|
||||||
"sidebar-item-some-another-child",
|
|
||||||
"sidebar-item-some-other-child",
|
|
||||||
]);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
import { getInjectable, InjectionInstanceWithMeta } from "@ogre-tools/injectable";
|
|
||||||
import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx";
|
|
||||||
import { SidebarItemDeclaration, sidebarItemInjectionToken, SidebarItemRegistration } from "./tokens";
|
|
||||||
import { computed } from "mobx";
|
|
||||||
import { byOrderNumber } from "@k8slens/utilities";
|
|
||||||
|
|
||||||
const getSidebarItemsHierarchy = (
|
|
||||||
registrations: InjectionInstanceWithMeta<SidebarItemRegistration>[],
|
|
||||||
parentId: string | null,
|
|
||||||
): SidebarItemDeclaration[] =>
|
|
||||||
registrations
|
|
||||||
.filter(({ instance }) => instance.parentId === parentId)
|
|
||||||
.map(({ instance: { isActive, isVisible, ...registration }, meta: { id } }) => {
|
|
||||||
const children = getSidebarItemsHierarchy(registrations, id);
|
|
||||||
|
|
||||||
return {
|
|
||||||
...registration,
|
|
||||||
id,
|
|
||||||
children,
|
|
||||||
isVisible: computed(() => {
|
|
||||||
if (children.length === 0) {
|
|
||||||
if (isVisible) {
|
|
||||||
return isVisible.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return children.some((child) => child.isVisible.get());
|
|
||||||
}),
|
|
||||||
isActive: computed(() => {
|
|
||||||
if (children.length === 0) {
|
|
||||||
if (isActive) {
|
|
||||||
return isActive.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return children.some((child) => child.isActive.get());
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
})
|
|
||||||
.sort(byOrderNumber);
|
|
||||||
|
|
||||||
const sidebarItemsInjectable = getInjectable({
|
|
||||||
id: "sidebar-items",
|
|
||||||
instantiate: (di) => {
|
|
||||||
const computedInjectMany = di.inject(computedInjectManyInjectable);
|
|
||||||
const sidebarItemRegistrations = computedInjectMany(sidebarItemInjectionToken);
|
|
||||||
|
|
||||||
return computed(() => {
|
|
||||||
void sidebarItemRegistrations.get();
|
|
||||||
|
|
||||||
return getSidebarItemsHierarchy(di.injectManyWithMeta(sidebarItemInjectionToken), null);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
export default sidebarItemsInjectable;
|
|
||||||
@ -1,34 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import { getInjectionToken } from "@ogre-tools/injectable";
|
|
||||||
import type { IComputedValue } from "mobx";
|
|
||||||
import type { StrictReactNode } from "@k8slens/utilities";
|
|
||||||
|
|
||||||
export interface SidebarItemRegistration {
|
|
||||||
id?: undefined;
|
|
||||||
parentId: string | null;
|
|
||||||
title: StrictReactNode;
|
|
||||||
onClick: () => void;
|
|
||||||
getIcon?: () => StrictReactNode;
|
|
||||||
isActive?: IComputedValue<boolean>;
|
|
||||||
isVisible?: IComputedValue<boolean>;
|
|
||||||
orderNumber: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SidebarItemDeclaration {
|
|
||||||
id: string;
|
|
||||||
parentId: string | null;
|
|
||||||
title: StrictReactNode;
|
|
||||||
onClick: () => void;
|
|
||||||
getIcon?: () => StrictReactNode;
|
|
||||||
isActive: IComputedValue<boolean>;
|
|
||||||
isVisible: IComputedValue<boolean>;
|
|
||||||
children: SidebarItemDeclaration[];
|
|
||||||
}
|
|
||||||
|
|
||||||
export const sidebarItemInjectionToken = getInjectionToken<SidebarItemRegistration>({
|
|
||||||
id: "sidebar-item-injection-token",
|
|
||||||
});
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "@k8slens/typescript/config/base.json",
|
|
||||||
"include": ["**/*.ts"]
|
|
||||||
}
|
|
||||||
@ -1 +0,0 @@
|
|||||||
module.exports = require("@k8slens/webpack").configForReact;
|
|
||||||
@ -3,7 +3,7 @@
|
|||||||
"productName": "",
|
"productName": "",
|
||||||
"description": "Lens Desktop Core",
|
"description": "Lens Desktop Core",
|
||||||
"homepage": "https://github.com/lensapp/lens",
|
"homepage": "https://github.com/lensapp/lens",
|
||||||
"version": "6.5.0",
|
"version": "6.5.2",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/lensapp/lens.git"
|
"url": "git+https://github.com/lensapp/lens.git"
|
||||||
@ -24,7 +24,8 @@
|
|||||||
"./styles": "./static/build/library/renderer.css",
|
"./styles": "./static/build/library/renderer.css",
|
||||||
"./template.html": "./src/renderer/template.html",
|
"./template.html": "./src/renderer/template.html",
|
||||||
"./vars.scss": "./src/renderer/components/vars.scss",
|
"./vars.scss": "./src/renderer/components/vars.scss",
|
||||||
"./fonts": "./static/build/library/fonts"
|
"./fonts": "./static/build/library/fonts",
|
||||||
|
"./icons/*.svg": "./src/renderer/components/icon/*.svg"
|
||||||
},
|
},
|
||||||
"typesVersions": {
|
"typesVersions": {
|
||||||
"*": {
|
"*": {
|
||||||
@ -43,6 +44,7 @@
|
|||||||
"static/build/library/**/*",
|
"static/build/library/**/*",
|
||||||
"src/renderer/template.html",
|
"src/renderer/template.html",
|
||||||
"src/renderer/components/vars.scss",
|
"src/renderer/components/vars.scss",
|
||||||
|
"src/renderer/components/icon/*.svg",
|
||||||
"types/*",
|
"types/*",
|
||||||
"tsconfig.json"
|
"tsconfig.json"
|
||||||
],
|
],
|
||||||
@ -105,7 +107,7 @@
|
|||||||
"@k8slens/messaging-fake-bridge": "^1.0.0",
|
"@k8slens/messaging-fake-bridge": "^1.0.0",
|
||||||
"@k8slens/react-testing-library-discovery": "^1.0.0",
|
"@k8slens/react-testing-library-discovery": "^1.0.0",
|
||||||
"@k8slens/test-utils": "^1.0.0",
|
"@k8slens/test-utils": "^1.0.0",
|
||||||
"@ogre-tools/linkable": "^17.2.0",
|
"@ogre-tools/linkable": "^16.1.0",
|
||||||
"@sentry/types": "^6.19.7",
|
"@sentry/types": "^6.19.7",
|
||||||
"@side/jest-runtime": "^1.1.0",
|
"@side/jest-runtime": "^1.1.0",
|
||||||
"@swc/cli": "^0.1.62",
|
"@swc/cli": "^0.1.62",
|
||||||
@ -206,19 +208,12 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@hapi/call": "^9.0.1",
|
"@hapi/call": "^9.0.1",
|
||||||
"@hapi/subtext": "^7.1.0",
|
"@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": "^6.5.0-alpha.0",
|
||||||
"@k8slens/application-for-electron-main": "^6.5.0-alpha.0",
|
"@k8slens/application-for-electron-main": "^6.5.0-alpha.0",
|
||||||
"@k8slens/button": "^1.0.0-alpha.5",
|
"@k8slens/button": "^1.0.0-alpha.5",
|
||||||
"@k8slens/cluster-settings": "^6.5.0-alpha.1",
|
"@k8slens/cluster-settings": "^6.5.0-alpha.1",
|
||||||
"@k8slens/cluster-sidebar": "^1.0.0",
|
|
||||||
"@k8slens/error-boundary": "^1.0.0-alpha.5",
|
"@k8slens/error-boundary": "^1.0.0-alpha.5",
|
||||||
"@k8slens/event-emitter": "^1.0.0-alpha.1",
|
"@k8slens/event-emitter": "^1.0.0-alpha.1",
|
||||||
"@k8slens/icon": "^1.0.0-alpha.7",
|
|
||||||
"@k8slens/kube-api": "^1.0.0-alpha.1",
|
|
||||||
"@k8slens/kube-api-specifics": "^1.0.0-alpha.1",
|
|
||||||
"@k8slens/kube-object": "^1.0.0-alpha.5",
|
|
||||||
"@k8slens/kubectl-versions": "^1.0.0-alpha.0",
|
"@k8slens/kubectl-versions": "^1.0.0-alpha.0",
|
||||||
"@k8slens/legacy-extensions": "^1.0.0-alpha.0",
|
"@k8slens/legacy-extensions": "^1.0.0-alpha.0",
|
||||||
"@k8slens/legacy-global-di": "^1.0.0-alpha.0",
|
"@k8slens/legacy-global-di": "^1.0.0-alpha.0",
|
||||||
@ -229,25 +224,22 @@
|
|||||||
"@k8slens/messaging-for-renderer": "^1.0.0-alpha.1",
|
"@k8slens/messaging-for-renderer": "^1.0.0-alpha.1",
|
||||||
"@k8slens/metrics": "^6.5.0-alpha.7",
|
"@k8slens/metrics": "^6.5.0-alpha.7",
|
||||||
"@k8slens/node-fetch": "^6.5.0-alpha.3",
|
"@k8slens/node-fetch": "^6.5.0-alpha.3",
|
||||||
"@k8slens/prometheus": "^1.0.0",
|
|
||||||
"@k8slens/react-application": "^1.0.0-alpha.5",
|
"@k8slens/react-application": "^1.0.0-alpha.5",
|
||||||
"@k8slens/random": "^1.0.0",
|
|
||||||
"@k8slens/resizing-anchor": "^1.0.0-alpha.5",
|
"@k8slens/resizing-anchor": "^1.0.0-alpha.5",
|
||||||
"@k8slens/resource-templates": "^1.0.0-alpha.1",
|
"@k8slens/resource-templates": "^1.0.0-alpha.1",
|
||||||
"@k8slens/routing": "^1.0.0-alpha.5",
|
"@k8slens/routing": "^1.0.0-alpha.5",
|
||||||
"@k8slens/run-many": "^1.0.0-alpha.1",
|
"@k8slens/run-many": "^1.0.0-alpha.1",
|
||||||
"@k8slens/spinner": "^1.0.0",
|
|
||||||
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
|
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
|
||||||
"@k8slens/tooltip": "^1.0.0-alpha.5",
|
"@k8slens/tooltip": "^1.0.0-alpha.5",
|
||||||
"@k8slens/utilities": "^1.0.0-alpha.1",
|
"@k8slens/utilities": "^1.0.0-alpha.1",
|
||||||
"@kubernetes/client-node": "^0.18.1",
|
"@kubernetes/client-node": "^0.18.1",
|
||||||
"@material-ui/core": "^4.12.3",
|
"@material-ui/core": "^4.12.3",
|
||||||
"@material-ui/lab": "^4.0.0-alpha.60",
|
"@material-ui/lab": "^4.0.0-alpha.60",
|
||||||
"@ogre-tools/fp": "^17.2.0",
|
"@ogre-tools/fp": "^16.1.0",
|
||||||
"@ogre-tools/injectable": "^17.2.0",
|
"@ogre-tools/injectable": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
|
||||||
"@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
|
"@ogre-tools/injectable-extension-for-mobx": "^16.1.0",
|
||||||
"@ogre-tools/injectable-react": "^17.2.0",
|
"@ogre-tools/injectable-react": "^16.1.0",
|
||||||
"@sentry/electron": "^3.0.8",
|
"@sentry/electron": "^3.0.8",
|
||||||
"@sentry/integrations": "^6.19.3",
|
"@sentry/integrations": "^6.19.3",
|
||||||
"ansi_up": "^5.2.1",
|
"ansi_up": "^5.2.1",
|
||||||
|
|||||||
@ -0,0 +1,21 @@
|
|||||||
|
/**
|
||||||
|
* 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 { computed } from "mobx";
|
||||||
|
import { frontEndRouteInjectionToken } from "../../../../front-end-route-injection-token";
|
||||||
|
|
||||||
|
const crdListRouteInjectable = getInjectable({
|
||||||
|
id: "crd-list-route",
|
||||||
|
|
||||||
|
instantiate: () => ({
|
||||||
|
path: "/crd/definitions",
|
||||||
|
clusterFrame: true,
|
||||||
|
isEnabled: computed(() => true),
|
||||||
|
}),
|
||||||
|
|
||||||
|
injectionToken: frontEndRouteInjectionToken,
|
||||||
|
});
|
||||||
|
|
||||||
|
export default crdListRouteInjectable;
|
||||||
@ -3,11 +3,11 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import { navigateToRouteInjectionToken } from "../../../navigate-to-route-injection-token";
|
import crdListRouteInjectable from "./crd-list-route.injectable";
|
||||||
import crdListRouteInjectable from "./custom-resource-definitions.injectable";
|
import { navigateToRouteInjectionToken } from "../../../../navigate-to-route-injection-token";
|
||||||
|
|
||||||
const navigateToCustomResourceDefinitionsInjectable = getInjectable({
|
const navigateToCrdListInjectable = getInjectable({
|
||||||
id: "navigate-to-custom-resource-definitions",
|
id: "navigate-to-crd-list",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const navigateToRoute = di.inject(navigateToRouteInjectionToken);
|
const navigateToRoute = di.inject(navigateToRouteInjectionToken);
|
||||||
@ -17,4 +17,4 @@ const navigateToCustomResourceDefinitionsInjectable = getInjectable({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
export default navigateToCustomResourceDefinitionsInjectable;
|
export default navigateToCrdListInjectable;
|
||||||
@ -1,24 +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 { shouldShowResourceInjectionToken } from "../../../../../features/cluster/showing-kube-resources/common/allowed-resources-injection-token";
|
|
||||||
import { frontEndRouteInjectionToken } from "../../../front-end-route-injection-token";
|
|
||||||
|
|
||||||
const customResourceDefinitionsRouteInjectable = getInjectable({
|
|
||||||
id: "custom-resource-definitions-route",
|
|
||||||
|
|
||||||
instantiate: (di) => ({
|
|
||||||
path: "/crd/definitions",
|
|
||||||
clusterFrame: true,
|
|
||||||
isEnabled: di.inject(shouldShowResourceInjectionToken, {
|
|
||||||
group: "apiextensions.k8s.io",
|
|
||||||
apiName: "customresourcedefinitions",
|
|
||||||
}),
|
|
||||||
}),
|
|
||||||
|
|
||||||
injectionToken: frontEndRouteInjectionToken,
|
|
||||||
});
|
|
||||||
|
|
||||||
export default customResourceDefinitionsRouteInjectable;
|
|
||||||
@ -4,19 +4,19 @@
|
|||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import type { Route } from "../../../front-end-route-injection-token";
|
import type { Route } from "../../../../front-end-route-injection-token";
|
||||||
import { frontEndRouteInjectionToken } from "../../../front-end-route-injection-token";
|
import { frontEndRouteInjectionToken } from "../../../../front-end-route-injection-token";
|
||||||
|
|
||||||
export interface CustomResourcesPathParameters {
|
export interface CustomResourcesPathParameters {
|
||||||
group: string;
|
group?: string;
|
||||||
name: string;
|
name?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const customResourcesRouteInjectable = getInjectable({
|
const customResourcesRouteInjectable = getInjectable({
|
||||||
id: "custom-resources-route",
|
id: "custom-resources-route",
|
||||||
|
|
||||||
instantiate: (): Route<CustomResourcesPathParameters> => ({
|
instantiate: (): Route<CustomResourcesPathParameters> => ({
|
||||||
path: "/crd/:group/:name",
|
path: "/crd/:group?/:name?",
|
||||||
clusterFrame: true,
|
clusterFrame: true,
|
||||||
isEnabled: computed(() => true),
|
isEnabled: computed(() => true),
|
||||||
}),
|
}),
|
||||||
@ -3,20 +3,19 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import { navigateToRouteInjectionToken } from "../../../navigate-to-route-injection-token";
|
|
||||||
import type { CustomResourcesPathParameters } from "./custom-resources-route.injectable";
|
import type { CustomResourcesPathParameters } from "./custom-resources-route.injectable";
|
||||||
import customResourcesRouteInjectable from "./custom-resources-route.injectable";
|
import customResourcesRouteInjectable from "./custom-resources-route.injectable";
|
||||||
|
import { navigateToRouteInjectionToken } from "../../../../navigate-to-route-injection-token";
|
||||||
export type NavigateToCustomResources = (parameters: CustomResourcesPathParameters) => void;
|
|
||||||
|
|
||||||
const navigateToCustomResourcesInjectable = getInjectable({
|
const navigateToCustomResourcesInjectable = getInjectable({
|
||||||
id: "navigate-to-custom-resources",
|
id: "navigate-to-custom-resources",
|
||||||
|
|
||||||
instantiate: (di): NavigateToCustomResources => {
|
instantiate: (di) => {
|
||||||
const navigateToRoute = di.inject(navigateToRouteInjectionToken);
|
const navigateToRoute = di.inject(navigateToRouteInjectionToken);
|
||||||
const route = di.inject(customResourcesRouteInjectable);
|
const route = di.inject(customResourcesRouteInjectable);
|
||||||
|
|
||||||
return (parameters) => navigateToRoute(route, { parameters });
|
return (parameters?: CustomResourcesPathParameters) =>
|
||||||
|
navigateToRoute(route, { parameters });
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -1,24 +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 { frontEndRouteInjectionToken } from "../../../../front-end-route-injection-token";
|
|
||||||
import { shouldShowResourceInjectionToken } from "../../../../../../features/cluster/showing-kube-resources/common/allowed-resources-injection-token";
|
|
||||||
|
|
||||||
const ingressClassesRouteInjectable = getInjectable({
|
|
||||||
id: "ingress-classes-route",
|
|
||||||
|
|
||||||
instantiate: (di) => ({
|
|
||||||
path: "/ingress-classes",
|
|
||||||
clusterFrame: true,
|
|
||||||
isEnabled: di.inject(shouldShowResourceInjectionToken, {
|
|
||||||
apiName: "ingressclasses",
|
|
||||||
group: "networking.k8s.io",
|
|
||||||
}),
|
|
||||||
}),
|
|
||||||
|
|
||||||
injectionToken: frontEndRouteInjectionToken,
|
|
||||||
});
|
|
||||||
|
|
||||||
export default ingressClassesRouteInjectable;
|
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
/**
|
||||||
|
* 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 { frontEndRouteInjectionToken } from "../../../../front-end-route-injection-token";
|
||||||
|
import {
|
||||||
|
shouldShowResourceInjectionToken,
|
||||||
|
} from "../../../../../../features/cluster/showing-kube-resources/common/allowed-resources-injection-token";
|
||||||
|
|
||||||
|
const ingressClassesesRouteInjectable = getInjectable({
|
||||||
|
id: "ingress-classes-route",
|
||||||
|
|
||||||
|
instantiate: (di) => {
|
||||||
|
const isEnabled = di.inject(shouldShowResourceInjectionToken, {
|
||||||
|
apiName: "ingressclasses",
|
||||||
|
group: "networking.k8s.io",
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
path: "/ingress-classes",
|
||||||
|
clusterFrame: true,
|
||||||
|
isEnabled,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
injectionToken: frontEndRouteInjectionToken,
|
||||||
|
});
|
||||||
|
|
||||||
|
export default ingressClassesesRouteInjectable;
|
||||||
@ -4,14 +4,14 @@
|
|||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import { navigateToRouteInjectionToken } from "../../../../navigate-to-route-injection-token";
|
import { navigateToRouteInjectionToken } from "../../../../navigate-to-route-injection-token";
|
||||||
import ingressClassesRouteInjectable from "./ingress-classes-route.injectable";
|
import ingressClassesesRouteInjectable from "./ingress-classeses-route.injectable";
|
||||||
|
|
||||||
const navigateToIngressesInjectable = getInjectable({
|
const navigateToIngressesInjectable = getInjectable({
|
||||||
id: "navigate-to-ingress-classes",
|
id: "navigate-to-ingress-classes",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const navigateToRoute = di.inject(navigateToRouteInjectionToken);
|
const navigateToRoute = di.inject(navigateToRouteInjectionToken);
|
||||||
const route = di.inject(ingressClassesRouteInjectable);
|
const route = di.inject(ingressClassesesRouteInjectable);
|
||||||
|
|
||||||
return () => navigateToRoute(route);
|
return () => navigateToRoute(route);
|
||||||
},
|
},
|
||||||
|
|||||||
@ -26,11 +26,12 @@ export type ImplInitializableInjectionTokensArgs<T> = {
|
|||||||
token: Initializable<T>;
|
token: Initializable<T>;
|
||||||
init: (di: DiContainerForInjection) => T | Promise<T>;
|
init: (di: DiContainerForInjection) => T | Promise<T>;
|
||||||
} & (
|
} & (
|
||||||
| {
|
{
|
||||||
phase: InjectionToken<Runnable<void>, void>;
|
phase: InjectionToken<Runnable<void>, void>;
|
||||||
runAfter?: Injectable<Runnable<void>, Runnable<void>, void>[];
|
runAfter?: Injectable<Runnable<void>, Runnable<void>, void>[];
|
||||||
}
|
}
|
||||||
| {
|
|
|
||||||
|
{
|
||||||
runAfter: Injectable<Runnable<void>, Runnable<void>, void>;
|
runAfter: Injectable<Runnable<void>, Runnable<void>, void>;
|
||||||
phase?: undefined;
|
phase?: undefined;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,12 +11,13 @@ import { getDiForUnitTesting } from "../../../renderer/getDiForUnitTesting";
|
|||||||
import storesAndApisCanBeCreatedInjectable from "../../../renderer/stores-apis-can-be-created.injectable";
|
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 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 directoryForUserDataInjectable from "../../app-paths/directory-for-user-data/directory-for-user-data.injectable";
|
||||||
import { logErrorInjectionToken, loggerInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
|
import { loggerInjectionToken } from "@k8slens/logger";
|
||||||
import type { ApiManager } from "../api-manager";
|
import type { ApiManager } from "../api-manager";
|
||||||
import apiManagerInjectable from "../api-manager/manager.injectable";
|
import apiManagerInjectable from "../api-manager/manager.injectable";
|
||||||
import { KubeApi } from "@k8slens/kube-api";
|
import { KubeApi } from "../kube-api";
|
||||||
import { KubeObject } from "@k8slens/kube-object";
|
import { KubeObject } from "@k8slens/kube-object";
|
||||||
import { KubeObjectStore } from "../kube-object.store";
|
import { KubeObjectStore } from "../kube-object.store";
|
||||||
|
import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
|
||||||
|
|
||||||
// eslint-disable-next-line no-restricted-imports
|
// eslint-disable-next-line no-restricted-imports
|
||||||
import { KubeApi as ExternalKubeApi } from "../../../extensions/common-api/k8s-api";
|
import { KubeApi as ExternalKubeApi } from "../../../extensions/common-api/k8s-api";
|
||||||
@ -24,7 +25,6 @@ import { Cluster } from "../../cluster/cluster";
|
|||||||
import { runInAction } from "mobx";
|
import { runInAction } from "mobx";
|
||||||
import { customResourceDefinitionApiInjectionToken } from "../api-manager/crd-api-token";
|
import { customResourceDefinitionApiInjectionToken } from "../api-manager/crd-api-token";
|
||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { maybeKubeApiInjectable } from "@k8slens/kube-api-specifics";
|
|
||||||
|
|
||||||
class TestApi extends KubeApi<KubeObject> {
|
class TestApi extends KubeApi<KubeObject> {
|
||||||
protected checkPreferredVersion() {
|
protected checkPreferredVersion() {
|
||||||
@ -61,9 +61,7 @@ describe("ApiManager", () => {
|
|||||||
const apiBase = "api/v1/foo";
|
const apiBase = "api/v1/foo";
|
||||||
const fallbackApiBase = "/apis/extensions/v1beta1/foo";
|
const fallbackApiBase = "/apis/extensions/v1beta1/foo";
|
||||||
const kubeApi = new TestApi({
|
const kubeApi = new TestApi({
|
||||||
logError: di.inject(logErrorInjectionToken),
|
logger: di.inject(loggerInjectionToken),
|
||||||
logInfo: di.inject(logInfoInjectionToken),
|
|
||||||
logWarn: di.inject(logWarningInjectionToken),
|
|
||||||
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
||||||
}, {
|
}, {
|
||||||
objectConstructor: KubeObject,
|
objectConstructor: KubeObject,
|
||||||
@ -138,9 +136,7 @@ describe("ApiManager", () => {
|
|||||||
|
|
||||||
return Object.assign(
|
return Object.assign(
|
||||||
new KubeApi({
|
new KubeApi({
|
||||||
logError: di.inject(logErrorInjectionToken),
|
logger: di.inject(loggerInjectionToken),
|
||||||
logInfo: di.inject(logInfoInjectionToken),
|
|
||||||
logWarn: di.inject(logWarningInjectionToken),
|
|
||||||
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
||||||
}, { objectConstructor }),
|
}, { objectConstructor }),
|
||||||
{
|
{
|
||||||
|
|||||||
@ -0,0 +1,52 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { getDiForUnitTesting } from "../../../renderer/getDiForUnitTesting";
|
||||||
|
import storesAndApisCanBeCreatedInjectable from "../../../renderer/stores-apis-can-be-created.injectable";
|
||||||
|
import apiKubeInjectable from "../../../renderer/k8s/api-kube.injectable";
|
||||||
|
import type { DeploymentApi } from "../endpoints/deployment.api";
|
||||||
|
import deploymentApiInjectable from "../endpoints/deployment.api.injectable";
|
||||||
|
import type { KubeJsonApi } from "../kube-json-api";
|
||||||
|
|
||||||
|
describe("DeploymentApi", () => {
|
||||||
|
let deploymentApi: DeploymentApi;
|
||||||
|
let kubeJsonApi: jest.Mocked<KubeJsonApi>;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
|
kubeJsonApi = {
|
||||||
|
getResponse: jest.fn(),
|
||||||
|
get: jest.fn(),
|
||||||
|
post: jest.fn(),
|
||||||
|
put: jest.fn(),
|
||||||
|
patch: jest.fn(),
|
||||||
|
del: jest.fn(),
|
||||||
|
} as never;
|
||||||
|
di.override(apiKubeInjectable, () => kubeJsonApi);
|
||||||
|
|
||||||
|
deploymentApi = di.inject(deploymentApiInjectable);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("scale", () => {
|
||||||
|
it("requests Kubernetes API with PATCH verb and correct amount of replicas", async () => {
|
||||||
|
await deploymentApi.scale({ namespace: "default", name: "deployment-1" }, 5);
|
||||||
|
|
||||||
|
expect(kubeJsonApi.patch).toHaveBeenCalledWith("/apis/apps/v1/namespaces/default/deployments/deployment-1/scale", {
|
||||||
|
data: {
|
||||||
|
spec: {
|
||||||
|
replicas: 5,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
headers: {
|
||||||
|
"content-type": "application/merge-patch+json",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -3,8 +3,17 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import type { IKubeApiParsed } from "./kube-api-parse";
|
jest.mock("../kube-api");
|
||||||
import { parseKubeApi } from "./kube-api-parse";
|
jest.mock("../api-manager", () => ({
|
||||||
|
apiManager() {
|
||||||
|
return {
|
||||||
|
registerStore: jest.fn(),
|
||||||
|
};
|
||||||
|
},
|
||||||
|
}));
|
||||||
|
|
||||||
|
import type { IKubeApiParsed } from "../kube-api-parse";
|
||||||
|
import { parseKubeApi } from "../kube-api-parse";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* [<input-url>, <expected-result>]
|
* [<input-url>, <expected-result>]
|
||||||
@ -38,6 +47,7 @@ const tests: KubeApiParseTestData[] = [
|
|||||||
namespace: undefined,
|
namespace: undefined,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
"/api/v1/namespaces",
|
"/api/v1/namespaces",
|
||||||
{
|
{
|
||||||
@ -51,6 +61,7 @@ const tests: KubeApiParseTestData[] = [
|
|||||||
namespace: undefined,
|
namespace: undefined,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
"/api/v1/nodes/minikube",
|
"/api/v1/nodes/minikube",
|
||||||
{
|
{
|
||||||
@ -64,6 +75,7 @@ const tests: KubeApiParseTestData[] = [
|
|||||||
namespace: undefined,
|
namespace: undefined,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
"/api/foo-bar/nodes/minikube",
|
"/api/foo-bar/nodes/minikube",
|
||||||
{
|
{
|
||||||
@ -77,6 +89,7 @@ const tests: KubeApiParseTestData[] = [
|
|||||||
namespace: undefined,
|
namespace: undefined,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
"/api/v1/namespaces/kube-public",
|
"/api/v1/namespaces/kube-public",
|
||||||
{
|
{
|
||||||
@ -90,6 +103,7 @@ const tests: KubeApiParseTestData[] = [
|
|||||||
namespace: undefined,
|
namespace: undefined,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
"/apis/stable.example.com/foo1/crontabs",
|
"/apis/stable.example.com/foo1/crontabs",
|
||||||
{
|
{
|
||||||
@ -103,6 +117,7 @@ const tests: KubeApiParseTestData[] = [
|
|||||||
namespace: undefined,
|
namespace: undefined,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
"/apis/cluster.k8s.io/v1alpha1/clusters",
|
"/apis/cluster.k8s.io/v1alpha1/clusters",
|
||||||
{
|
{
|
||||||
@ -116,6 +131,7 @@ const tests: KubeApiParseTestData[] = [
|
|||||||
namespace: undefined,
|
namespace: undefined,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
"/api/v1/namespaces/kube-system/pods/coredns-6955765f44-v8p27",
|
"/api/v1/namespaces/kube-system/pods/coredns-6955765f44-v8p27",
|
||||||
{
|
{
|
||||||
@ -129,6 +145,7 @@ const tests: KubeApiParseTestData[] = [
|
|||||||
name: "coredns-6955765f44-v8p27",
|
name: "coredns-6955765f44-v8p27",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
"/apis/apps/v1/namespaces/default/deployments/some-deployment",
|
"/apis/apps/v1/namespaces/default/deployments/some-deployment",
|
||||||
{
|
{
|
||||||
@ -142,6 +159,7 @@ const tests: KubeApiParseTestData[] = [
|
|||||||
resource: "deployments",
|
resource: "deployments",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
"/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/prometheuses.monitoring.coreos.com",
|
"/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/prometheuses.monitoring.coreos.com",
|
||||||
{
|
{
|
||||||
@ -155,6 +173,7 @@ const tests: KubeApiParseTestData[] = [
|
|||||||
name: "prometheuses.monitoring.coreos.com",
|
name: "prometheuses.monitoring.coreos.com",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
"/api/v1/namespaces/kube-system/pods",
|
"/api/v1/namespaces/kube-system/pods",
|
||||||
{
|
{
|
||||||
@ -168,6 +187,7 @@ const tests: KubeApiParseTestData[] = [
|
|||||||
name: undefined,
|
name: undefined,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
"/apis/cluster.k8s.io/v1/namespaces/kube-system/pods",
|
"/apis/cluster.k8s.io/v1/namespaces/kube-system/pods",
|
||||||
{
|
{
|
||||||
@ -192,6 +212,7 @@ const invalidTests = [
|
|||||||
"/apis/apiextensions.k8s.io//customresourcedefinitions/prometheuses.monitoring.coreos.com",
|
"/apis/apiextensions.k8s.io//customresourcedefinitions/prometheuses.monitoring.coreos.com",
|
||||||
"/apis/apiextensions.k8s.io/v1beta1//prometheuses.monitoring.coreos.com",
|
"/apis/apiextensions.k8s.io/v1beta1//prometheuses.monitoring.coreos.com",
|
||||||
"/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/",
|
"/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/",
|
||||||
|
|
||||||
"//v1beta1/customresourcedefinitions/prometheuses.monitoring.coreos.com",
|
"//v1beta1/customresourcedefinitions/prometheuses.monitoring.coreos.com",
|
||||||
"/api//v1beta1/customresourcedefinitions/prometheuses.monitoring.coreos.com",
|
"/api//v1beta1/customresourcedefinitions/prometheuses.monitoring.coreos.com",
|
||||||
"/api//customresourcedefinitions/prometheuses.monitoring.coreos.com",
|
"/api//customresourcedefinitions/prometheuses.monitoring.coreos.com",
|
||||||
@ -203,6 +224,7 @@ describe("parseApi unit tests", () => {
|
|||||||
it.each(tests)(`given path %j, parses as expected`, (url, expected) => {
|
it.each(tests)(`given path %j, parses as expected`, (url, expected) => {
|
||||||
expect(parseKubeApi(url)).toStrictEqual(expected);
|
expect(parseKubeApi(url)).toStrictEqual(expected);
|
||||||
});
|
});
|
||||||
|
|
||||||
it.each(invalidTests)(`given path %j, parses as undefined`, (url) => {
|
it.each(invalidTests)(`given path %j, parses as undefined`, (url) => {
|
||||||
expect(parseKubeApi(url as never)).toBe(undefined);
|
expect(parseKubeApi(url as never)).toBe(undefined);
|
||||||
});
|
});
|
||||||
@ -3,8 +3,8 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import type { ApiManager } from "../api-manager";
|
import type { ApiManager } from "../api-manager";
|
||||||
import type { IngressApi } from "@k8slens/kube-api";
|
import type { IngressApi } from "../endpoints";
|
||||||
import { HorizontalPodAutoscalerApi } from "@k8slens/kube-api";
|
import { HorizontalPodAutoscalerApi } from "../endpoints";
|
||||||
import { Ingress } from "@k8slens/kube-object";
|
import { Ingress } from "@k8slens/kube-object";
|
||||||
import { getDiForUnitTesting } from "../../../renderer/getDiForUnitTesting";
|
import { getDiForUnitTesting } from "../../../renderer/getDiForUnitTesting";
|
||||||
import type { Fetch } from "../../fetch/fetch.injectable";
|
import type { Fetch } from "../../fetch/fetch.injectable";
|
||||||
@ -20,8 +20,9 @@ import hostedClusterInjectable from "../../../renderer/cluster-frame-context/hos
|
|||||||
import directoryForKubeConfigsInjectable from "../../app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable";
|
import directoryForKubeConfigsInjectable from "../../app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable";
|
||||||
import apiManagerInjectable from "../api-manager/manager.injectable";
|
import apiManagerInjectable from "../api-manager/manager.injectable";
|
||||||
import type { DiContainer } from "@ogre-tools/injectable";
|
import type { DiContainer } from "@ogre-tools/injectable";
|
||||||
import { ingressApiInjectable, maybeKubeApiInjectable } from "@k8slens/kube-api-specifics";
|
import ingressApiInjectable from "../endpoints/ingress.api.injectable";
|
||||||
import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
|
import { loggerInjectionToken } from "@k8slens/logger";
|
||||||
|
import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
|
||||||
import { Cluster } from "../../cluster/cluster";
|
import { Cluster } from "../../cluster/cluster";
|
||||||
|
|
||||||
describe("KubeApi", () => {
|
describe("KubeApi", () => {
|
||||||
@ -709,9 +710,7 @@ describe("KubeApi", () => {
|
|||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
horizontalPodAutoscalerApi = new HorizontalPodAutoscalerApi({
|
horizontalPodAutoscalerApi = new HorizontalPodAutoscalerApi({
|
||||||
logError: di.inject(logErrorInjectionToken),
|
logger: di.inject(loggerInjectionToken),
|
||||||
logInfo: di.inject(logInfoInjectionToken),
|
|
||||||
logWarn: di.inject(logWarningInjectionToken),
|
|
||||||
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
||||||
}, {
|
}, {
|
||||||
allowedUsableVersions: {
|
allowedUsableVersions: {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -4,7 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { noop } from "@k8slens/utilities";
|
import { noop } from "@k8slens/utilities";
|
||||||
import type { KubeApi } from "@k8slens/kube-api";
|
import type { KubeApi } from "../kube-api";
|
||||||
import { KubeObject } from "@k8slens/kube-object";
|
import { KubeObject } from "@k8slens/kube-object";
|
||||||
import type { KubeObjectStoreLoadingParams } from "../kube-object.store";
|
import type { KubeObjectStoreLoadingParams } from "../kube-object.store";
|
||||||
import { KubeObjectStore } from "../kube-object.store";
|
import { KubeObjectStore } from "../kube-object.store";
|
||||||
|
|||||||
@ -3,32 +3,33 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { KubeJsonApi, StatefulSetApi } from "@k8slens/kube-api";
|
import storesAndApisCanBeCreatedInjectable from "../../../renderer/stores-apis-can-be-created.injectable";
|
||||||
import { flushPromises } from "@k8slens/test-utils";
|
import { getDiForUnitTesting } from "../../../renderer/getDiForUnitTesting";
|
||||||
import asyncFn from "@async-fn/jest";
|
import apiKubeInjectable from "../../../renderer/k8s/api-kube.injectable";
|
||||||
|
import type { StatefulSetApi } from "../endpoints";
|
||||||
|
import statefulSetApiInjectable from "../endpoints/stateful-set.api.injectable";
|
||||||
|
import type { KubeJsonApi } from "../kube-json-api";
|
||||||
import type { AsyncFnMock } from "@async-fn/jest";
|
import type { AsyncFnMock } from "@async-fn/jest";
|
||||||
|
import asyncFn from "@async-fn/jest";
|
||||||
|
import { flushPromises } from "@k8slens/test-utils";
|
||||||
|
|
||||||
describe("StatefulSetApi", () => {
|
describe("StatefulSetApi", () => {
|
||||||
let statefulSetApi: StatefulSetApi;
|
let statefulSetApi: StatefulSetApi;
|
||||||
let kubeJsonApi: KubeJsonApi;
|
|
||||||
let kubeJsonApiPatchMock: AsyncFnMock<KubeJsonApi["patch"]>;
|
let kubeJsonApiPatchMock: AsyncFnMock<KubeJsonApi["patch"]>;
|
||||||
let kubeJsonApiGetMock: AsyncFnMock<KubeJsonApi["get"]>;
|
let kubeJsonApiGetMock: AsyncFnMock<KubeJsonApi["get"]>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
kubeJsonApiGetMock = asyncFn<KubeJsonApi["get"]>();
|
const di = getDiForUnitTesting();
|
||||||
kubeJsonApiPatchMock = asyncFn<KubeJsonApi["patch"]>();
|
|
||||||
kubeJsonApi = {
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
|
kubeJsonApiPatchMock = asyncFn();
|
||||||
|
kubeJsonApiGetMock = asyncFn();
|
||||||
|
di.override(apiKubeInjectable, () => ({
|
||||||
get: kubeJsonApiGetMock,
|
get: kubeJsonApiGetMock,
|
||||||
patch: kubeJsonApiPatchMock,
|
patch: kubeJsonApiPatchMock,
|
||||||
} as Partial<KubeJsonApi> as KubeJsonApi;
|
} as Partial<KubeJsonApi> as KubeJsonApi));
|
||||||
statefulSetApi = new StatefulSetApi({
|
|
||||||
logger: {
|
statefulSetApi = di.inject(statefulSetApiInjectable);
|
||||||
info: jest.fn(),
|
|
||||||
debug: jest.fn(),
|
|
||||||
error: jest.fn(),
|
|
||||||
} as any,
|
|
||||||
maybeKubeApi: kubeJsonApi,
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("scale", () => {
|
describe("scale", () => {
|
||||||
@ -36,9 +37,7 @@ describe("StatefulSetApi", () => {
|
|||||||
const req = statefulSetApi.scale({ namespace: "default", name: "statefulset-1" }, 5);
|
const req = statefulSetApi.scale({ namespace: "default", name: "statefulset-1" }, 5);
|
||||||
|
|
||||||
await flushPromises();
|
await flushPromises();
|
||||||
expect(kubeJsonApiPatchMock).toHaveBeenCalledWith(
|
expect(kubeJsonApiPatchMock).toHaveBeenCalledWith("/apis/apps/v1/namespaces/default/statefulsets/statefulset-1/scale", {
|
||||||
"/apis/apps/v1/namespaces/default/statefulsets/statefulset-1/scale",
|
|
||||||
{
|
|
||||||
data: {
|
data: {
|
||||||
spec: {
|
spec: {
|
||||||
replicas: 5,
|
replicas: 5,
|
||||||
@ -49,8 +48,7 @@ describe("StatefulSetApi", () => {
|
|||||||
headers: {
|
headers: {
|
||||||
"content-type": "application/merge-patch+json",
|
"content-type": "application/merge-patch+json",
|
||||||
},
|
},
|
||||||
},
|
});
|
||||||
);
|
|
||||||
|
|
||||||
await kubeJsonApiPatchMock.resolve({});
|
await kubeJsonApiPatchMock.resolve({});
|
||||||
await req;
|
await req;
|
||||||
@ -60,8 +58,8 @@ describe("StatefulSetApi", () => {
|
|||||||
const req = statefulSetApi.getReplicas({ namespace: "default", name: "statefulset-1" });
|
const req = statefulSetApi.getReplicas({ namespace: "default", name: "statefulset-1" });
|
||||||
|
|
||||||
await flushPromises();
|
await flushPromises();
|
||||||
expect(kubeJsonApi.get).toHaveBeenCalledWith("/apis/apps/v1/namespaces/default/statefulsets/statefulset-1/scale");
|
expect(kubeJsonApiGetMock).toHaveBeenCalledWith("/apis/apps/v1/namespaces/default/statefulsets/statefulset-1/scale");
|
||||||
await kubeJsonApiGetMock.resolve({ status: { replicas: 10 } });
|
await kubeJsonApiGetMock.resolve({ status: { replicas: 10 }});
|
||||||
|
|
||||||
expect(await req).toBe(10);
|
expect(await req).toBe(10);
|
||||||
});
|
});
|
||||||
@ -7,9 +7,9 @@ import type { KubeObjectStore } from "../kube-object.store";
|
|||||||
|
|
||||||
import type { IComputedValue } from "mobx";
|
import type { IComputedValue } from "mobx";
|
||||||
import { autorun, action, observable } from "mobx";
|
import { autorun, action, observable } from "mobx";
|
||||||
import type { KubeApi } from "@k8slens/kube-api";
|
import type { KubeApi } from "../kube-api";
|
||||||
import type { KubeObject, ObjectReference } from "@k8slens/kube-object";
|
import type { KubeObject, ObjectReference } from "@k8slens/kube-object";
|
||||||
import { parseKubeApi, createKubeApiURL } from "@k8slens/kube-api";
|
import { parseKubeApi, createKubeApiURL } from "../kube-api-parse";
|
||||||
import { getOrInsertWith, iter } from "@k8slens/utilities";
|
import { getOrInsertWith, iter } from "@k8slens/utilities";
|
||||||
import type { CreateCustomResourceStore } from "./create-custom-resource-store.injectable";
|
import type { CreateCustomResourceStore } from "./create-custom-resource-store.injectable";
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import EventEmitter from "events";
|
import EventEmitter from "events";
|
||||||
import type TypedEventEmitter from "typed-emitter";
|
import type TypedEventEmitter from "typed-emitter";
|
||||||
import type { KubeApi } from "@k8slens/kube-api";
|
import type { KubeApi } from "../kube-api";
|
||||||
|
|
||||||
export interface LegacyAutoRegistration {
|
export interface LegacyAutoRegistration {
|
||||||
kubeApi: (api: KubeApi<any, any>) => void;
|
kubeApi: (api: KubeApi<any, any>) => void;
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { getInjectionToken } from "@ogre-tools/injectable";
|
import { getInjectionToken } from "@ogre-tools/injectable";
|
||||||
import type { KubeApi } from "@k8slens/kube-api";
|
import type { KubeApi } from "../kube-api";
|
||||||
|
|
||||||
export const customResourceDefinitionApiInjectionToken = getInjectionToken<KubeApi>({
|
export const customResourceDefinitionApiInjectionToken = getInjectionToken<KubeApi>({
|
||||||
id: "custom-resource-definition-api-token",
|
id: "custom-resource-definition-api-token",
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import clusterFrameContextForNamespacedResourcesInjectable from "../../../renderer/cluster-frame-context/for-namespaced-resources.injectable";
|
import clusterFrameContextForNamespacedResourcesInjectable from "../../../renderer/cluster-frame-context/for-namespaced-resources.injectable";
|
||||||
import { loggerInjectionToken } from "@k8slens/logger";
|
import { loggerInjectionToken } from "@k8slens/logger";
|
||||||
import type { KubeApi } from "@k8slens/kube-api";
|
import type { KubeApi } from "../kube-api";
|
||||||
import type { KubeObject } from "@k8slens/kube-object";
|
import type { KubeObject } from "@k8slens/kube-object";
|
||||||
import type { KubeObjectStoreDependencies } from "../kube-object.store";
|
import type { KubeObjectStoreDependencies } from "../kube-object.store";
|
||||||
import { CustomResourceStore } from "./resource.store";
|
import { CustomResourceStore } from "./resource.store";
|
||||||
|
|||||||
@ -3,10 +3,11 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { ApiManager } from "./api-manager";
|
import { ApiManager } from "./api-manager";
|
||||||
import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx";
|
import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx";
|
||||||
import { kubeObjectStoreInjectionToken } from "./kube-object-store-token";
|
import { kubeObjectStoreInjectionToken } from "./kube-object-store-token";
|
||||||
import { kubeApiInjectionToken, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import { customResourceDefinitionApiInjectionToken } from "./crd-api-token";
|
import { customResourceDefinitionApiInjectionToken } from "./crd-api-token";
|
||||||
import createCustomResourceStoreInjectable from "./create-custom-resource-store.injectable";
|
import createCustomResourceStoreInjectable from "./create-custom-resource-store.injectable";
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import type { KubeApi } from "@k8slens/kube-api";
|
import type { KubeApi } from "../kube-api";
|
||||||
import type { KubeObjectStoreDependencies } from "../kube-object.store";
|
import type { KubeObjectStoreDependencies } from "../kube-object.store";
|
||||||
import { KubeObjectStore } from "../kube-object.store";
|
import { KubeObjectStore } from "../kube-object.store";
|
||||||
import type { KubeObject } from "@k8slens/kube-object";
|
import type { KubeObject } from "@k8slens/kube-object";
|
||||||
|
|||||||
@ -3,13 +3,13 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
|
import { loggerInjectionToken } from "@k8slens/logger";
|
||||||
import { apiKubePrefix } from "../vars";
|
import { apiKubePrefix } from "../vars";
|
||||||
import isDevelopmentInjectable from "../vars/is-development.injectable";
|
import isDevelopmentInjectable from "../vars/is-development.injectable";
|
||||||
import apiBaseInjectable from "./api-base.injectable";
|
import apiBaseInjectable from "./api-base.injectable";
|
||||||
import type { KubeApiConstructor } from "./create-kube-api-for-remote-cluster.injectable";
|
import type { KubeApiConstructor } from "./create-kube-api-for-remote-cluster.injectable";
|
||||||
import createKubeJsonApiInjectable from "./create-kube-json-api.injectable";
|
import createKubeJsonApiInjectable from "./create-kube-json-api.injectable";
|
||||||
import { KubeApi } from "@k8slens/kube-api";
|
import { KubeApi } from "./kube-api";
|
||||||
import type { KubeJsonApiDataFor, KubeObject, KubeObjectConstructor } from "@k8slens/kube-object";
|
import type { KubeJsonApiDataFor, KubeObject, KubeObjectConstructor } from "@k8slens/kube-object";
|
||||||
|
|
||||||
export interface CreateKubeApiForLocalClusterConfig {
|
export interface CreateKubeApiForLocalClusterConfig {
|
||||||
@ -37,9 +37,7 @@ const createKubeApiForClusterInjectable = getInjectable({
|
|||||||
const apiBase = di.inject(apiBaseInjectable);
|
const apiBase = di.inject(apiBaseInjectable);
|
||||||
const isDevelopment = di.inject(isDevelopmentInjectable);
|
const isDevelopment = di.inject(isDevelopmentInjectable);
|
||||||
const createKubeJsonApi = di.inject(createKubeJsonApiInjectable);
|
const createKubeJsonApi = di.inject(createKubeJsonApiInjectable);
|
||||||
const logError = di.inject(logErrorInjectionToken);
|
const logger = di.inject(loggerInjectionToken);
|
||||||
const logInfo = di.inject(logInfoInjectionToken);
|
|
||||||
const logWarn = di.inject(logWarningInjectionToken);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
cluster: CreateKubeApiForLocalClusterConfig,
|
cluster: CreateKubeApiForLocalClusterConfig,
|
||||||
@ -66,9 +64,7 @@ const createKubeApiForClusterInjectable = getInjectable({
|
|||||||
|
|
||||||
return new KubeApi(
|
return new KubeApi(
|
||||||
{
|
{
|
||||||
logError,
|
logger,
|
||||||
logInfo,
|
|
||||||
logWarn,
|
|
||||||
maybeKubeApi: undefined,
|
maybeKubeApi: undefined,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -6,11 +6,11 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import type { AgentOptions } from "https";
|
import type { AgentOptions } from "https";
|
||||||
import { Agent } from "https";
|
import { Agent } from "https";
|
||||||
import type { RequestInit } from "@k8slens/node-fetch";
|
import type { RequestInit } from "@k8slens/node-fetch";
|
||||||
import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
|
import { loggerInjectionToken } from "@k8slens/logger";
|
||||||
import isDevelopmentInjectable from "../vars/is-development.injectable";
|
import isDevelopmentInjectable from "../vars/is-development.injectable";
|
||||||
import createKubeJsonApiInjectable from "./create-kube-json-api.injectable";
|
import createKubeJsonApiInjectable from "./create-kube-json-api.injectable";
|
||||||
import type { KubeApiOptions } from "@k8slens/kube-api";
|
import type { KubeApiOptions } from "./kube-api";
|
||||||
import { KubeApi } from "@k8slens/kube-api";
|
import { KubeApi } from "./kube-api";
|
||||||
import type { KubeJsonApiDataFor, KubeObject, KubeObjectConstructor } from "@k8slens/kube-object";
|
import type { KubeJsonApiDataFor, KubeObject, KubeObjectConstructor } from "@k8slens/kube-object";
|
||||||
|
|
||||||
export interface CreateKubeApiForRemoteClusterConfig {
|
export interface CreateKubeApiForRemoteClusterConfig {
|
||||||
@ -53,9 +53,7 @@ const createKubeApiForRemoteClusterInjectable = getInjectable({
|
|||||||
instantiate: (di): CreateKubeApiForRemoteCluster => {
|
instantiate: (di): CreateKubeApiForRemoteCluster => {
|
||||||
const isDevelopment = di.inject(isDevelopmentInjectable);
|
const isDevelopment = di.inject(isDevelopmentInjectable);
|
||||||
const createKubeJsonApi = di.inject(createKubeJsonApiInjectable);
|
const createKubeJsonApi = di.inject(createKubeJsonApiInjectable);
|
||||||
const logError = di.inject(logErrorInjectionToken);
|
const logger = di.inject(loggerInjectionToken);
|
||||||
const logInfo = di.inject(logInfoInjectionToken);
|
|
||||||
const logWarn = di.inject(logWarningInjectionToken);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
config: CreateKubeApiForRemoteClusterConfig,
|
config: CreateKubeApiForRemoteClusterConfig,
|
||||||
@ -112,9 +110,7 @@ const createKubeApiForRemoteClusterInjectable = getInjectable({
|
|||||||
|
|
||||||
return new KubeApi(
|
return new KubeApi(
|
||||||
{
|
{
|
||||||
logError,
|
logger,
|
||||||
logInfo,
|
|
||||||
logWarn,
|
|
||||||
maybeKubeApi: undefined,
|
maybeKubeApi: undefined,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,9 +3,9 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
|
import { loggerInjectionToken } from "@k8slens/logger";
|
||||||
import type { DerivedKubeApiOptions, KubeApiDependencies } from "@k8slens/kube-api";
|
import type { DerivedKubeApiOptions, KubeApiDependencies } from "./kube-api";
|
||||||
import { maybeKubeApiInjectable } from "@k8slens/kube-api-specifics";
|
import maybeKubeApiInjectable from "./maybe-kube-api.injectable";
|
||||||
|
|
||||||
export interface CreateKubeApi {
|
export interface CreateKubeApi {
|
||||||
<Api>(ctor: new (deps: KubeApiDependencies, opts: DerivedKubeApiOptions) => Api, opts?: DerivedKubeApiOptions): Api;
|
<Api>(ctor: new (deps: KubeApiDependencies, opts: DerivedKubeApiOptions) => Api, opts?: DerivedKubeApiOptions): Api;
|
||||||
@ -15,9 +15,7 @@ const createKubeApiInjectable = getInjectable({
|
|||||||
id: "create-kube-api",
|
id: "create-kube-api",
|
||||||
instantiate: (di): CreateKubeApi => {
|
instantiate: (di): CreateKubeApi => {
|
||||||
const deps: KubeApiDependencies = {
|
const deps: KubeApiDependencies = {
|
||||||
logError: di.inject(logErrorInjectionToken),
|
logger: di.inject(loggerInjectionToken),
|
||||||
logInfo: di.inject(logInfoInjectionToken),
|
|
||||||
logWarn: di.inject(logWarningInjectionToken),
|
|
||||||
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import { apiKubePrefix } from "../vars";
|
|||||||
import isDebuggingInjectable from "../vars/is-debugging.injectable";
|
import isDebuggingInjectable from "../vars/is-debugging.injectable";
|
||||||
import { apiBaseHostHeaderInjectionToken, apiBaseServerAddressInjectionToken } from "./api-base-configs";
|
import { apiBaseHostHeaderInjectionToken, apiBaseServerAddressInjectionToken } from "./api-base-configs";
|
||||||
import createKubeJsonApiInjectable from "./create-kube-json-api.injectable";
|
import createKubeJsonApiInjectable from "./create-kube-json-api.injectable";
|
||||||
import type { KubeJsonApi } from "@k8slens/kube-api";
|
import type { KubeJsonApi } from "./kube-json-api";
|
||||||
|
|
||||||
export type CreateKubeJsonApiForCluster = (clusterId: string) => KubeJsonApi;
|
export type CreateKubeJsonApiForCluster = (clusterId: string) => KubeJsonApi;
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import lensProxyCertificateInjectable from "../certificate/lens-proxy-certificat
|
|||||||
import fetchInjectable from "../fetch/fetch.injectable";
|
import fetchInjectable from "../fetch/fetch.injectable";
|
||||||
import { loggerInjectionToken } from "@k8slens/logger";
|
import { loggerInjectionToken } from "@k8slens/logger";
|
||||||
import type { JsonApiConfig, JsonApiDependencies } from "@k8slens/json-api";
|
import type { JsonApiConfig, JsonApiDependencies } from "@k8slens/json-api";
|
||||||
import { KubeJsonApi } from "@k8slens/kube-api";
|
import { KubeJsonApi } from "./kube-json-api";
|
||||||
|
|
||||||
export type CreateKubeJsonApi = (config: JsonApiConfig, reqInit?: RequestInit) => KubeJsonApi;
|
export type CreateKubeJsonApi = (config: JsonApiConfig, reqInit?: RequestInit) => KubeJsonApi;
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./cluster-role-binding.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./cluster-role.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 { ClusterApi } from "./cluster.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
import { loggerInjectionToken } from "@k8slens/logger";
|
||||||
|
import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
|
||||||
|
|
||||||
|
const clusterApiInjectable = getInjectable({
|
||||||
|
id: "cluster-api",
|
||||||
|
instantiate: (di) => {
|
||||||
|
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "clusterApi is only available in certain environments");
|
||||||
|
|
||||||
|
return new ClusterApi({
|
||||||
|
logger: di.inject(loggerInjectionToken),
|
||||||
|
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
|
});
|
||||||
|
|
||||||
|
export default clusterApiInjectable;
|
||||||
@ -20,7 +20,7 @@ export class ClusterApi extends KubeApi<Cluster> {
|
|||||||
|
|
||||||
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
||||||
super(deps, {
|
super(deps, {
|
||||||
...(opts ?? {}),
|
...opts ?? {},
|
||||||
objectConstructor: Cluster,
|
objectConstructor: Cluster,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./component-status.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./config-map.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -12,7 +12,7 @@ export class ConfigMapApi extends KubeApi<ConfigMap, ConfigMapData> {
|
|||||||
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
||||||
super(deps, {
|
super(deps, {
|
||||||
objectConstructor: ConfigMap,
|
objectConstructor: ConfigMap,
|
||||||
...(opts ?? {}),
|
...opts ?? {},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./cron-job.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -16,15 +16,11 @@ export class CronJobApi extends KubeApi<CronJob> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private requestSetSuspend(params: NamespacedResourceDescriptor, suspend: boolean) {
|
private requestSetSuspend(params: NamespacedResourceDescriptor, suspend: boolean) {
|
||||||
return this.patch(
|
return this.patch(params, {
|
||||||
params,
|
|
||||||
{
|
|
||||||
spec: {
|
spec: {
|
||||||
suspend,
|
suspend,
|
||||||
},
|
},
|
||||||
},
|
}, "strategic");
|
||||||
"strategic",
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend(params: NamespacedResourceDescriptor) {
|
suspend(params: NamespacedResourceDescriptor) {
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./custom-resource-definition.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./daemon-set.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -11,24 +11,20 @@ import { DaemonSet } from "@k8slens/kube-object";
|
|||||||
export class DaemonSetApi extends KubeApi<DaemonSet> {
|
export class DaemonSetApi extends KubeApi<DaemonSet> {
|
||||||
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
||||||
super(deps, {
|
super(deps, {
|
||||||
...(opts ?? {}),
|
...opts ?? {},
|
||||||
objectConstructor: DaemonSet,
|
objectConstructor: DaemonSet,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
restart(params: NamespacedResourceDescriptor) {
|
restart(params: NamespacedResourceDescriptor) {
|
||||||
return this.patch(
|
return this.patch(params, {
|
||||||
params,
|
|
||||||
{
|
|
||||||
spec: {
|
spec: {
|
||||||
template: {
|
template: {
|
||||||
metadata: {
|
metadata: {
|
||||||
annotations: { "kubectl.kubernetes.io/restartedAt": moment.utc().format() },
|
annotations: { "kubectl.kubernetes.io/restartedAt" : moment.utc().format() },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
}, "strategic");
|
||||||
"strategic",
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./deployment.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -12,7 +12,7 @@ import { Deployment } from "@k8slens/kube-object";
|
|||||||
export class DeploymentApi extends KubeApi<Deployment> {
|
export class DeploymentApi extends KubeApi<Deployment> {
|
||||||
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
||||||
super(deps, {
|
super(deps, {
|
||||||
...(opts ?? {}),
|
...opts ?? {},
|
||||||
objectConstructor: Deployment,
|
objectConstructor: Deployment,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -24,22 +24,18 @@ export class DeploymentApi extends KubeApi<Deployment> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
scale(params: NamespacedResourceDescriptor, replicas: number) {
|
scale(params: NamespacedResourceDescriptor, replicas: number) {
|
||||||
return this.scaleResource(params, { spec: { replicas } });
|
return this.scaleResource(params, { spec: { replicas }});
|
||||||
}
|
}
|
||||||
|
|
||||||
restart(params: NamespacedResourceDescriptor) {
|
restart(params: NamespacedResourceDescriptor) {
|
||||||
return this.patch(
|
return this.patch(params, {
|
||||||
params,
|
|
||||||
{
|
|
||||||
spec: {
|
spec: {
|
||||||
template: {
|
template: {
|
||||||
metadata: {
|
metadata: {
|
||||||
annotations: { "kubectl.kubernetes.io/restartedAt": moment.utc().format() },
|
annotations: { "kubectl.kubernetes.io/restartedAt" : moment.utc().format() },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
}, "strategic");
|
||||||
"strategic",
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./endpoint.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./events.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./horizontal-pod-autoscaler.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -11,9 +11,14 @@ export class HorizontalPodAutoscalerApi extends KubeApi<HorizontalPodAutoscaler>
|
|||||||
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
||||||
super(deps, {
|
super(deps, {
|
||||||
allowedUsableVersions: {
|
allowedUsableVersions: {
|
||||||
autoscaling: ["v2", "v2beta2", "v2beta1", "v1"],
|
autoscaling: [
|
||||||
|
"v2",
|
||||||
|
"v2beta2",
|
||||||
|
"v2beta1",
|
||||||
|
"v1",
|
||||||
|
],
|
||||||
},
|
},
|
||||||
...(opts ?? {}),
|
...opts ?? {},
|
||||||
objectConstructor: HorizontalPodAutoscaler,
|
objectConstructor: HorizontalPodAutoscaler,
|
||||||
checkPreferredVersion: true,
|
checkPreferredVersion: true,
|
||||||
});
|
});
|
||||||
@ -4,7 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Kubernetes apis
|
// Kubernetes apis
|
||||||
// Docs: https://kubernetes.io/docs/reference/kubernetes-api/
|
// Docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/
|
||||||
|
|
||||||
export * from "./cluster.api";
|
export * from "./cluster.api";
|
||||||
export * from "./cluster-role.api";
|
export * from "./cluster-role.api";
|
||||||
@ -12,7 +12,6 @@ export * from "./cluster-role-binding.api";
|
|||||||
export * from "./config-map.api";
|
export * from "./config-map.api";
|
||||||
export * from "./custom-resource-definition.api";
|
export * from "./custom-resource-definition.api";
|
||||||
export * from "./cron-job.api";
|
export * from "./cron-job.api";
|
||||||
export * from "./component-status.api";
|
|
||||||
export * from "./daemon-set.api";
|
export * from "./daemon-set.api";
|
||||||
export * from "./deployment.api";
|
export * from "./deployment.api";
|
||||||
export * from "./endpoint.api";
|
export * from "./endpoint.api";
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./ingress-class.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -17,16 +17,12 @@ export class IngressClassApi extends KubeApi<IngressClass> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setAsDefault({ name }: ResourceDescriptor, isDefault = true) {
|
setAsDefault({ name }: ResourceDescriptor, isDefault = true) {
|
||||||
return this.patch(
|
return this.patch({ name }, {
|
||||||
{ name },
|
|
||||||
{
|
|
||||||
metadata: {
|
metadata: {
|
||||||
annotations: {
|
annotations: {
|
||||||
[IngressClass.ANNOTATION_IS_DEFAULT]: String(isDefault),
|
[IngressClass.ANNOTATION_IS_DEFAULT]: String(isDefault),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
}, "strategic");
|
||||||
"strategic",
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 { IngressApi } from "./ingress.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
import { loggerInjectionToken } from "@k8slens/logger";
|
||||||
|
import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
|
||||||
|
|
||||||
|
const ingressApiInjectable = getInjectable({
|
||||||
|
id: "ingress-api",
|
||||||
|
instantiate: (di) => {
|
||||||
|
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "ingressApi is only available in certain environments");
|
||||||
|
|
||||||
|
return new IngressApi({
|
||||||
|
logger: di.inject(loggerInjectionToken),
|
||||||
|
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
|
});
|
||||||
|
|
||||||
|
export default ingressApiInjectable;
|
||||||
@ -10,7 +10,7 @@ import { KubeApi } from "../kube-api";
|
|||||||
export class IngressApi extends KubeApi<Ingress> {
|
export class IngressApi extends KubeApi<Ingress> {
|
||||||
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
||||||
super(deps, {
|
super(deps, {
|
||||||
...(opts ?? {}),
|
...opts ?? {},
|
||||||
objectConstructor: Ingress,
|
objectConstructor: Ingress,
|
||||||
// Add fallback for Kubernetes <1.19
|
// Add fallback for Kubernetes <1.19
|
||||||
checkPreferredVersion: true,
|
checkPreferredVersion: true,
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./job.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -10,7 +10,7 @@ import { Job } from "@k8slens/kube-object";
|
|||||||
export class JobApi extends KubeApi<Job> {
|
export class JobApi extends KubeApi<Job> {
|
||||||
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
||||||
super(deps, {
|
super(deps, {
|
||||||
...(opts ?? {}),
|
...opts ?? {},
|
||||||
objectConstructor: Job,
|
objectConstructor: Job,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 { LeaseApi } from "./lease.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
import { loggerInjectionToken } from "@k8slens/logger";
|
||||||
|
import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
|
||||||
|
|
||||||
|
const leaseApiInjectable = getInjectable({
|
||||||
|
id: "lease-api",
|
||||||
|
instantiate: (di) => {
|
||||||
|
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "leaseApi is only available in certain environments");
|
||||||
|
|
||||||
|
return new LeaseApi({
|
||||||
|
logger: di.inject(loggerInjectionToken),
|
||||||
|
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
|
});
|
||||||
|
|
||||||
|
export default leaseApiInjectable;
|
||||||
@ -10,7 +10,7 @@ import { Lease } from "@k8slens/kube-object";
|
|||||||
export class LeaseApi extends KubeApi<Lease> {
|
export class LeaseApi extends KubeApi<Lease> {
|
||||||
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
||||||
super(deps, {
|
super(deps, {
|
||||||
...(opts ?? {}),
|
...opts ?? {},
|
||||||
objectConstructor: Lease,
|
objectConstructor: Lease,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./limit-range.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -7,11 +7,12 @@ import { LimitRange } from "@k8slens/kube-object";
|
|||||||
import type { DerivedKubeApiOptions, KubeApiDependencies } from "../kube-api";
|
import type { DerivedKubeApiOptions, KubeApiDependencies } from "../kube-api";
|
||||||
import { KubeApi } from "../kube-api";
|
import { KubeApi } from "../kube-api";
|
||||||
|
|
||||||
|
|
||||||
export class LimitRangeApi extends KubeApi<LimitRange> {
|
export class LimitRangeApi extends KubeApi<LimitRange> {
|
||||||
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
||||||
super(deps, {
|
super(deps, {
|
||||||
objectConstructor: LimitRange,
|
objectConstructor: LimitRange,
|
||||||
...(opts ?? {}),
|
...opts ?? {},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4,7 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import type { MetricData } from "../metrics.api";
|
import type { MetricData } from "../metrics.api";
|
||||||
import type { Pod, Container } from "@k8slens/kube-object";
|
import type { Pod } from "@k8slens/kube-object";
|
||||||
import requestMetricsInjectable from "./request-metrics.injectable";
|
import requestMetricsInjectable from "./request-metrics.injectable";
|
||||||
|
|
||||||
export interface PodMetricData {
|
export interface PodMetricData {
|
||||||
@ -21,16 +21,16 @@ export interface PodMetricData {
|
|||||||
memoryLimits: MetricData;
|
memoryLimits: MetricData;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type RequestPodMetrics = (pods: Pod[], namespace: string, container?: Container, selector?: string) => Promise<PodMetricData>;
|
export type RequestPodMetrics = (pods: Pod[], namespace: string, selector?: string) => Promise<PodMetricData>;
|
||||||
|
|
||||||
const requestPodMetricsInjectable = getInjectable({
|
const requestPodMetricsInjectable = getInjectable({
|
||||||
id: "request-pod-metrics",
|
id: "request-pod-metrics",
|
||||||
instantiate: (di): RequestPodMetrics => {
|
instantiate: (di): RequestPodMetrics => {
|
||||||
const requestMetrics = di.inject(requestMetricsInjectable);
|
const requestMetrics = di.inject(requestMetricsInjectable);
|
||||||
|
|
||||||
return (pods, namespace, container, selector = "pod, namespace") => {
|
return (pods, namespace, selector = "pod, namespace") => {
|
||||||
const podSelector = pods.map(pod => pod.getName()).join("|");
|
const podSelector = pods.map(pod => pod.getName()).join("|");
|
||||||
const opts = { category: "pods", pods: podSelector, container: container?.name, namespace, selector };
|
const opts = { category: "pods", pods: podSelector, namespace, selector };
|
||||||
|
|
||||||
return requestMetrics({
|
return requestMetrics({
|
||||||
cpuUsage: opts,
|
cpuUsage: opts,
|
||||||
|
|||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
import { loggerInjectionToken } from "@k8slens/logger";
|
||||||
|
import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
|
||||||
|
import { MutatingWebhookConfigurationApi } from "./mutating-webhook-configuration.api";
|
||||||
|
|
||||||
|
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;
|
||||||
@ -9,7 +9,7 @@ import { KubeApi } from "../kube-api";
|
|||||||
export class MutatingWebhookConfigurationApi extends KubeApi<MutatingWebhookConfiguration> {
|
export class MutatingWebhookConfigurationApi extends KubeApi<MutatingWebhookConfiguration> {
|
||||||
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
||||||
super(deps, {
|
super(deps, {
|
||||||
...(opts ?? {}),
|
...opts ?? {},
|
||||||
objectConstructor: MutatingWebhookConfiguration,
|
objectConstructor: MutatingWebhookConfiguration,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./namespace.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -10,7 +10,7 @@ import { Namespace } from "@k8slens/kube-object";
|
|||||||
export class NamespaceApi extends KubeApi<Namespace> {
|
export class NamespaceApi extends KubeApi<Namespace> {
|
||||||
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
||||||
super(deps, {
|
super(deps, {
|
||||||
...(opts ?? {}),
|
...opts ?? {},
|
||||||
objectConstructor: Namespace,
|
objectConstructor: Namespace,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./network-policy.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 { NodeApi } from "./node.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
import { loggerInjectionToken } from "@k8slens/logger";
|
||||||
|
import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
|
||||||
|
|
||||||
|
const nodeApiInjectable = getInjectable({
|
||||||
|
id: "node-api",
|
||||||
|
instantiate: (di) => {
|
||||||
|
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "nodeApi is only available in certain environments");
|
||||||
|
|
||||||
|
return new NodeApi({
|
||||||
|
logger: di.inject(loggerInjectionToken),
|
||||||
|
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
|
});
|
||||||
|
|
||||||
|
export default nodeApiInjectable;
|
||||||
@ -10,7 +10,7 @@ import { KubeApi } from "../kube-api";
|
|||||||
export class NodeApi extends KubeApi<Node> {
|
export class NodeApi extends KubeApi<Node> {
|
||||||
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
||||||
super(deps, {
|
super(deps, {
|
||||||
...(opts ?? {}),
|
...opts ?? {},
|
||||||
objectConstructor: Node,
|
objectConstructor: Node,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./persistent-volume-claim.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -10,8 +10,9 @@ import { PersistentVolumeClaim } from "@k8slens/kube-object";
|
|||||||
export class PersistentVolumeClaimApi extends KubeApi<PersistentVolumeClaim> {
|
export class PersistentVolumeClaimApi extends KubeApi<PersistentVolumeClaim> {
|
||||||
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
||||||
super(deps, {
|
super(deps, {
|
||||||
...(opts ?? {}),
|
...opts ?? {},
|
||||||
objectConstructor: PersistentVolumeClaim,
|
objectConstructor: PersistentVolumeClaim,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./persistent-volume.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
/**
|
||||||
|
* 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 "./pod-disruption-budget.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
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;
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user