kubeview-mcp 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierrc.json +11 -0
- package/CHANGELOG.md +55 -0
- package/LICENSE +21 -0
- package/README.md +251 -0
- package/RELEASE.md +154 -0
- package/TODO.md +0 -0
- package/bin/kubeview-mcp.js +274 -0
- package/bin/setup.js +368 -0
- package/dist/src/cli/cli.d.ts +3 -0
- package/dist/src/cli/cli.d.ts.map +1 -0
- package/dist/src/cli/cli.js +23 -0
- package/dist/src/cli/cli.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +45 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/kubernetes/BaseResourceOperations.d.ts +155 -0
- package/dist/src/kubernetes/BaseResourceOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/BaseResourceOperations.js +136 -0
- package/dist/src/kubernetes/BaseResourceOperations.js.map +1 -0
- package/dist/src/kubernetes/CircuitBreaker.d.ts +182 -0
- package/dist/src/kubernetes/CircuitBreaker.d.ts.map +1 -0
- package/dist/src/kubernetes/CircuitBreaker.js +369 -0
- package/dist/src/kubernetes/CircuitBreaker.js.map +1 -0
- package/dist/src/kubernetes/ConnectionManager.d.ts +60 -0
- package/dist/src/kubernetes/ConnectionManager.d.ts.map +1 -0
- package/dist/src/kubernetes/ConnectionManager.js +77 -0
- package/dist/src/kubernetes/ConnectionManager.js.map +1 -0
- package/dist/src/kubernetes/ConnectionPool.d.ts +183 -0
- package/dist/src/kubernetes/ConnectionPool.d.ts.map +1 -0
- package/dist/src/kubernetes/ConnectionPool.js +437 -0
- package/dist/src/kubernetes/ConnectionPool.js.map +1 -0
- package/dist/src/kubernetes/ErrorHandler.d.ts +172 -0
- package/dist/src/kubernetes/ErrorHandler.d.ts.map +1 -0
- package/dist/src/kubernetes/ErrorHandler.js +328 -0
- package/dist/src/kubernetes/ErrorHandler.js.map +1 -0
- package/dist/src/kubernetes/ErrorHandling.d.ts +148 -0
- package/dist/src/kubernetes/ErrorHandling.d.ts.map +1 -0
- package/dist/src/kubernetes/ErrorHandling.js +304 -0
- package/dist/src/kubernetes/ErrorHandling.js.map +1 -0
- package/dist/src/kubernetes/KubernetesClient.d.ts +162 -0
- package/dist/src/kubernetes/KubernetesClient.d.ts.map +1 -0
- package/dist/src/kubernetes/KubernetesClient.js +382 -0
- package/dist/src/kubernetes/KubernetesClient.js.map +1 -0
- package/dist/src/kubernetes/ResourceOperations.d.ts +69 -0
- package/dist/src/kubernetes/ResourceOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/ResourceOperations.js +99 -0
- package/dist/src/kubernetes/ResourceOperations.js.map +1 -0
- package/dist/src/kubernetes/RetryStrategy.d.ts +137 -0
- package/dist/src/kubernetes/RetryStrategy.d.ts.map +1 -0
- package/dist/src/kubernetes/RetryStrategy.js +277 -0
- package/dist/src/kubernetes/RetryStrategy.js.map +1 -0
- package/dist/src/kubernetes/RetryableOperation.d.ts +118 -0
- package/dist/src/kubernetes/RetryableOperation.d.ts.map +1 -0
- package/dist/src/kubernetes/RetryableOperation.js +233 -0
- package/dist/src/kubernetes/RetryableOperation.js.map +1 -0
- package/dist/src/kubernetes/index.d.ts +18 -0
- package/dist/src/kubernetes/index.d.ts.map +1 -0
- package/dist/src/kubernetes/index.js +28 -0
- package/dist/src/kubernetes/index.js.map +1 -0
- package/dist/src/kubernetes/resources/ConfigMapOperations.d.ts +60 -0
- package/dist/src/kubernetes/resources/ConfigMapOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/ConfigMapOperations.js +306 -0
- package/dist/src/kubernetes/resources/ConfigMapOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/CustomResourceOperations.d.ts +55 -0
- package/dist/src/kubernetes/resources/CustomResourceOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/CustomResourceOperations.js +363 -0
- package/dist/src/kubernetes/resources/CustomResourceOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/DeploymentOperations.d.ts +66 -0
- package/dist/src/kubernetes/resources/DeploymentOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/DeploymentOperations.js +234 -0
- package/dist/src/kubernetes/resources/DeploymentOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/IngressOperations.d.ts +60 -0
- package/dist/src/kubernetes/resources/IngressOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/IngressOperations.js +224 -0
- package/dist/src/kubernetes/resources/IngressOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/MetricOperations.d.ts +218 -0
- package/dist/src/kubernetes/resources/MetricOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/MetricOperations.js +893 -0
- package/dist/src/kubernetes/resources/MetricOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/NamespaceOperations.d.ts +38 -0
- package/dist/src/kubernetes/resources/NamespaceOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/NamespaceOperations.js +101 -0
- package/dist/src/kubernetes/resources/NamespaceOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.d.ts +109 -0
- package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.js +383 -0
- package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/PersistentVolumeOperations.d.ts +97 -0
- package/dist/src/kubernetes/resources/PersistentVolumeOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/PersistentVolumeOperations.js +321 -0
- package/dist/src/kubernetes/resources/PersistentVolumeOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/PodOperations.d.ts +99 -0
- package/dist/src/kubernetes/resources/PodOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/PodOperations.js +333 -0
- package/dist/src/kubernetes/resources/PodOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/SecretOperations.d.ts +71 -0
- package/dist/src/kubernetes/resources/SecretOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/SecretOperations.js +254 -0
- package/dist/src/kubernetes/resources/SecretOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/ServiceOperations.d.ts +64 -0
- package/dist/src/kubernetes/resources/ServiceOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/ServiceOperations.js +232 -0
- package/dist/src/kubernetes/resources/ServiceOperations.js.map +1 -0
- package/dist/src/kubernetes/utils/ResourceUtils.d.ts +238 -0
- package/dist/src/kubernetes/utils/ResourceUtils.d.ts.map +1 -0
- package/dist/src/kubernetes/utils/ResourceUtils.js +439 -0
- package/dist/src/kubernetes/utils/ResourceUtils.js.map +1 -0
- package/dist/src/plugins/ArgoCDToolsPlugin.d.ts +45 -0
- package/dist/src/plugins/ArgoCDToolsPlugin.d.ts.map +1 -0
- package/dist/src/plugins/ArgoCDToolsPlugin.js +155 -0
- package/dist/src/plugins/ArgoCDToolsPlugin.js.map +1 -0
- package/dist/src/plugins/ArgoToolsPlugin.d.ts +45 -0
- package/dist/src/plugins/ArgoToolsPlugin.d.ts.map +1 -0
- package/dist/src/plugins/ArgoToolsPlugin.js +149 -0
- package/dist/src/plugins/ArgoToolsPlugin.js.map +1 -0
- package/dist/src/plugins/HelmToolsPlugin.d.ts +41 -0
- package/dist/src/plugins/HelmToolsPlugin.d.ts.map +1 -0
- package/dist/src/plugins/HelmToolsPlugin.js +146 -0
- package/dist/src/plugins/HelmToolsPlugin.js.map +1 -0
- package/dist/src/plugins/KubernetesToolsPlugin.d.ts +44 -0
- package/dist/src/plugins/KubernetesToolsPlugin.d.ts.map +1 -0
- package/dist/src/plugins/KubernetesToolsPlugin.js +159 -0
- package/dist/src/plugins/KubernetesToolsPlugin.js.map +1 -0
- package/dist/src/plugins/SamplePlugin.d.ts +12 -0
- package/dist/src/plugins/SamplePlugin.d.ts.map +1 -0
- package/dist/src/plugins/SamplePlugin.js +51 -0
- package/dist/src/plugins/SamplePlugin.js.map +1 -0
- package/dist/src/plugins/index.d.ts +5 -0
- package/dist/src/plugins/index.d.ts.map +1 -0
- package/dist/src/plugins/index.js +5 -0
- package/dist/src/plugins/index.js.map +1 -0
- package/dist/src/server/MCPServer.d.ts +93 -0
- package/dist/src/server/MCPServer.d.ts.map +1 -0
- package/dist/src/server/MCPServer.js +398 -0
- package/dist/src/server/MCPServer.js.map +1 -0
- package/dist/src/tools/argo/ArgoCronListTool.d.ts +10 -0
- package/dist/src/tools/argo/ArgoCronListTool.d.ts.map +1 -0
- package/dist/src/tools/argo/ArgoCronListTool.js +70 -0
- package/dist/src/tools/argo/ArgoCronListTool.js.map +1 -0
- package/dist/src/tools/argo/ArgoGetTool.d.ts +10 -0
- package/dist/src/tools/argo/ArgoGetTool.d.ts.map +1 -0
- package/dist/src/tools/argo/ArgoGetTool.js +80 -0
- package/dist/src/tools/argo/ArgoGetTool.js.map +1 -0
- package/dist/src/tools/argo/ArgoListTool.d.ts +10 -0
- package/dist/src/tools/argo/ArgoListTool.d.ts.map +1 -0
- package/dist/src/tools/argo/ArgoListTool.js +133 -0
- package/dist/src/tools/argo/ArgoListTool.js.map +1 -0
- package/dist/src/tools/argo/ArgoLogsTool.d.ts +10 -0
- package/dist/src/tools/argo/ArgoLogsTool.d.ts.map +1 -0
- package/dist/src/tools/argo/ArgoLogsTool.js +117 -0
- package/dist/src/tools/argo/ArgoLogsTool.js.map +1 -0
- package/dist/src/tools/argo/BaseTool.d.ts +60 -0
- package/dist/src/tools/argo/BaseTool.d.ts.map +1 -0
- package/dist/src/tools/argo/BaseTool.js +51 -0
- package/dist/src/tools/argo/BaseTool.js.map +1 -0
- package/dist/src/tools/argo/index.d.ts +7 -0
- package/dist/src/tools/argo/index.d.ts.map +1 -0
- package/dist/src/tools/argo/index.js +6 -0
- package/dist/src/tools/argo/index.js.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppGetTool.d.ts +10 -0
- package/dist/src/tools/argocd/ArgoCDAppGetTool.d.ts.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppGetTool.js +97 -0
- package/dist/src/tools/argocd/ArgoCDAppGetTool.js.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppHistoryTool.d.ts +10 -0
- package/dist/src/tools/argocd/ArgoCDAppHistoryTool.d.ts.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppHistoryTool.js +80 -0
- package/dist/src/tools/argocd/ArgoCDAppHistoryTool.js.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppListTool.d.ts +10 -0
- package/dist/src/tools/argocd/ArgoCDAppListTool.d.ts.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppListTool.js +128 -0
- package/dist/src/tools/argocd/ArgoCDAppListTool.js.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppLogsTool.d.ts +10 -0
- package/dist/src/tools/argocd/ArgoCDAppLogsTool.d.ts.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppLogsTool.js +143 -0
- package/dist/src/tools/argocd/ArgoCDAppLogsTool.js.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppResourcesTool.d.ts +10 -0
- package/dist/src/tools/argocd/ArgoCDAppResourcesTool.d.ts.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppResourcesTool.js +123 -0
- package/dist/src/tools/argocd/ArgoCDAppResourcesTool.js.map +1 -0
- package/dist/src/tools/argocd/BaseTool.d.ts +71 -0
- package/dist/src/tools/argocd/BaseTool.d.ts.map +1 -0
- package/dist/src/tools/argocd/BaseTool.js +62 -0
- package/dist/src/tools/argocd/BaseTool.js.map +1 -0
- package/dist/src/tools/argocd/index.d.ts +8 -0
- package/dist/src/tools/argocd/index.d.ts.map +1 -0
- package/dist/src/tools/argocd/index.js +7 -0
- package/dist/src/tools/argocd/index.js.map +1 -0
- package/dist/src/tools/helm/BaseTool.d.ts +51 -0
- package/dist/src/tools/helm/BaseTool.d.ts.map +1 -0
- package/dist/src/tools/helm/BaseTool.js +42 -0
- package/dist/src/tools/helm/BaseTool.js.map +1 -0
- package/dist/src/tools/helm/HelmGetHooksTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmGetHooksTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmGetHooksTool.js +38 -0
- package/dist/src/tools/helm/HelmGetHooksTool.js.map +1 -0
- package/dist/src/tools/helm/HelmGetManifestTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmGetManifestTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmGetManifestTool.js +38 -0
- package/dist/src/tools/helm/HelmGetManifestTool.js.map +1 -0
- package/dist/src/tools/helm/HelmGetNotesTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmGetNotesTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmGetNotesTool.js +38 -0
- package/dist/src/tools/helm/HelmGetNotesTool.js.map +1 -0
- package/dist/src/tools/helm/HelmGetResourcesTool.d.ts +13 -0
- package/dist/src/tools/helm/HelmGetResourcesTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmGetResourcesTool.js +124 -0
- package/dist/src/tools/helm/HelmGetResourcesTool.js.map +1 -0
- package/dist/src/tools/helm/HelmGetValuesTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmGetValuesTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmGetValuesTool.js +54 -0
- package/dist/src/tools/helm/HelmGetValuesTool.js.map +1 -0
- package/dist/src/tools/helm/HelmHistoryTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmHistoryTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmHistoryTool.js +49 -0
- package/dist/src/tools/helm/HelmHistoryTool.js.map +1 -0
- package/dist/src/tools/helm/HelmListTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmListTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmListTool.js +107 -0
- package/dist/src/tools/helm/HelmListTool.js.map +1 -0
- package/dist/src/tools/helm/HelmListWithResourcesTool.d.ts +14 -0
- package/dist/src/tools/helm/HelmListWithResourcesTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmListWithResourcesTool.js +175 -0
- package/dist/src/tools/helm/HelmListWithResourcesTool.js.map +1 -0
- package/dist/src/tools/helm/HelmStatusTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmStatusTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmStatusTool.js +54 -0
- package/dist/src/tools/helm/HelmStatusTool.js.map +1 -0
- package/dist/src/tools/helm/index.d.ts +12 -0
- package/dist/src/tools/helm/index.d.ts.map +1 -0
- package/dist/src/tools/helm/index.js +11 -0
- package/dist/src/tools/helm/index.js.map +1 -0
- package/dist/src/tools/kubernetes/BaseTool.d.ts +48 -0
- package/dist/src/tools/kubernetes/BaseTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/BaseTool.js +55 -0
- package/dist/src/tools/kubernetes/BaseTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetConfigMapTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetConfigMapTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetConfigMapTool.js +28 -0
- package/dist/src/tools/kubernetes/GetConfigMapTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetContainerLogsTool.d.ts +15 -0
- package/dist/src/tools/kubernetes/GetContainerLogsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetContainerLogsTool.js +119 -0
- package/dist/src/tools/kubernetes/GetContainerLogsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetDeploymentsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetDeploymentsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetDeploymentsTool.js +30 -0
- package/dist/src/tools/kubernetes/GetDeploymentsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetEventsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetEventsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetEventsTool.js +123 -0
- package/dist/src/tools/kubernetes/GetEventsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetIngressTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetIngressTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetIngressTool.js +35 -0
- package/dist/src/tools/kubernetes/GetIngressTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetMetricsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetMetricsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetMetricsTool.js +40 -0
- package/dist/src/tools/kubernetes/GetMetricsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetNamespacesTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetNamespacesTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetNamespacesTool.js +33 -0
- package/dist/src/tools/kubernetes/GetNamespacesTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.js +92 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumesTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumesTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumesTool.js +88 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumesTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetPodMetricsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetPodMetricsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetPodMetricsTool.js +100 -0
- package/dist/src/tools/kubernetes/GetPodMetricsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetPodsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetPodsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetPodsTool.js +35 -0
- package/dist/src/tools/kubernetes/GetPodsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetResourceTool.d.ts +12 -0
- package/dist/src/tools/kubernetes/GetResourceTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetResourceTool.js +79 -0
- package/dist/src/tools/kubernetes/GetResourceTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetSecretsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetSecretsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetSecretsTool.js +49 -0
- package/dist/src/tools/kubernetes/GetSecretsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetServicesTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetServicesTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetServicesTool.js +35 -0
- package/dist/src/tools/kubernetes/GetServicesTool.js.map +1 -0
- package/dist/src/tools/kubernetes/index.d.ts +17 -0
- package/dist/src/tools/kubernetes/index.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/index.js +16 -0
- package/dist/src/tools/kubernetes/index.js.map +1 -0
- package/dist/src/utils/CliUtils.d.ts +24 -0
- package/dist/src/utils/CliUtils.d.ts.map +1 -0
- package/dist/src/utils/CliUtils.js +159 -0
- package/dist/src/utils/CliUtils.js.map +1 -0
- package/dist/tests/__mocks__/@kubernetes/client-node.d.ts +34 -0
- package/dist/tests/__mocks__/@kubernetes/client-node.d.ts.map +1 -0
- package/dist/tests/__mocks__/@kubernetes/client-node.js +20 -0
- package/dist/tests/__mocks__/@kubernetes/client-node.js.map +1 -0
- package/dist/tests/argo/ArgoGetTool.test.d.ts +2 -0
- package/dist/tests/argo/ArgoGetTool.test.d.ts.map +1 -0
- package/dist/tests/argo/ArgoGetTool.test.js +141 -0
- package/dist/tests/argo/ArgoGetTool.test.js.map +1 -0
- package/dist/tests/helm/BaseTool.test.d.ts +2 -0
- package/dist/tests/helm/BaseTool.test.d.ts.map +1 -0
- package/dist/tests/helm/BaseTool.test.js +241 -0
- package/dist/tests/helm/BaseTool.test.js.map +1 -0
- package/dist/tests/index.test.d.ts +2 -0
- package/dist/tests/index.test.d.ts.map +1 -0
- package/dist/tests/index.test.js +7 -0
- package/dist/tests/index.test.js.map +1 -0
- package/dist/tests/kubernetes/ConfigMapOperations.test.d.ts +2 -0
- package/dist/tests/kubernetes/ConfigMapOperations.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/ConfigMapOperations.test.js +460 -0
- package/dist/tests/kubernetes/ConfigMapOperations.test.js.map +1 -0
- package/dist/tests/kubernetes/ConnectionManager.test.d.ts +2 -0
- package/dist/tests/kubernetes/ConnectionManager.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/ConnectionManager.test.js +97 -0
- package/dist/tests/kubernetes/ConnectionManager.test.js.map +1 -0
- package/dist/tests/kubernetes/ConnectionPool.test.d.ts +2 -0
- package/dist/tests/kubernetes/ConnectionPool.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/ConnectionPool.test.js +328 -0
- package/dist/tests/kubernetes/ConnectionPool.test.js.map +1 -0
- package/dist/tests/kubernetes/DeploymentOperations.test.d.ts +2 -0
- package/dist/tests/kubernetes/DeploymentOperations.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/DeploymentOperations.test.js +196 -0
- package/dist/tests/kubernetes/DeploymentOperations.test.js.map +1 -0
- package/dist/tests/kubernetes/ErrorHandling.test.d.ts +2 -0
- package/dist/tests/kubernetes/ErrorHandling.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/ErrorHandling.test.js +329 -0
- package/dist/tests/kubernetes/ErrorHandling.test.js.map +1 -0
- package/dist/tests/kubernetes/GetPodMetricsTool.test.d.ts +2 -0
- package/dist/tests/kubernetes/GetPodMetricsTool.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/GetPodMetricsTool.test.js +150 -0
- package/dist/tests/kubernetes/GetPodMetricsTool.test.js.map +1 -0
- package/dist/tests/kubernetes/KubernetesClient.test.d.ts +2 -0
- package/dist/tests/kubernetes/KubernetesClient.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/KubernetesClient.test.js +371 -0
- package/dist/tests/kubernetes/KubernetesClient.test.js.map +1 -0
- package/dist/tests/kubernetes/MetricOperations.parsing.test.d.ts +2 -0
- package/dist/tests/kubernetes/MetricOperations.parsing.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/MetricOperations.parsing.test.js +49 -0
- package/dist/tests/kubernetes/MetricOperations.parsing.test.js.map +1 -0
- package/dist/tests/kubernetes/NamespaceOperations.test.d.ts +2 -0
- package/dist/tests/kubernetes/NamespaceOperations.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/NamespaceOperations.test.js +115 -0
- package/dist/tests/kubernetes/NamespaceOperations.test.js.map +1 -0
- package/dist/tests/kubernetes/PodOperations.test.d.ts +2 -0
- package/dist/tests/kubernetes/PodOperations.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/PodOperations.test.js +209 -0
- package/dist/tests/kubernetes/PodOperations.test.js.map +1 -0
- package/dist/tests/kubernetes/RetryStrategy.test.d.ts +2 -0
- package/dist/tests/kubernetes/RetryStrategy.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/RetryStrategy.test.js +419 -0
- package/dist/tests/kubernetes/RetryStrategy.test.js.map +1 -0
- package/dist/tests/kubernetes/ServiceOperations.test.d.ts +2 -0
- package/dist/tests/kubernetes/ServiceOperations.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/ServiceOperations.test.js +159 -0
- package/dist/tests/kubernetes/ServiceOperations.test.js.map +1 -0
- package/dist/tests/plugins/KubernetesToolsPlugin.test.d.ts +2 -0
- package/dist/tests/plugins/KubernetesToolsPlugin.test.d.ts.map +1 -0
- package/dist/tests/plugins/KubernetesToolsPlugin.test.js +153 -0
- package/dist/tests/plugins/KubernetesToolsPlugin.test.js.map +1 -0
- package/dist/tests/server/MCPServer.integration.test.d.ts +2 -0
- package/dist/tests/server/MCPServer.integration.test.d.ts.map +1 -0
- package/dist/tests/server/MCPServer.integration.test.js +244 -0
- package/dist/tests/server/MCPServer.integration.test.js.map +1 -0
- package/dist/tests/server/MCPServer.test.d.ts +2 -0
- package/dist/tests/server/MCPServer.test.d.ts.map +1 -0
- package/dist/tests/server/MCPServer.test.js +257 -0
- package/dist/tests/server/MCPServer.test.js.map +1 -0
- package/package.json +85 -0
- package/src/cli/cli.ts +25 -0
- package/src/cli/run-command.js +391 -0
- package/src/index.ts +46 -0
- package/src/kubernetes/BaseResourceOperations.ts +286 -0
- package/src/kubernetes/CircuitBreaker.ts +485 -0
- package/src/kubernetes/ConnectionManager.ts +114 -0
- package/src/kubernetes/ConnectionPool.ts +551 -0
- package/src/kubernetes/ErrorHandler.ts +436 -0
- package/src/kubernetes/ErrorHandling.ts +401 -0
- package/src/kubernetes/KubernetesClient.ts +500 -0
- package/src/kubernetes/README.md +349 -0
- package/src/kubernetes/ResourceOperations.ts +116 -0
- package/src/kubernetes/RetryStrategy.ts +365 -0
- package/src/kubernetes/RetryableOperation.ts +313 -0
- package/src/kubernetes/docs/ResourceOperations.md +606 -0
- package/src/kubernetes/index.ts +116 -0
- package/src/kubernetes/resources/ConfigMapOperations.ts +367 -0
- package/src/kubernetes/resources/CustomResourceOperations.ts +392 -0
- package/src/kubernetes/resources/DeploymentOperations.ts +294 -0
- package/src/kubernetes/resources/IngressOperations.ts +277 -0
- package/src/kubernetes/resources/MetricOperations.ts +1159 -0
- package/src/kubernetes/resources/NamespaceOperations.ts +129 -0
- package/src/kubernetes/resources/PersistentVolumeClaimOperations.ts +516 -0
- package/src/kubernetes/resources/PersistentVolumeOperations.ts +438 -0
- package/src/kubernetes/resources/PodOperations.ts +417 -0
- package/src/kubernetes/resources/SecretOperations.ts +304 -0
- package/src/kubernetes/resources/ServiceOperations.ts +283 -0
- package/src/kubernetes/utils/ResourceUtils.ts +553 -0
- package/src/plugins/ArgoCDToolsPlugin.ts +189 -0
- package/src/plugins/ArgoToolsPlugin.ts +180 -0
- package/src/plugins/HelmToolsPlugin.ts +180 -0
- package/src/plugins/KubernetesToolsPlugin.ts +198 -0
- package/src/plugins/SamplePlugin.ts +60 -0
- package/src/plugins/index.ts +4 -0
- package/src/server/MCPServer.ts +500 -0
- package/src/tools/argo/ArgoCronListTool.ts +78 -0
- package/src/tools/argo/ArgoGetTool.ts +91 -0
- package/src/tools/argo/ArgoListTool.ts +143 -0
- package/src/tools/argo/ArgoLogsTool.ts +131 -0
- package/src/tools/argo/BaseTool.ts +69 -0
- package/src/tools/argo/index.ts +6 -0
- package/src/tools/argocd/ArgoCDAppGetTool.ts +109 -0
- package/src/tools/argocd/ArgoCDAppHistoryTool.ts +91 -0
- package/src/tools/argocd/ArgoCDAppListTool.ts +144 -0
- package/src/tools/argocd/ArgoCDAppLogsTool.ts +162 -0
- package/src/tools/argocd/ArgoCDAppResourcesTool.ts +139 -0
- package/src/tools/argocd/BaseTool.ts +83 -0
- package/src/tools/argocd/index.ts +7 -0
- package/src/tools/helm/BaseTool.ts +60 -0
- package/src/tools/helm/HelmGetHooksTool.ts +44 -0
- package/src/tools/helm/HelmGetManifestTool.ts +44 -0
- package/src/tools/helm/HelmGetNotesTool.ts +44 -0
- package/src/tools/helm/HelmGetResourcesTool.ts +140 -0
- package/src/tools/helm/HelmGetValuesTool.ts +62 -0
- package/src/tools/helm/HelmHistoryTool.ts +56 -0
- package/src/tools/helm/HelmListTool.ts +107 -0
- package/src/tools/helm/HelmListWithResourcesTool.ts +194 -0
- package/src/tools/helm/HelmStatusTool.ts +62 -0
- package/src/tools/helm/index.ts +11 -0
- package/src/tools/kubernetes/BaseTool.ts +76 -0
- package/src/tools/kubernetes/GetConfigMapTool.ts +33 -0
- package/src/tools/kubernetes/GetContainerLogsTool.ts +140 -0
- package/src/tools/kubernetes/GetDeploymentsTool.ts +33 -0
- package/src/tools/kubernetes/GetEventsTool.ts +133 -0
- package/src/tools/kubernetes/GetIngressTool.ts +39 -0
- package/src/tools/kubernetes/GetMetricsTool.ts +53 -0
- package/src/tools/kubernetes/GetNamespacesTool.ts +36 -0
- package/src/tools/kubernetes/GetPersistentVolumeClaimsTool.ts +113 -0
- package/src/tools/kubernetes/GetPersistentVolumesTool.ts +107 -0
- package/src/tools/kubernetes/GetPodMetricsTool.ts +113 -0
- package/src/tools/kubernetes/GetPodsTool.ts +39 -0
- package/src/tools/kubernetes/GetResourceTool.ts +90 -0
- package/src/tools/kubernetes/GetSecretsTool.ts +55 -0
- package/src/tools/kubernetes/GetServicesTool.ts +39 -0
- package/src/tools/kubernetes/index.ts +16 -0
- package/src/utils/CliUtils.ts +207 -0
- package/tsconfig.json +36 -0
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kubernetes Client Error Handling Module
|
|
3
|
+
*
|
|
4
|
+
* This module provides a comprehensive error handling system for Kubernetes operations,
|
|
5
|
+
* including typed errors, monitoring, and conversion utilities.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Base error class for all Kubernetes-related errors
|
|
9
|
+
*/
|
|
10
|
+
export class KubernetesError extends Error {
|
|
11
|
+
code;
|
|
12
|
+
statusCode;
|
|
13
|
+
details;
|
|
14
|
+
retryable;
|
|
15
|
+
timestamp;
|
|
16
|
+
constructor(message, code, statusCode, retryable = false, details) {
|
|
17
|
+
super(message);
|
|
18
|
+
this.name = 'KubernetesError';
|
|
19
|
+
this.code = code;
|
|
20
|
+
this.statusCode = statusCode;
|
|
21
|
+
this.retryable = retryable;
|
|
22
|
+
this.details = details || {};
|
|
23
|
+
this.timestamp = new Date();
|
|
24
|
+
// Ensure proper prototype chain for instanceof checks
|
|
25
|
+
Object.setPrototypeOf(this, KubernetesError.prototype);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Error thrown when authentication fails
|
|
30
|
+
*/
|
|
31
|
+
export class AuthenticationError extends KubernetesError {
|
|
32
|
+
constructor(message, details) {
|
|
33
|
+
super(message, 'AUTHENTICATION_ERROR', 401, false, details || {});
|
|
34
|
+
this.name = 'AuthenticationError';
|
|
35
|
+
Object.setPrototypeOf(this, AuthenticationError.prototype);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Error thrown when authorization fails
|
|
40
|
+
*/
|
|
41
|
+
export class AuthorizationError extends KubernetesError {
|
|
42
|
+
constructor(message, details) {
|
|
43
|
+
super(message, 'AUTHORIZATION_ERROR', 403, false, details || {});
|
|
44
|
+
this.name = 'AuthorizationError';
|
|
45
|
+
Object.setPrototypeOf(this, AuthorizationError.prototype);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Error thrown when a resource is not found
|
|
50
|
+
*/
|
|
51
|
+
export class ResourceNotFoundError extends KubernetesError {
|
|
52
|
+
constructor(message, details) {
|
|
53
|
+
super(message, 'RESOURCE_NOT_FOUND', 404, false, details || {});
|
|
54
|
+
this.name = 'ResourceNotFoundError';
|
|
55
|
+
Object.setPrototypeOf(this, ResourceNotFoundError.prototype);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Error thrown when a resource already exists (conflict)
|
|
60
|
+
*/
|
|
61
|
+
export class ResourceConflictError extends KubernetesError {
|
|
62
|
+
constructor(message, details) {
|
|
63
|
+
super(message, 'RESOURCE_CONFLICT', 409, false, details || {});
|
|
64
|
+
this.name = 'ResourceConflictError';
|
|
65
|
+
Object.setPrototypeOf(this, ResourceConflictError.prototype);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Error thrown when request validation fails
|
|
70
|
+
*/
|
|
71
|
+
export class ValidationError extends KubernetesError {
|
|
72
|
+
constructor(message, details) {
|
|
73
|
+
super(message, 'VALIDATION_ERROR', 400, false, details || {});
|
|
74
|
+
this.name = 'ValidationError';
|
|
75
|
+
Object.setPrototypeOf(this, ValidationError.prototype);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Error thrown when the server is unavailable
|
|
80
|
+
*/
|
|
81
|
+
export class ServerUnavailableError extends KubernetesError {
|
|
82
|
+
constructor(message, details) {
|
|
83
|
+
super(message, 'SERVER_UNAVAILABLE', 503, true, details || {});
|
|
84
|
+
this.name = 'ServerUnavailableError';
|
|
85
|
+
Object.setPrototypeOf(this, ServerUnavailableError.prototype);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Error thrown when a timeout occurs
|
|
90
|
+
*/
|
|
91
|
+
export class TimeoutError extends KubernetesError {
|
|
92
|
+
constructor(message, details) {
|
|
93
|
+
super(message, 'TIMEOUT_ERROR', 408, true, details || {});
|
|
94
|
+
this.name = 'TimeoutError';
|
|
95
|
+
Object.setPrototypeOf(this, TimeoutError.prototype);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Error thrown when rate limiting is encountered
|
|
100
|
+
*/
|
|
101
|
+
export class RateLimitError extends KubernetesError {
|
|
102
|
+
constructor(message, retryAfter, details) {
|
|
103
|
+
super(message, 'RATE_LIMIT_ERROR', 429, true, { ...(details || {}), retryAfter });
|
|
104
|
+
this.name = 'RateLimitError';
|
|
105
|
+
Object.setPrototypeOf(this, RateLimitError.prototype);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Error thrown for network-related issues
|
|
110
|
+
*/
|
|
111
|
+
export class NetworkError extends KubernetesError {
|
|
112
|
+
constructor(message, details) {
|
|
113
|
+
super(message, 'NETWORK_ERROR', undefined, true, details || {});
|
|
114
|
+
this.name = 'NetworkError';
|
|
115
|
+
Object.setPrototypeOf(this, NetworkError.prototype);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Convert Kubernetes API errors to typed errors
|
|
120
|
+
*/
|
|
121
|
+
export function convertApiError(error) {
|
|
122
|
+
// Handle Kubernetes API response errors
|
|
123
|
+
if (error.response && error.response.body) {
|
|
124
|
+
const body = error.response.body;
|
|
125
|
+
const statusCode = error.response.statusCode || error.statusCode;
|
|
126
|
+
const message = body.message || body.reason || 'Unknown error';
|
|
127
|
+
const retryAfter = error.response.headers?.['retry-after'];
|
|
128
|
+
const details = {
|
|
129
|
+
kind: body.kind,
|
|
130
|
+
apiVersion: body.apiVersion,
|
|
131
|
+
reason: body.reason,
|
|
132
|
+
details: body.details,
|
|
133
|
+
code: body.code,
|
|
134
|
+
};
|
|
135
|
+
switch (statusCode) {
|
|
136
|
+
case 401:
|
|
137
|
+
return new AuthenticationError(message, details);
|
|
138
|
+
case 403:
|
|
139
|
+
return new AuthorizationError(message, details);
|
|
140
|
+
case 404:
|
|
141
|
+
return new ResourceNotFoundError(message, details);
|
|
142
|
+
case 409:
|
|
143
|
+
return new ResourceConflictError(message, details);
|
|
144
|
+
case 400:
|
|
145
|
+
case 422:
|
|
146
|
+
return new ValidationError(message, details);
|
|
147
|
+
case 429:
|
|
148
|
+
return new RateLimitError(message, retryAfter ? parseInt(retryAfter) : undefined, details);
|
|
149
|
+
case 408:
|
|
150
|
+
return new TimeoutError(message, details);
|
|
151
|
+
case 500:
|
|
152
|
+
case 502:
|
|
153
|
+
case 503:
|
|
154
|
+
case 504:
|
|
155
|
+
return new ServerUnavailableError(message, details);
|
|
156
|
+
default:
|
|
157
|
+
return new KubernetesError(message, 'API_ERROR', statusCode, statusCode >= 500, details);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
// Handle network errors
|
|
161
|
+
if (error.code === 'ECONNREFUSED' || error.code === 'ENOTFOUND' || error.code === 'ETIMEDOUT') {
|
|
162
|
+
return new NetworkError(error.message, { code: error.code });
|
|
163
|
+
}
|
|
164
|
+
// Handle timeout errors
|
|
165
|
+
if (error.message && error.message.toLowerCase().includes('timeout')) {
|
|
166
|
+
return new TimeoutError(error.message);
|
|
167
|
+
}
|
|
168
|
+
// Default error
|
|
169
|
+
return new KubernetesError(error.message || 'Unknown error', 'UNKNOWN_ERROR', undefined, false, {
|
|
170
|
+
originalError: error.toString(),
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Error monitor for tracking and analyzing errors
|
|
175
|
+
*/
|
|
176
|
+
export class ErrorMonitor {
|
|
177
|
+
logger;
|
|
178
|
+
stats = {
|
|
179
|
+
total: 0,
|
|
180
|
+
byType: {},
|
|
181
|
+
byStatusCode: {},
|
|
182
|
+
retryable: 0,
|
|
183
|
+
nonRetryable: 0,
|
|
184
|
+
};
|
|
185
|
+
errorLog = [];
|
|
186
|
+
maxLogSize = 1000;
|
|
187
|
+
constructor(logger) {
|
|
188
|
+
this.logger = logger;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Record an error
|
|
192
|
+
*/
|
|
193
|
+
recordError(error, operation) {
|
|
194
|
+
this.stats.total++;
|
|
195
|
+
// Track by error type
|
|
196
|
+
this.stats.byType[error.name] = (this.stats.byType[error.name] || 0) + 1;
|
|
197
|
+
// Track by status code
|
|
198
|
+
if (error.statusCode) {
|
|
199
|
+
this.stats.byStatusCode[error.statusCode] =
|
|
200
|
+
(this.stats.byStatusCode[error.statusCode] || 0) + 1;
|
|
201
|
+
}
|
|
202
|
+
// Track retryable vs non-retryable
|
|
203
|
+
if (error.retryable) {
|
|
204
|
+
this.stats.retryable++;
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
this.stats.nonRetryable++;
|
|
208
|
+
}
|
|
209
|
+
// Update last error
|
|
210
|
+
this.stats.lastError = {
|
|
211
|
+
message: error.message,
|
|
212
|
+
code: error.code,
|
|
213
|
+
timestamp: error.timestamp,
|
|
214
|
+
};
|
|
215
|
+
// Add to error log
|
|
216
|
+
this.errorLog.push({
|
|
217
|
+
error,
|
|
218
|
+
operation,
|
|
219
|
+
timestamp: new Date(),
|
|
220
|
+
});
|
|
221
|
+
// Trim log if it gets too large
|
|
222
|
+
if (this.errorLog.length > this.maxLogSize) {
|
|
223
|
+
this.errorLog = this.errorLog.slice(-this.maxLogSize);
|
|
224
|
+
}
|
|
225
|
+
// Log the error
|
|
226
|
+
this.logger?.error(`[${operation}] ${error.name}: ${error.message}`, {
|
|
227
|
+
code: error.code,
|
|
228
|
+
statusCode: error.statusCode,
|
|
229
|
+
retryable: error.retryable,
|
|
230
|
+
details: error.details,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Get error statistics
|
|
235
|
+
*/
|
|
236
|
+
getStats() {
|
|
237
|
+
return { ...this.stats };
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Get recent errors
|
|
241
|
+
*/
|
|
242
|
+
getRecentErrors(limit = 10) {
|
|
243
|
+
return this.errorLog.slice(-limit);
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Clear statistics
|
|
247
|
+
*/
|
|
248
|
+
clearStats() {
|
|
249
|
+
this.stats = {
|
|
250
|
+
total: 0,
|
|
251
|
+
byType: {},
|
|
252
|
+
byStatusCode: {},
|
|
253
|
+
retryable: 0,
|
|
254
|
+
nonRetryable: 0,
|
|
255
|
+
};
|
|
256
|
+
this.errorLog = [];
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Get error rate for a specific time window
|
|
260
|
+
*/
|
|
261
|
+
getErrorRate(windowMs = 60000) {
|
|
262
|
+
const cutoff = new Date(Date.now() - windowMs);
|
|
263
|
+
const recentErrors = this.errorLog.filter((entry) => entry.timestamp > cutoff);
|
|
264
|
+
return recentErrors.length;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Check if a specific error type is trending
|
|
268
|
+
*/
|
|
269
|
+
isErrorTrending(errorType, threshold = 5, windowMs = 60000) {
|
|
270
|
+
const cutoff = new Date(Date.now() - windowMs);
|
|
271
|
+
const recentErrors = this.errorLog.filter((entry) => entry.timestamp > cutoff && entry.error.name === errorType);
|
|
272
|
+
return recentErrors.length >= threshold;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Enhanced error with context
|
|
277
|
+
*/
|
|
278
|
+
export function createContextualError(baseError, context) {
|
|
279
|
+
const mergedDetails = {
|
|
280
|
+
...(baseError.details || {}),
|
|
281
|
+
...context,
|
|
282
|
+
};
|
|
283
|
+
// Special handling for RateLimitError (constructor: message, retryAfter, details)
|
|
284
|
+
if (baseError instanceof RateLimitError) {
|
|
285
|
+
const retryAfter = baseError.details?.retryAfter;
|
|
286
|
+
return new RateLimitError(baseError.message, retryAfter, mergedDetails);
|
|
287
|
+
}
|
|
288
|
+
// For subclasses with (message, details) signature
|
|
289
|
+
if (baseError instanceof ValidationError ||
|
|
290
|
+
baseError instanceof AuthenticationError ||
|
|
291
|
+
baseError instanceof AuthorizationError ||
|
|
292
|
+
baseError instanceof ResourceNotFoundError ||
|
|
293
|
+
baseError instanceof ResourceConflictError ||
|
|
294
|
+
baseError instanceof ServerUnavailableError ||
|
|
295
|
+
baseError instanceof TimeoutError ||
|
|
296
|
+
baseError instanceof NetworkError) {
|
|
297
|
+
const ErrorClass = baseError.constructor;
|
|
298
|
+
return new ErrorClass(baseError.message, mergedDetails);
|
|
299
|
+
}
|
|
300
|
+
// For base KubernetesError (message, code, statusCode, retryable, details)
|
|
301
|
+
const ErrorClass = baseError.constructor;
|
|
302
|
+
return new ErrorClass(baseError.message, baseError.code, baseError.statusCode, baseError.retryable, mergedDetails);
|
|
303
|
+
}
|
|
304
|
+
//# sourceMappingURL=ErrorHandling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorHandling.js","sourceRoot":"","sources":["../../../src/kubernetes/ErrorHandling.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import * as k8s from '@kubernetes/client-node';
|
|
2
|
+
import { Logger } from 'winston';
|
|
3
|
+
import { ResourceOperations } from './ResourceOperations.js';
|
|
4
|
+
import type { ApiType, Configuration } from '@kubernetes/client-node';
|
|
5
|
+
/**
|
|
6
|
+
* Configuration options for KubernetesClient
|
|
7
|
+
*/
|
|
8
|
+
export interface KubernetesClientConfig {
|
|
9
|
+
/**
|
|
10
|
+
* Path to kubeconfig file. If not specified, will try default locations
|
|
11
|
+
*/
|
|
12
|
+
kubeConfigPath?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Specific context to use from kubeconfig. If not specified, uses current context
|
|
15
|
+
*/
|
|
16
|
+
context?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Whether to use in-cluster configuration (for pods running inside k8s)
|
|
19
|
+
*/
|
|
20
|
+
inCluster?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Bearer token for authentication
|
|
23
|
+
*/
|
|
24
|
+
bearerToken?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Kubernetes API server URL (used with bearerToken)
|
|
27
|
+
*/
|
|
28
|
+
apiServerUrl?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Skip TLS verification (not recommended for production)
|
|
31
|
+
*/
|
|
32
|
+
skipTlsVerify?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Logger instance for debug output
|
|
35
|
+
*/
|
|
36
|
+
logger?: Logger;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Authentication method types
|
|
40
|
+
*/
|
|
41
|
+
export declare enum AuthMethod {
|
|
42
|
+
KUBECONFIG = "kubeconfig",
|
|
43
|
+
IN_CLUSTER = "in-cluster",
|
|
44
|
+
TOKEN = "token"
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* KubernetesClient provides a high-level interface for interacting with Kubernetes clusters
|
|
48
|
+
*/
|
|
49
|
+
export declare class KubernetesClient {
|
|
50
|
+
private config;
|
|
51
|
+
private kc;
|
|
52
|
+
private coreV1Api;
|
|
53
|
+
private appsV1Api;
|
|
54
|
+
private batchV1Api;
|
|
55
|
+
private networkingV1Api;
|
|
56
|
+
private authMethod;
|
|
57
|
+
private logger?;
|
|
58
|
+
private _resources;
|
|
59
|
+
private _customObjectsApi?;
|
|
60
|
+
constructor(config?: KubernetesClientConfig);
|
|
61
|
+
/**
|
|
62
|
+
* Detect which authentication method to use based on configuration
|
|
63
|
+
*/
|
|
64
|
+
private detectAuthMethod;
|
|
65
|
+
/**
|
|
66
|
+
* Initialize the Kubernetes client based on the detected auth method
|
|
67
|
+
*/
|
|
68
|
+
private initializeClient;
|
|
69
|
+
/**
|
|
70
|
+
* Initialize using kubeconfig file
|
|
71
|
+
*/
|
|
72
|
+
private initializeKubeConfig;
|
|
73
|
+
/**
|
|
74
|
+
* Initialize using in-cluster configuration
|
|
75
|
+
*/
|
|
76
|
+
private initializeInClusterConfig;
|
|
77
|
+
/**
|
|
78
|
+
* Initialize using bearer token
|
|
79
|
+
*/
|
|
80
|
+
private initializeTokenConfig;
|
|
81
|
+
/**
|
|
82
|
+
* Get the path to the kubeconfig file
|
|
83
|
+
*/
|
|
84
|
+
private getKubeConfigPath;
|
|
85
|
+
/**
|
|
86
|
+
* Initialize API clients for different Kubernetes resources
|
|
87
|
+
*/
|
|
88
|
+
private initializeApiClients;
|
|
89
|
+
/**
|
|
90
|
+
* Get the current cluster information
|
|
91
|
+
*/
|
|
92
|
+
getCurrentCluster(): k8s.Cluster | null;
|
|
93
|
+
/**
|
|
94
|
+
* Get the current context name
|
|
95
|
+
*/
|
|
96
|
+
getCurrentContext(): string;
|
|
97
|
+
/**
|
|
98
|
+
* Get all available contexts
|
|
99
|
+
*/
|
|
100
|
+
getContexts(): string[];
|
|
101
|
+
/**
|
|
102
|
+
* Refresh the current context by reloading the kubeconfig file
|
|
103
|
+
* This ensures we always use the latest context when executing operations
|
|
104
|
+
*/
|
|
105
|
+
refreshCurrentContext(): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Switch to a different context
|
|
108
|
+
*/
|
|
109
|
+
switchContext(contextName: string): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Get the authentication method being used
|
|
112
|
+
*/
|
|
113
|
+
getAuthMethod(): AuthMethod;
|
|
114
|
+
/**
|
|
115
|
+
* Test the connection to the Kubernetes API server
|
|
116
|
+
*/
|
|
117
|
+
testConnection(): Promise<boolean>;
|
|
118
|
+
/**
|
|
119
|
+
* Factory method to create a KubernetesClient from a kubeconfig file
|
|
120
|
+
*/
|
|
121
|
+
static fromKubeConfig(kubeConfigPath?: string, context?: string, logger?: Logger): KubernetesClient;
|
|
122
|
+
/**
|
|
123
|
+
* Factory method to create a KubernetesClient for in-cluster use
|
|
124
|
+
*/
|
|
125
|
+
static fromInCluster(logger?: Logger): KubernetesClient;
|
|
126
|
+
/**
|
|
127
|
+
* Factory method to create a KubernetesClient using a bearer token
|
|
128
|
+
*/
|
|
129
|
+
static fromToken(apiServerUrl: string, bearerToken: string, skipTlsVerify?: boolean, logger?: Logger): KubernetesClient;
|
|
130
|
+
get core(): k8s.CoreV1Api;
|
|
131
|
+
get apps(): k8s.AppsV1Api;
|
|
132
|
+
get batch(): k8s.BatchV1Api;
|
|
133
|
+
get networking(): k8s.NetworkingV1Api;
|
|
134
|
+
get kubeConfig(): k8s.KubeConfig;
|
|
135
|
+
/**
|
|
136
|
+
* Get resource operations for working with Kubernetes resources
|
|
137
|
+
*/
|
|
138
|
+
get resources(): ResourceOperations;
|
|
139
|
+
/**
|
|
140
|
+
* Returns a Kubernetes API client for the specified API constructor.
|
|
141
|
+
* This allows for accessing various Kubernetes APIs in a type-safe manner.
|
|
142
|
+
* @param apiClientConstructor The constructor of the API client to instantiate (e.g., k8s.CoreV1Api).
|
|
143
|
+
* It should conform to `new (config: Configuration) => T`.
|
|
144
|
+
* @returns An instance of the requested API client.
|
|
145
|
+
*/
|
|
146
|
+
getGenericApiClient<T extends ApiType>(apiClientConstructor: new (config: Configuration) => T): T;
|
|
147
|
+
/**
|
|
148
|
+
* Makes a generic GET request to the Kubernetes API server.
|
|
149
|
+
* This is useful for accessing API endpoints not covered by specific client APIs (e.g., custom resources or aggregated APIs like metrics.k8s.io).
|
|
150
|
+
* @param path The API path to request (e.g., '/apis/metrics.k8s.io/v1beta1/nodes').
|
|
151
|
+
* @returns A promise that resolves with the API response.
|
|
152
|
+
* @throws Will throw an error if the request fails.
|
|
153
|
+
*/
|
|
154
|
+
getRaw<T = any>(path: string): Promise<T>;
|
|
155
|
+
get customObjects(): k8s.CustomObjectsApi;
|
|
156
|
+
/**
|
|
157
|
+
* Sets whether to skip TLS verification for API requests
|
|
158
|
+
* @param skip True to skip TLS verification, false otherwise
|
|
159
|
+
*/
|
|
160
|
+
setSkipTlsVerify(skip: boolean): void;
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=KubernetesClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KubernetesClient.d.ts","sourceRoot":"","sources":["../../../src/kubernetes/KubernetesClient.ts"],"names":[],"mappings":"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"}
|