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.
Files changed (454) hide show
  1. package/.prettierrc.json +11 -0
  2. package/CHANGELOG.md +55 -0
  3. package/LICENSE +21 -0
  4. package/README.md +251 -0
  5. package/RELEASE.md +154 -0
  6. package/TODO.md +0 -0
  7. package/bin/kubeview-mcp.js +274 -0
  8. package/bin/setup.js +368 -0
  9. package/dist/src/cli/cli.d.ts +3 -0
  10. package/dist/src/cli/cli.d.ts.map +1 -0
  11. package/dist/src/cli/cli.js +23 -0
  12. package/dist/src/cli/cli.js.map +1 -0
  13. package/dist/src/index.d.ts +8 -0
  14. package/dist/src/index.d.ts.map +1 -0
  15. package/dist/src/index.js +45 -0
  16. package/dist/src/index.js.map +1 -0
  17. package/dist/src/kubernetes/BaseResourceOperations.d.ts +155 -0
  18. package/dist/src/kubernetes/BaseResourceOperations.d.ts.map +1 -0
  19. package/dist/src/kubernetes/BaseResourceOperations.js +136 -0
  20. package/dist/src/kubernetes/BaseResourceOperations.js.map +1 -0
  21. package/dist/src/kubernetes/CircuitBreaker.d.ts +182 -0
  22. package/dist/src/kubernetes/CircuitBreaker.d.ts.map +1 -0
  23. package/dist/src/kubernetes/CircuitBreaker.js +369 -0
  24. package/dist/src/kubernetes/CircuitBreaker.js.map +1 -0
  25. package/dist/src/kubernetes/ConnectionManager.d.ts +60 -0
  26. package/dist/src/kubernetes/ConnectionManager.d.ts.map +1 -0
  27. package/dist/src/kubernetes/ConnectionManager.js +77 -0
  28. package/dist/src/kubernetes/ConnectionManager.js.map +1 -0
  29. package/dist/src/kubernetes/ConnectionPool.d.ts +183 -0
  30. package/dist/src/kubernetes/ConnectionPool.d.ts.map +1 -0
  31. package/dist/src/kubernetes/ConnectionPool.js +437 -0
  32. package/dist/src/kubernetes/ConnectionPool.js.map +1 -0
  33. package/dist/src/kubernetes/ErrorHandler.d.ts +172 -0
  34. package/dist/src/kubernetes/ErrorHandler.d.ts.map +1 -0
  35. package/dist/src/kubernetes/ErrorHandler.js +328 -0
  36. package/dist/src/kubernetes/ErrorHandler.js.map +1 -0
  37. package/dist/src/kubernetes/ErrorHandling.d.ts +148 -0
  38. package/dist/src/kubernetes/ErrorHandling.d.ts.map +1 -0
  39. package/dist/src/kubernetes/ErrorHandling.js +304 -0
  40. package/dist/src/kubernetes/ErrorHandling.js.map +1 -0
  41. package/dist/src/kubernetes/KubernetesClient.d.ts +162 -0
  42. package/dist/src/kubernetes/KubernetesClient.d.ts.map +1 -0
  43. package/dist/src/kubernetes/KubernetesClient.js +382 -0
  44. package/dist/src/kubernetes/KubernetesClient.js.map +1 -0
  45. package/dist/src/kubernetes/ResourceOperations.d.ts +69 -0
  46. package/dist/src/kubernetes/ResourceOperations.d.ts.map +1 -0
  47. package/dist/src/kubernetes/ResourceOperations.js +99 -0
  48. package/dist/src/kubernetes/ResourceOperations.js.map +1 -0
  49. package/dist/src/kubernetes/RetryStrategy.d.ts +137 -0
  50. package/dist/src/kubernetes/RetryStrategy.d.ts.map +1 -0
  51. package/dist/src/kubernetes/RetryStrategy.js +277 -0
  52. package/dist/src/kubernetes/RetryStrategy.js.map +1 -0
  53. package/dist/src/kubernetes/RetryableOperation.d.ts +118 -0
  54. package/dist/src/kubernetes/RetryableOperation.d.ts.map +1 -0
  55. package/dist/src/kubernetes/RetryableOperation.js +233 -0
  56. package/dist/src/kubernetes/RetryableOperation.js.map +1 -0
  57. package/dist/src/kubernetes/index.d.ts +18 -0
  58. package/dist/src/kubernetes/index.d.ts.map +1 -0
  59. package/dist/src/kubernetes/index.js +28 -0
  60. package/dist/src/kubernetes/index.js.map +1 -0
  61. package/dist/src/kubernetes/resources/ConfigMapOperations.d.ts +60 -0
  62. package/dist/src/kubernetes/resources/ConfigMapOperations.d.ts.map +1 -0
  63. package/dist/src/kubernetes/resources/ConfigMapOperations.js +306 -0
  64. package/dist/src/kubernetes/resources/ConfigMapOperations.js.map +1 -0
  65. package/dist/src/kubernetes/resources/CustomResourceOperations.d.ts +55 -0
  66. package/dist/src/kubernetes/resources/CustomResourceOperations.d.ts.map +1 -0
  67. package/dist/src/kubernetes/resources/CustomResourceOperations.js +363 -0
  68. package/dist/src/kubernetes/resources/CustomResourceOperations.js.map +1 -0
  69. package/dist/src/kubernetes/resources/DeploymentOperations.d.ts +66 -0
  70. package/dist/src/kubernetes/resources/DeploymentOperations.d.ts.map +1 -0
  71. package/dist/src/kubernetes/resources/DeploymentOperations.js +234 -0
  72. package/dist/src/kubernetes/resources/DeploymentOperations.js.map +1 -0
  73. package/dist/src/kubernetes/resources/IngressOperations.d.ts +60 -0
  74. package/dist/src/kubernetes/resources/IngressOperations.d.ts.map +1 -0
  75. package/dist/src/kubernetes/resources/IngressOperations.js +224 -0
  76. package/dist/src/kubernetes/resources/IngressOperations.js.map +1 -0
  77. package/dist/src/kubernetes/resources/MetricOperations.d.ts +218 -0
  78. package/dist/src/kubernetes/resources/MetricOperations.d.ts.map +1 -0
  79. package/dist/src/kubernetes/resources/MetricOperations.js +893 -0
  80. package/dist/src/kubernetes/resources/MetricOperations.js.map +1 -0
  81. package/dist/src/kubernetes/resources/NamespaceOperations.d.ts +38 -0
  82. package/dist/src/kubernetes/resources/NamespaceOperations.d.ts.map +1 -0
  83. package/dist/src/kubernetes/resources/NamespaceOperations.js +101 -0
  84. package/dist/src/kubernetes/resources/NamespaceOperations.js.map +1 -0
  85. package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.d.ts +109 -0
  86. package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.d.ts.map +1 -0
  87. package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.js +383 -0
  88. package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.js.map +1 -0
  89. package/dist/src/kubernetes/resources/PersistentVolumeOperations.d.ts +97 -0
  90. package/dist/src/kubernetes/resources/PersistentVolumeOperations.d.ts.map +1 -0
  91. package/dist/src/kubernetes/resources/PersistentVolumeOperations.js +321 -0
  92. package/dist/src/kubernetes/resources/PersistentVolumeOperations.js.map +1 -0
  93. package/dist/src/kubernetes/resources/PodOperations.d.ts +99 -0
  94. package/dist/src/kubernetes/resources/PodOperations.d.ts.map +1 -0
  95. package/dist/src/kubernetes/resources/PodOperations.js +333 -0
  96. package/dist/src/kubernetes/resources/PodOperations.js.map +1 -0
  97. package/dist/src/kubernetes/resources/SecretOperations.d.ts +71 -0
  98. package/dist/src/kubernetes/resources/SecretOperations.d.ts.map +1 -0
  99. package/dist/src/kubernetes/resources/SecretOperations.js +254 -0
  100. package/dist/src/kubernetes/resources/SecretOperations.js.map +1 -0
  101. package/dist/src/kubernetes/resources/ServiceOperations.d.ts +64 -0
  102. package/dist/src/kubernetes/resources/ServiceOperations.d.ts.map +1 -0
  103. package/dist/src/kubernetes/resources/ServiceOperations.js +232 -0
  104. package/dist/src/kubernetes/resources/ServiceOperations.js.map +1 -0
  105. package/dist/src/kubernetes/utils/ResourceUtils.d.ts +238 -0
  106. package/dist/src/kubernetes/utils/ResourceUtils.d.ts.map +1 -0
  107. package/dist/src/kubernetes/utils/ResourceUtils.js +439 -0
  108. package/dist/src/kubernetes/utils/ResourceUtils.js.map +1 -0
  109. package/dist/src/plugins/ArgoCDToolsPlugin.d.ts +45 -0
  110. package/dist/src/plugins/ArgoCDToolsPlugin.d.ts.map +1 -0
  111. package/dist/src/plugins/ArgoCDToolsPlugin.js +155 -0
  112. package/dist/src/plugins/ArgoCDToolsPlugin.js.map +1 -0
  113. package/dist/src/plugins/ArgoToolsPlugin.d.ts +45 -0
  114. package/dist/src/plugins/ArgoToolsPlugin.d.ts.map +1 -0
  115. package/dist/src/plugins/ArgoToolsPlugin.js +149 -0
  116. package/dist/src/plugins/ArgoToolsPlugin.js.map +1 -0
  117. package/dist/src/plugins/HelmToolsPlugin.d.ts +41 -0
  118. package/dist/src/plugins/HelmToolsPlugin.d.ts.map +1 -0
  119. package/dist/src/plugins/HelmToolsPlugin.js +146 -0
  120. package/dist/src/plugins/HelmToolsPlugin.js.map +1 -0
  121. package/dist/src/plugins/KubernetesToolsPlugin.d.ts +44 -0
  122. package/dist/src/plugins/KubernetesToolsPlugin.d.ts.map +1 -0
  123. package/dist/src/plugins/KubernetesToolsPlugin.js +159 -0
  124. package/dist/src/plugins/KubernetesToolsPlugin.js.map +1 -0
  125. package/dist/src/plugins/SamplePlugin.d.ts +12 -0
  126. package/dist/src/plugins/SamplePlugin.d.ts.map +1 -0
  127. package/dist/src/plugins/SamplePlugin.js +51 -0
  128. package/dist/src/plugins/SamplePlugin.js.map +1 -0
  129. package/dist/src/plugins/index.d.ts +5 -0
  130. package/dist/src/plugins/index.d.ts.map +1 -0
  131. package/dist/src/plugins/index.js +5 -0
  132. package/dist/src/plugins/index.js.map +1 -0
  133. package/dist/src/server/MCPServer.d.ts +93 -0
  134. package/dist/src/server/MCPServer.d.ts.map +1 -0
  135. package/dist/src/server/MCPServer.js +398 -0
  136. package/dist/src/server/MCPServer.js.map +1 -0
  137. package/dist/src/tools/argo/ArgoCronListTool.d.ts +10 -0
  138. package/dist/src/tools/argo/ArgoCronListTool.d.ts.map +1 -0
  139. package/dist/src/tools/argo/ArgoCronListTool.js +70 -0
  140. package/dist/src/tools/argo/ArgoCronListTool.js.map +1 -0
  141. package/dist/src/tools/argo/ArgoGetTool.d.ts +10 -0
  142. package/dist/src/tools/argo/ArgoGetTool.d.ts.map +1 -0
  143. package/dist/src/tools/argo/ArgoGetTool.js +80 -0
  144. package/dist/src/tools/argo/ArgoGetTool.js.map +1 -0
  145. package/dist/src/tools/argo/ArgoListTool.d.ts +10 -0
  146. package/dist/src/tools/argo/ArgoListTool.d.ts.map +1 -0
  147. package/dist/src/tools/argo/ArgoListTool.js +133 -0
  148. package/dist/src/tools/argo/ArgoListTool.js.map +1 -0
  149. package/dist/src/tools/argo/ArgoLogsTool.d.ts +10 -0
  150. package/dist/src/tools/argo/ArgoLogsTool.d.ts.map +1 -0
  151. package/dist/src/tools/argo/ArgoLogsTool.js +117 -0
  152. package/dist/src/tools/argo/ArgoLogsTool.js.map +1 -0
  153. package/dist/src/tools/argo/BaseTool.d.ts +60 -0
  154. package/dist/src/tools/argo/BaseTool.d.ts.map +1 -0
  155. package/dist/src/tools/argo/BaseTool.js +51 -0
  156. package/dist/src/tools/argo/BaseTool.js.map +1 -0
  157. package/dist/src/tools/argo/index.d.ts +7 -0
  158. package/dist/src/tools/argo/index.d.ts.map +1 -0
  159. package/dist/src/tools/argo/index.js +6 -0
  160. package/dist/src/tools/argo/index.js.map +1 -0
  161. package/dist/src/tools/argocd/ArgoCDAppGetTool.d.ts +10 -0
  162. package/dist/src/tools/argocd/ArgoCDAppGetTool.d.ts.map +1 -0
  163. package/dist/src/tools/argocd/ArgoCDAppGetTool.js +97 -0
  164. package/dist/src/tools/argocd/ArgoCDAppGetTool.js.map +1 -0
  165. package/dist/src/tools/argocd/ArgoCDAppHistoryTool.d.ts +10 -0
  166. package/dist/src/tools/argocd/ArgoCDAppHistoryTool.d.ts.map +1 -0
  167. package/dist/src/tools/argocd/ArgoCDAppHistoryTool.js +80 -0
  168. package/dist/src/tools/argocd/ArgoCDAppHistoryTool.js.map +1 -0
  169. package/dist/src/tools/argocd/ArgoCDAppListTool.d.ts +10 -0
  170. package/dist/src/tools/argocd/ArgoCDAppListTool.d.ts.map +1 -0
  171. package/dist/src/tools/argocd/ArgoCDAppListTool.js +128 -0
  172. package/dist/src/tools/argocd/ArgoCDAppListTool.js.map +1 -0
  173. package/dist/src/tools/argocd/ArgoCDAppLogsTool.d.ts +10 -0
  174. package/dist/src/tools/argocd/ArgoCDAppLogsTool.d.ts.map +1 -0
  175. package/dist/src/tools/argocd/ArgoCDAppLogsTool.js +143 -0
  176. package/dist/src/tools/argocd/ArgoCDAppLogsTool.js.map +1 -0
  177. package/dist/src/tools/argocd/ArgoCDAppResourcesTool.d.ts +10 -0
  178. package/dist/src/tools/argocd/ArgoCDAppResourcesTool.d.ts.map +1 -0
  179. package/dist/src/tools/argocd/ArgoCDAppResourcesTool.js +123 -0
  180. package/dist/src/tools/argocd/ArgoCDAppResourcesTool.js.map +1 -0
  181. package/dist/src/tools/argocd/BaseTool.d.ts +71 -0
  182. package/dist/src/tools/argocd/BaseTool.d.ts.map +1 -0
  183. package/dist/src/tools/argocd/BaseTool.js +62 -0
  184. package/dist/src/tools/argocd/BaseTool.js.map +1 -0
  185. package/dist/src/tools/argocd/index.d.ts +8 -0
  186. package/dist/src/tools/argocd/index.d.ts.map +1 -0
  187. package/dist/src/tools/argocd/index.js +7 -0
  188. package/dist/src/tools/argocd/index.js.map +1 -0
  189. package/dist/src/tools/helm/BaseTool.d.ts +51 -0
  190. package/dist/src/tools/helm/BaseTool.d.ts.map +1 -0
  191. package/dist/src/tools/helm/BaseTool.js +42 -0
  192. package/dist/src/tools/helm/BaseTool.js.map +1 -0
  193. package/dist/src/tools/helm/HelmGetHooksTool.d.ts +10 -0
  194. package/dist/src/tools/helm/HelmGetHooksTool.d.ts.map +1 -0
  195. package/dist/src/tools/helm/HelmGetHooksTool.js +38 -0
  196. package/dist/src/tools/helm/HelmGetHooksTool.js.map +1 -0
  197. package/dist/src/tools/helm/HelmGetManifestTool.d.ts +10 -0
  198. package/dist/src/tools/helm/HelmGetManifestTool.d.ts.map +1 -0
  199. package/dist/src/tools/helm/HelmGetManifestTool.js +38 -0
  200. package/dist/src/tools/helm/HelmGetManifestTool.js.map +1 -0
  201. package/dist/src/tools/helm/HelmGetNotesTool.d.ts +10 -0
  202. package/dist/src/tools/helm/HelmGetNotesTool.d.ts.map +1 -0
  203. package/dist/src/tools/helm/HelmGetNotesTool.js +38 -0
  204. package/dist/src/tools/helm/HelmGetNotesTool.js.map +1 -0
  205. package/dist/src/tools/helm/HelmGetResourcesTool.d.ts +13 -0
  206. package/dist/src/tools/helm/HelmGetResourcesTool.d.ts.map +1 -0
  207. package/dist/src/tools/helm/HelmGetResourcesTool.js +124 -0
  208. package/dist/src/tools/helm/HelmGetResourcesTool.js.map +1 -0
  209. package/dist/src/tools/helm/HelmGetValuesTool.d.ts +10 -0
  210. package/dist/src/tools/helm/HelmGetValuesTool.d.ts.map +1 -0
  211. package/dist/src/tools/helm/HelmGetValuesTool.js +54 -0
  212. package/dist/src/tools/helm/HelmGetValuesTool.js.map +1 -0
  213. package/dist/src/tools/helm/HelmHistoryTool.d.ts +10 -0
  214. package/dist/src/tools/helm/HelmHistoryTool.d.ts.map +1 -0
  215. package/dist/src/tools/helm/HelmHistoryTool.js +49 -0
  216. package/dist/src/tools/helm/HelmHistoryTool.js.map +1 -0
  217. package/dist/src/tools/helm/HelmListTool.d.ts +10 -0
  218. package/dist/src/tools/helm/HelmListTool.d.ts.map +1 -0
  219. package/dist/src/tools/helm/HelmListTool.js +107 -0
  220. package/dist/src/tools/helm/HelmListTool.js.map +1 -0
  221. package/dist/src/tools/helm/HelmListWithResourcesTool.d.ts +14 -0
  222. package/dist/src/tools/helm/HelmListWithResourcesTool.d.ts.map +1 -0
  223. package/dist/src/tools/helm/HelmListWithResourcesTool.js +175 -0
  224. package/dist/src/tools/helm/HelmListWithResourcesTool.js.map +1 -0
  225. package/dist/src/tools/helm/HelmStatusTool.d.ts +10 -0
  226. package/dist/src/tools/helm/HelmStatusTool.d.ts.map +1 -0
  227. package/dist/src/tools/helm/HelmStatusTool.js +54 -0
  228. package/dist/src/tools/helm/HelmStatusTool.js.map +1 -0
  229. package/dist/src/tools/helm/index.d.ts +12 -0
  230. package/dist/src/tools/helm/index.d.ts.map +1 -0
  231. package/dist/src/tools/helm/index.js +11 -0
  232. package/dist/src/tools/helm/index.js.map +1 -0
  233. package/dist/src/tools/kubernetes/BaseTool.d.ts +48 -0
  234. package/dist/src/tools/kubernetes/BaseTool.d.ts.map +1 -0
  235. package/dist/src/tools/kubernetes/BaseTool.js +55 -0
  236. package/dist/src/tools/kubernetes/BaseTool.js.map +1 -0
  237. package/dist/src/tools/kubernetes/GetConfigMapTool.d.ts +11 -0
  238. package/dist/src/tools/kubernetes/GetConfigMapTool.d.ts.map +1 -0
  239. package/dist/src/tools/kubernetes/GetConfigMapTool.js +28 -0
  240. package/dist/src/tools/kubernetes/GetConfigMapTool.js.map +1 -0
  241. package/dist/src/tools/kubernetes/GetContainerLogsTool.d.ts +15 -0
  242. package/dist/src/tools/kubernetes/GetContainerLogsTool.d.ts.map +1 -0
  243. package/dist/src/tools/kubernetes/GetContainerLogsTool.js +119 -0
  244. package/dist/src/tools/kubernetes/GetContainerLogsTool.js.map +1 -0
  245. package/dist/src/tools/kubernetes/GetDeploymentsTool.d.ts +11 -0
  246. package/dist/src/tools/kubernetes/GetDeploymentsTool.d.ts.map +1 -0
  247. package/dist/src/tools/kubernetes/GetDeploymentsTool.js +30 -0
  248. package/dist/src/tools/kubernetes/GetDeploymentsTool.js.map +1 -0
  249. package/dist/src/tools/kubernetes/GetEventsTool.d.ts +11 -0
  250. package/dist/src/tools/kubernetes/GetEventsTool.d.ts.map +1 -0
  251. package/dist/src/tools/kubernetes/GetEventsTool.js +123 -0
  252. package/dist/src/tools/kubernetes/GetEventsTool.js.map +1 -0
  253. package/dist/src/tools/kubernetes/GetIngressTool.d.ts +11 -0
  254. package/dist/src/tools/kubernetes/GetIngressTool.d.ts.map +1 -0
  255. package/dist/src/tools/kubernetes/GetIngressTool.js +35 -0
  256. package/dist/src/tools/kubernetes/GetIngressTool.js.map +1 -0
  257. package/dist/src/tools/kubernetes/GetMetricsTool.d.ts +11 -0
  258. package/dist/src/tools/kubernetes/GetMetricsTool.d.ts.map +1 -0
  259. package/dist/src/tools/kubernetes/GetMetricsTool.js +40 -0
  260. package/dist/src/tools/kubernetes/GetMetricsTool.js.map +1 -0
  261. package/dist/src/tools/kubernetes/GetNamespacesTool.d.ts +11 -0
  262. package/dist/src/tools/kubernetes/GetNamespacesTool.d.ts.map +1 -0
  263. package/dist/src/tools/kubernetes/GetNamespacesTool.js +33 -0
  264. package/dist/src/tools/kubernetes/GetNamespacesTool.js.map +1 -0
  265. package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.d.ts +11 -0
  266. package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.d.ts.map +1 -0
  267. package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.js +92 -0
  268. package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.js.map +1 -0
  269. package/dist/src/tools/kubernetes/GetPersistentVolumesTool.d.ts +11 -0
  270. package/dist/src/tools/kubernetes/GetPersistentVolumesTool.d.ts.map +1 -0
  271. package/dist/src/tools/kubernetes/GetPersistentVolumesTool.js +88 -0
  272. package/dist/src/tools/kubernetes/GetPersistentVolumesTool.js.map +1 -0
  273. package/dist/src/tools/kubernetes/GetPodMetricsTool.d.ts +11 -0
  274. package/dist/src/tools/kubernetes/GetPodMetricsTool.d.ts.map +1 -0
  275. package/dist/src/tools/kubernetes/GetPodMetricsTool.js +100 -0
  276. package/dist/src/tools/kubernetes/GetPodMetricsTool.js.map +1 -0
  277. package/dist/src/tools/kubernetes/GetPodsTool.d.ts +11 -0
  278. package/dist/src/tools/kubernetes/GetPodsTool.d.ts.map +1 -0
  279. package/dist/src/tools/kubernetes/GetPodsTool.js +35 -0
  280. package/dist/src/tools/kubernetes/GetPodsTool.js.map +1 -0
  281. package/dist/src/tools/kubernetes/GetResourceTool.d.ts +12 -0
  282. package/dist/src/tools/kubernetes/GetResourceTool.d.ts.map +1 -0
  283. package/dist/src/tools/kubernetes/GetResourceTool.js +79 -0
  284. package/dist/src/tools/kubernetes/GetResourceTool.js.map +1 -0
  285. package/dist/src/tools/kubernetes/GetSecretsTool.d.ts +11 -0
  286. package/dist/src/tools/kubernetes/GetSecretsTool.d.ts.map +1 -0
  287. package/dist/src/tools/kubernetes/GetSecretsTool.js +49 -0
  288. package/dist/src/tools/kubernetes/GetSecretsTool.js.map +1 -0
  289. package/dist/src/tools/kubernetes/GetServicesTool.d.ts +11 -0
  290. package/dist/src/tools/kubernetes/GetServicesTool.d.ts.map +1 -0
  291. package/dist/src/tools/kubernetes/GetServicesTool.js +35 -0
  292. package/dist/src/tools/kubernetes/GetServicesTool.js.map +1 -0
  293. package/dist/src/tools/kubernetes/index.d.ts +17 -0
  294. package/dist/src/tools/kubernetes/index.d.ts.map +1 -0
  295. package/dist/src/tools/kubernetes/index.js +16 -0
  296. package/dist/src/tools/kubernetes/index.js.map +1 -0
  297. package/dist/src/utils/CliUtils.d.ts +24 -0
  298. package/dist/src/utils/CliUtils.d.ts.map +1 -0
  299. package/dist/src/utils/CliUtils.js +159 -0
  300. package/dist/src/utils/CliUtils.js.map +1 -0
  301. package/dist/tests/__mocks__/@kubernetes/client-node.d.ts +34 -0
  302. package/dist/tests/__mocks__/@kubernetes/client-node.d.ts.map +1 -0
  303. package/dist/tests/__mocks__/@kubernetes/client-node.js +20 -0
  304. package/dist/tests/__mocks__/@kubernetes/client-node.js.map +1 -0
  305. package/dist/tests/argo/ArgoGetTool.test.d.ts +2 -0
  306. package/dist/tests/argo/ArgoGetTool.test.d.ts.map +1 -0
  307. package/dist/tests/argo/ArgoGetTool.test.js +141 -0
  308. package/dist/tests/argo/ArgoGetTool.test.js.map +1 -0
  309. package/dist/tests/helm/BaseTool.test.d.ts +2 -0
  310. package/dist/tests/helm/BaseTool.test.d.ts.map +1 -0
  311. package/dist/tests/helm/BaseTool.test.js +241 -0
  312. package/dist/tests/helm/BaseTool.test.js.map +1 -0
  313. package/dist/tests/index.test.d.ts +2 -0
  314. package/dist/tests/index.test.d.ts.map +1 -0
  315. package/dist/tests/index.test.js +7 -0
  316. package/dist/tests/index.test.js.map +1 -0
  317. package/dist/tests/kubernetes/ConfigMapOperations.test.d.ts +2 -0
  318. package/dist/tests/kubernetes/ConfigMapOperations.test.d.ts.map +1 -0
  319. package/dist/tests/kubernetes/ConfigMapOperations.test.js +460 -0
  320. package/dist/tests/kubernetes/ConfigMapOperations.test.js.map +1 -0
  321. package/dist/tests/kubernetes/ConnectionManager.test.d.ts +2 -0
  322. package/dist/tests/kubernetes/ConnectionManager.test.d.ts.map +1 -0
  323. package/dist/tests/kubernetes/ConnectionManager.test.js +97 -0
  324. package/dist/tests/kubernetes/ConnectionManager.test.js.map +1 -0
  325. package/dist/tests/kubernetes/ConnectionPool.test.d.ts +2 -0
  326. package/dist/tests/kubernetes/ConnectionPool.test.d.ts.map +1 -0
  327. package/dist/tests/kubernetes/ConnectionPool.test.js +328 -0
  328. package/dist/tests/kubernetes/ConnectionPool.test.js.map +1 -0
  329. package/dist/tests/kubernetes/DeploymentOperations.test.d.ts +2 -0
  330. package/dist/tests/kubernetes/DeploymentOperations.test.d.ts.map +1 -0
  331. package/dist/tests/kubernetes/DeploymentOperations.test.js +196 -0
  332. package/dist/tests/kubernetes/DeploymentOperations.test.js.map +1 -0
  333. package/dist/tests/kubernetes/ErrorHandling.test.d.ts +2 -0
  334. package/dist/tests/kubernetes/ErrorHandling.test.d.ts.map +1 -0
  335. package/dist/tests/kubernetes/ErrorHandling.test.js +329 -0
  336. package/dist/tests/kubernetes/ErrorHandling.test.js.map +1 -0
  337. package/dist/tests/kubernetes/GetPodMetricsTool.test.d.ts +2 -0
  338. package/dist/tests/kubernetes/GetPodMetricsTool.test.d.ts.map +1 -0
  339. package/dist/tests/kubernetes/GetPodMetricsTool.test.js +150 -0
  340. package/dist/tests/kubernetes/GetPodMetricsTool.test.js.map +1 -0
  341. package/dist/tests/kubernetes/KubernetesClient.test.d.ts +2 -0
  342. package/dist/tests/kubernetes/KubernetesClient.test.d.ts.map +1 -0
  343. package/dist/tests/kubernetes/KubernetesClient.test.js +371 -0
  344. package/dist/tests/kubernetes/KubernetesClient.test.js.map +1 -0
  345. package/dist/tests/kubernetes/MetricOperations.parsing.test.d.ts +2 -0
  346. package/dist/tests/kubernetes/MetricOperations.parsing.test.d.ts.map +1 -0
  347. package/dist/tests/kubernetes/MetricOperations.parsing.test.js +49 -0
  348. package/dist/tests/kubernetes/MetricOperations.parsing.test.js.map +1 -0
  349. package/dist/tests/kubernetes/NamespaceOperations.test.d.ts +2 -0
  350. package/dist/tests/kubernetes/NamespaceOperations.test.d.ts.map +1 -0
  351. package/dist/tests/kubernetes/NamespaceOperations.test.js +115 -0
  352. package/dist/tests/kubernetes/NamespaceOperations.test.js.map +1 -0
  353. package/dist/tests/kubernetes/PodOperations.test.d.ts +2 -0
  354. package/dist/tests/kubernetes/PodOperations.test.d.ts.map +1 -0
  355. package/dist/tests/kubernetes/PodOperations.test.js +209 -0
  356. package/dist/tests/kubernetes/PodOperations.test.js.map +1 -0
  357. package/dist/tests/kubernetes/RetryStrategy.test.d.ts +2 -0
  358. package/dist/tests/kubernetes/RetryStrategy.test.d.ts.map +1 -0
  359. package/dist/tests/kubernetes/RetryStrategy.test.js +419 -0
  360. package/dist/tests/kubernetes/RetryStrategy.test.js.map +1 -0
  361. package/dist/tests/kubernetes/ServiceOperations.test.d.ts +2 -0
  362. package/dist/tests/kubernetes/ServiceOperations.test.d.ts.map +1 -0
  363. package/dist/tests/kubernetes/ServiceOperations.test.js +159 -0
  364. package/dist/tests/kubernetes/ServiceOperations.test.js.map +1 -0
  365. package/dist/tests/plugins/KubernetesToolsPlugin.test.d.ts +2 -0
  366. package/dist/tests/plugins/KubernetesToolsPlugin.test.d.ts.map +1 -0
  367. package/dist/tests/plugins/KubernetesToolsPlugin.test.js +153 -0
  368. package/dist/tests/plugins/KubernetesToolsPlugin.test.js.map +1 -0
  369. package/dist/tests/server/MCPServer.integration.test.d.ts +2 -0
  370. package/dist/tests/server/MCPServer.integration.test.d.ts.map +1 -0
  371. package/dist/tests/server/MCPServer.integration.test.js +244 -0
  372. package/dist/tests/server/MCPServer.integration.test.js.map +1 -0
  373. package/dist/tests/server/MCPServer.test.d.ts +2 -0
  374. package/dist/tests/server/MCPServer.test.d.ts.map +1 -0
  375. package/dist/tests/server/MCPServer.test.js +257 -0
  376. package/dist/tests/server/MCPServer.test.js.map +1 -0
  377. package/package.json +85 -0
  378. package/src/cli/cli.ts +25 -0
  379. package/src/cli/run-command.js +391 -0
  380. package/src/index.ts +46 -0
  381. package/src/kubernetes/BaseResourceOperations.ts +286 -0
  382. package/src/kubernetes/CircuitBreaker.ts +485 -0
  383. package/src/kubernetes/ConnectionManager.ts +114 -0
  384. package/src/kubernetes/ConnectionPool.ts +551 -0
  385. package/src/kubernetes/ErrorHandler.ts +436 -0
  386. package/src/kubernetes/ErrorHandling.ts +401 -0
  387. package/src/kubernetes/KubernetesClient.ts +500 -0
  388. package/src/kubernetes/README.md +349 -0
  389. package/src/kubernetes/ResourceOperations.ts +116 -0
  390. package/src/kubernetes/RetryStrategy.ts +365 -0
  391. package/src/kubernetes/RetryableOperation.ts +313 -0
  392. package/src/kubernetes/docs/ResourceOperations.md +606 -0
  393. package/src/kubernetes/index.ts +116 -0
  394. package/src/kubernetes/resources/ConfigMapOperations.ts +367 -0
  395. package/src/kubernetes/resources/CustomResourceOperations.ts +392 -0
  396. package/src/kubernetes/resources/DeploymentOperations.ts +294 -0
  397. package/src/kubernetes/resources/IngressOperations.ts +277 -0
  398. package/src/kubernetes/resources/MetricOperations.ts +1159 -0
  399. package/src/kubernetes/resources/NamespaceOperations.ts +129 -0
  400. package/src/kubernetes/resources/PersistentVolumeClaimOperations.ts +516 -0
  401. package/src/kubernetes/resources/PersistentVolumeOperations.ts +438 -0
  402. package/src/kubernetes/resources/PodOperations.ts +417 -0
  403. package/src/kubernetes/resources/SecretOperations.ts +304 -0
  404. package/src/kubernetes/resources/ServiceOperations.ts +283 -0
  405. package/src/kubernetes/utils/ResourceUtils.ts +553 -0
  406. package/src/plugins/ArgoCDToolsPlugin.ts +189 -0
  407. package/src/plugins/ArgoToolsPlugin.ts +180 -0
  408. package/src/plugins/HelmToolsPlugin.ts +180 -0
  409. package/src/plugins/KubernetesToolsPlugin.ts +198 -0
  410. package/src/plugins/SamplePlugin.ts +60 -0
  411. package/src/plugins/index.ts +4 -0
  412. package/src/server/MCPServer.ts +500 -0
  413. package/src/tools/argo/ArgoCronListTool.ts +78 -0
  414. package/src/tools/argo/ArgoGetTool.ts +91 -0
  415. package/src/tools/argo/ArgoListTool.ts +143 -0
  416. package/src/tools/argo/ArgoLogsTool.ts +131 -0
  417. package/src/tools/argo/BaseTool.ts +69 -0
  418. package/src/tools/argo/index.ts +6 -0
  419. package/src/tools/argocd/ArgoCDAppGetTool.ts +109 -0
  420. package/src/tools/argocd/ArgoCDAppHistoryTool.ts +91 -0
  421. package/src/tools/argocd/ArgoCDAppListTool.ts +144 -0
  422. package/src/tools/argocd/ArgoCDAppLogsTool.ts +162 -0
  423. package/src/tools/argocd/ArgoCDAppResourcesTool.ts +139 -0
  424. package/src/tools/argocd/BaseTool.ts +83 -0
  425. package/src/tools/argocd/index.ts +7 -0
  426. package/src/tools/helm/BaseTool.ts +60 -0
  427. package/src/tools/helm/HelmGetHooksTool.ts +44 -0
  428. package/src/tools/helm/HelmGetManifestTool.ts +44 -0
  429. package/src/tools/helm/HelmGetNotesTool.ts +44 -0
  430. package/src/tools/helm/HelmGetResourcesTool.ts +140 -0
  431. package/src/tools/helm/HelmGetValuesTool.ts +62 -0
  432. package/src/tools/helm/HelmHistoryTool.ts +56 -0
  433. package/src/tools/helm/HelmListTool.ts +107 -0
  434. package/src/tools/helm/HelmListWithResourcesTool.ts +194 -0
  435. package/src/tools/helm/HelmStatusTool.ts +62 -0
  436. package/src/tools/helm/index.ts +11 -0
  437. package/src/tools/kubernetes/BaseTool.ts +76 -0
  438. package/src/tools/kubernetes/GetConfigMapTool.ts +33 -0
  439. package/src/tools/kubernetes/GetContainerLogsTool.ts +140 -0
  440. package/src/tools/kubernetes/GetDeploymentsTool.ts +33 -0
  441. package/src/tools/kubernetes/GetEventsTool.ts +133 -0
  442. package/src/tools/kubernetes/GetIngressTool.ts +39 -0
  443. package/src/tools/kubernetes/GetMetricsTool.ts +53 -0
  444. package/src/tools/kubernetes/GetNamespacesTool.ts +36 -0
  445. package/src/tools/kubernetes/GetPersistentVolumeClaimsTool.ts +113 -0
  446. package/src/tools/kubernetes/GetPersistentVolumesTool.ts +107 -0
  447. package/src/tools/kubernetes/GetPodMetricsTool.ts +113 -0
  448. package/src/tools/kubernetes/GetPodsTool.ts +39 -0
  449. package/src/tools/kubernetes/GetResourceTool.ts +90 -0
  450. package/src/tools/kubernetes/GetSecretsTool.ts +55 -0
  451. package/src/tools/kubernetes/GetServicesTool.ts +39 -0
  452. package/src/tools/kubernetes/index.ts +16 -0
  453. package/src/utils/CliUtils.ts +207 -0
  454. package/tsconfig.json +36 -0
@@ -0,0 +1,382 @@
1
+ import * as k8s from '@kubernetes/client-node';
2
+ import { join } from 'path';
3
+ import { homedir } from 'os';
4
+ import { existsSync } from 'fs';
5
+ import { ResourceOperations } from './ResourceOperations.js';
6
+ /**
7
+ * Authentication method types
8
+ */
9
+ export var AuthMethod;
10
+ (function (AuthMethod) {
11
+ AuthMethod["KUBECONFIG"] = "kubeconfig";
12
+ AuthMethod["IN_CLUSTER"] = "in-cluster";
13
+ AuthMethod["TOKEN"] = "token";
14
+ })(AuthMethod || (AuthMethod = {}));
15
+ /**
16
+ * KubernetesClient provides a high-level interface for interacting with Kubernetes clusters
17
+ */
18
+ export class KubernetesClient {
19
+ config;
20
+ kc;
21
+ coreV1Api;
22
+ appsV1Api;
23
+ batchV1Api;
24
+ networkingV1Api;
25
+ authMethod;
26
+ logger;
27
+ _resources;
28
+ _customObjectsApi;
29
+ constructor(config = {}) {
30
+ this.config = config;
31
+ this.logger = config.logger;
32
+ this.kc = new k8s.KubeConfig();
33
+ this.authMethod = this.detectAuthMethod();
34
+ this.initializeClient();
35
+ this.config.skipTlsVerify = true;
36
+ this.initializeApiClients();
37
+ this._resources = new ResourceOperations(this);
38
+ }
39
+ /**
40
+ * Detect which authentication method to use based on configuration
41
+ */
42
+ detectAuthMethod() {
43
+ if (this.config.inCluster) {
44
+ return AuthMethod.IN_CLUSTER;
45
+ }
46
+ if (this.config.bearerToken && this.config.apiServerUrl) {
47
+ return AuthMethod.TOKEN;
48
+ }
49
+ return AuthMethod.KUBECONFIG;
50
+ }
51
+ /**
52
+ * Initialize the Kubernetes client based on the detected auth method
53
+ */
54
+ initializeClient() {
55
+ try {
56
+ switch (this.authMethod) {
57
+ case AuthMethod.IN_CLUSTER:
58
+ this.initializeInClusterConfig();
59
+ break;
60
+ case AuthMethod.TOKEN:
61
+ this.initializeTokenConfig();
62
+ break;
63
+ case AuthMethod.KUBECONFIG:
64
+ default:
65
+ this.initializeKubeConfig();
66
+ break;
67
+ }
68
+ this.logger?.info(`Kubernetes client initialized using ${this.authMethod} authentication`);
69
+ }
70
+ catch (error) {
71
+ const message = `Failed to initialize Kubernetes client: ${error instanceof Error ? error.message : String(error)}`;
72
+ this.logger?.error(message);
73
+ throw new Error(message);
74
+ }
75
+ }
76
+ /**
77
+ * Initialize using kubeconfig file
78
+ */
79
+ initializeKubeConfig() {
80
+ const kubeConfigPath = this.getKubeConfigPath();
81
+ if (!existsSync(kubeConfigPath)) {
82
+ throw new Error(`Kubeconfig file not found at: ${kubeConfigPath}`);
83
+ }
84
+ this.kc.loadFromFile(kubeConfigPath);
85
+ if (this.config.context) {
86
+ this.kc.setCurrentContext(this.config.context);
87
+ }
88
+ this.logger?.debug(`Loaded kubeconfig from: ${kubeConfigPath}`);
89
+ }
90
+ /**
91
+ * Initialize using in-cluster configuration
92
+ */
93
+ initializeInClusterConfig() {
94
+ this.kc.loadFromCluster();
95
+ this.logger?.debug('Loaded in-cluster configuration');
96
+ }
97
+ /**
98
+ * Initialize using bearer token
99
+ */
100
+ initializeTokenConfig() {
101
+ if (!this.config.bearerToken || !this.config.apiServerUrl) {
102
+ throw new Error('Bearer token and API server URL are required for token authentication');
103
+ }
104
+ const cluster = {
105
+ name: 'default',
106
+ server: this.config.apiServerUrl,
107
+ skipTLSVerify: this.config.skipTlsVerify || false,
108
+ };
109
+ const user = {
110
+ name: 'default',
111
+ token: this.config.bearerToken,
112
+ };
113
+ const context = {
114
+ name: 'default',
115
+ cluster: cluster.name,
116
+ user: user.name,
117
+ };
118
+ this.kc.loadFromOptions({
119
+ clusters: [cluster],
120
+ users: [user],
121
+ contexts: [context],
122
+ currentContext: context.name,
123
+ });
124
+ this.logger?.debug(`Configured token authentication for: ${this.config.apiServerUrl}`);
125
+ }
126
+ /**
127
+ * Get the path to the kubeconfig file
128
+ */
129
+ getKubeConfigPath() {
130
+ if (this.config.kubeConfigPath) {
131
+ return this.config.kubeConfigPath;
132
+ }
133
+ // Check KUBECONFIG environment variable
134
+ const kubeConfigEnv = process.env.KUBECONFIG;
135
+ if (kubeConfigEnv) {
136
+ // KUBECONFIG can contain multiple paths separated by :
137
+ const paths = kubeConfigEnv.split(':');
138
+ for (const path of paths) {
139
+ if (existsSync(path)) {
140
+ return path;
141
+ }
142
+ }
143
+ }
144
+ // Default location
145
+ return join(homedir(), '.kube', 'config');
146
+ }
147
+ /**
148
+ * Initialize API clients for different Kubernetes resources
149
+ */
150
+ initializeApiClients() {
151
+ this.coreV1Api = this.kc.makeApiClient(k8s.CoreV1Api);
152
+ this.appsV1Api = this.kc.makeApiClient(k8s.AppsV1Api);
153
+ this.batchV1Api = this.kc.makeApiClient(k8s.BatchV1Api);
154
+ this.networkingV1Api = this.kc.makeApiClient(k8s.NetworkingV1Api);
155
+ }
156
+ /**
157
+ * Get the current cluster information
158
+ */
159
+ getCurrentCluster() {
160
+ const currentContext = this.kc.getCurrentContext();
161
+ const contexts = this.kc.getContexts();
162
+ const context = contexts.find((c) => c.name === currentContext);
163
+ if (!context) {
164
+ return null;
165
+ }
166
+ const clusters = this.kc.getClusters();
167
+ return clusters.find((c) => c.name === context.cluster) || null;
168
+ }
169
+ /**
170
+ * Get the current context name
171
+ */
172
+ getCurrentContext() {
173
+ return this.kc.getCurrentContext();
174
+ }
175
+ /**
176
+ * Get all available contexts
177
+ */
178
+ getContexts() {
179
+ return this.kc.getContexts().map((ctx) => ctx.name);
180
+ }
181
+ /**
182
+ * Refresh the current context by reloading the kubeconfig file
183
+ * This ensures we always use the latest context when executing operations
184
+ */
185
+ async refreshCurrentContext() {
186
+ // Only refresh for kubeconfig-based authentication
187
+ if (this.authMethod !== AuthMethod.KUBECONFIG) {
188
+ this.logger?.debug('Skipping context refresh for non-kubeconfig authentication');
189
+ return;
190
+ }
191
+ try {
192
+ const kubeConfigPath = this.getKubeConfigPath();
193
+ if (!existsSync(kubeConfigPath)) {
194
+ this.logger?.warn(`Kubeconfig file not found at: ${kubeConfigPath} during refresh`);
195
+ return;
196
+ }
197
+ // Store the old context to detect changes
198
+ const oldContext = this.kc.getCurrentContext();
199
+ // Reload the kubeconfig file to get the latest context
200
+ this.kc.loadFromFile(kubeConfigPath);
201
+ const newContext = this.kc.getCurrentContext();
202
+ // If context changed, reinitialize API clients
203
+ if (oldContext !== newContext) {
204
+ this.initializeApiClients();
205
+ this.logger?.info(`Context changed from '${oldContext}' to '${newContext}' - API clients reinitialized`);
206
+ }
207
+ else {
208
+ this.logger?.debug(`Context unchanged: '${newContext}'`);
209
+ }
210
+ }
211
+ catch (error) {
212
+ this.logger?.error(`Failed to refresh current context: ${error instanceof Error ? error.message : String(error)}`);
213
+ // Don't throw - we'll continue with the existing context
214
+ }
215
+ }
216
+ /**
217
+ * Switch to a different context
218
+ */
219
+ async switchContext(contextName) {
220
+ const contexts = this.kc.getContexts();
221
+ const context = contexts.find((c) => c.name === contextName);
222
+ if (!context) {
223
+ throw new Error(`Context not found: ${contextName}`);
224
+ }
225
+ this.kc.setCurrentContext(contextName);
226
+ this.initializeApiClients();
227
+ this.logger?.info(`Switched to context: ${contextName}`);
228
+ }
229
+ /**
230
+ * Get the authentication method being used
231
+ */
232
+ getAuthMethod() {
233
+ return this.authMethod;
234
+ }
235
+ /**
236
+ * Test the connection to the Kubernetes API server
237
+ */
238
+ async testConnection() {
239
+ try {
240
+ await this.coreV1Api.listNamespace();
241
+ this.logger?.debug('Successfully connected to Kubernetes API server');
242
+ return true;
243
+ }
244
+ catch (error) {
245
+ this.logger?.error(`Failed to connect to Kubernetes API server: ${error}`);
246
+ return false;
247
+ }
248
+ }
249
+ /**
250
+ * Factory method to create a KubernetesClient from a kubeconfig file
251
+ */
252
+ static fromKubeConfig(kubeConfigPath, context, logger) {
253
+ return new KubernetesClient({
254
+ kubeConfigPath,
255
+ context,
256
+ logger,
257
+ });
258
+ }
259
+ /**
260
+ * Factory method to create a KubernetesClient for in-cluster use
261
+ */
262
+ static fromInCluster(logger) {
263
+ return new KubernetesClient({
264
+ inCluster: true,
265
+ logger,
266
+ });
267
+ }
268
+ /**
269
+ * Factory method to create a KubernetesClient using a bearer token
270
+ */
271
+ static fromToken(apiServerUrl, bearerToken, skipTlsVerify = false, logger) {
272
+ return new KubernetesClient({
273
+ apiServerUrl,
274
+ bearerToken,
275
+ skipTlsVerify,
276
+ logger,
277
+ });
278
+ }
279
+ // Getters for API clients
280
+ get core() {
281
+ return this.coreV1Api;
282
+ }
283
+ get apps() {
284
+ return this.appsV1Api;
285
+ }
286
+ get batch() {
287
+ return this.batchV1Api;
288
+ }
289
+ get networking() {
290
+ return this.networkingV1Api;
291
+ }
292
+ get kubeConfig() {
293
+ return this.kc;
294
+ }
295
+ /**
296
+ * Get resource operations for working with Kubernetes resources
297
+ */
298
+ get resources() {
299
+ return this._resources;
300
+ }
301
+ /**
302
+ * Returns a Kubernetes API client for the specified API constructor.
303
+ * This allows for accessing various Kubernetes APIs in a type-safe manner.
304
+ * @param apiClientConstructor The constructor of the API client to instantiate (e.g., k8s.CoreV1Api).
305
+ * It should conform to `new (config: Configuration) => T`.
306
+ * @returns An instance of the requested API client.
307
+ */
308
+ getGenericApiClient(apiClientConstructor) {
309
+ return this.kc.makeApiClient(apiClientConstructor);
310
+ }
311
+ /**
312
+ * Makes a generic GET request to the Kubernetes API server.
313
+ * This is useful for accessing API endpoints not covered by specific client APIs (e.g., custom resources or aggregated APIs like metrics.k8s.io).
314
+ * @param path The API path to request (e.g., '/apis/metrics.k8s.io/v1beta1/nodes').
315
+ * @returns A promise that resolves with the API response.
316
+ * @throws Will throw an error if the request fails.
317
+ */
318
+ async getRaw(path) {
319
+ this.logger?.debug(`Making authenticated raw request to: ${path}`);
320
+ try {
321
+ // Use the customObjects API as a workaround for raw requests
322
+ // Since metrics are served by the metrics-server through custom resources
323
+ if (path.includes('metrics.k8s.io')) {
324
+ const group = 'metrics.k8s.io';
325
+ const version = 'v1beta1';
326
+ if (path.includes('/nodes')) {
327
+ return (await this.customObjects.listClusterCustomObject({
328
+ group: group,
329
+ version: version,
330
+ plural: 'nodes',
331
+ }));
332
+ }
333
+ else if (path.includes('/pods')) {
334
+ // Handle namespaced vs cluster-wide pod metrics
335
+ const namespacedMatch = path.match(/\/namespaces\/([\w-]+)\/pods/);
336
+ if (namespacedMatch) {
337
+ const namespace = namespacedMatch[1];
338
+ return (await this.customObjects.listNamespacedCustomObject({
339
+ group: group,
340
+ version: version,
341
+ namespace: namespace,
342
+ plural: 'pods',
343
+ }));
344
+ }
345
+ else {
346
+ return (await this.customObjects.listClusterCustomObject({
347
+ group: group,
348
+ version: version,
349
+ plural: 'pods',
350
+ }));
351
+ }
352
+ }
353
+ }
354
+ // For non-metrics paths, throw an error explaining the limitation
355
+ throw new Error(`Raw requests are only supported for metrics.k8s.io API paths. Attempted path: ${path}`);
356
+ }
357
+ catch (error) {
358
+ this.logger?.error(`Error making raw request to ${path}: ${error.message}`);
359
+ // If it's a 403 error, provide more helpful debugging information
360
+ if (error.statusCode === 403 || (error.response && error.response.statusCode === 403)) {
361
+ this.logger?.error('Authentication failed - check that your kubeconfig is valid and you have the necessary permissions');
362
+ this.logger?.error('If using exec-based auth, ensure the authentication plugin is properly configured');
363
+ }
364
+ throw error;
365
+ }
366
+ }
367
+ get customObjects() {
368
+ if (!this._customObjectsApi) {
369
+ this._customObjectsApi = this.kc.makeApiClient(k8s.CustomObjectsApi);
370
+ }
371
+ return this._customObjectsApi;
372
+ }
373
+ /**
374
+ * Sets whether to skip TLS verification for API requests
375
+ * @param skip True to skip TLS verification, false otherwise
376
+ */
377
+ setSkipTlsVerify(skip) {
378
+ this.config.skipTlsVerify = skip;
379
+ this.logger?.debug(`TLS verification set to: ${!skip}`);
380
+ }
381
+ }
382
+ //# sourceMappingURL=KubernetesClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KubernetesClient.js","sourceRoot":"","sources":["../../../src/kubernetes/KubernetesClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import * as k8s from '@kubernetes/client-node';
2
+ import { KubernetesClient } from './KubernetesClient.js';
3
+ import { PodOperations } from './resources/PodOperations.js';
4
+ import { ServiceOperations } from './resources/ServiceOperations.js';
5
+ import { DeploymentOperations } from './resources/DeploymentOperations.js';
6
+ import { ConfigMapOperations } from './resources/ConfigMapOperations.js';
7
+ import { SecretOperations } from './resources/SecretOperations.js';
8
+ import { CustomResourceOperations } from './resources/CustomResourceOperations.js';
9
+ import { NamespaceOperations } from './resources/NamespaceOperations.js';
10
+ import { PersistentVolumeOperations } from './resources/PersistentVolumeOperations.js';
11
+ import { PersistentVolumeClaimOperations } from './resources/PersistentVolumeClaimOperations.js';
12
+ import { IngressOperations } from './resources/IngressOperations.js';
13
+ /**
14
+ * Resource operations manager
15
+ */
16
+ export declare class ResourceOperations {
17
+ private client;
18
+ private pods;
19
+ private services;
20
+ private deployments;
21
+ private configMaps;
22
+ private secrets;
23
+ private namespaces;
24
+ private persistentVolumesOps;
25
+ private persistentVolumeClaimsOps;
26
+ private ingresses;
27
+ constructor(client: KubernetesClient);
28
+ /**
29
+ * Get pod operations
30
+ */
31
+ get pod(): PodOperations;
32
+ /**
33
+ * Get service operations
34
+ */
35
+ get service(): ServiceOperations;
36
+ /**
37
+ * Get deployment operations
38
+ */
39
+ get deployment(): DeploymentOperations;
40
+ /**
41
+ * Get configMap operations
42
+ */
43
+ get configMap(): ConfigMapOperations;
44
+ /**
45
+ * Get secret operations
46
+ */
47
+ get secret(): SecretOperations;
48
+ /**
49
+ * Get namespace operations
50
+ */
51
+ get namespace(): NamespaceOperations;
52
+ /**
53
+ * Get persistent volume operations
54
+ */
55
+ get persistentVolumes(): PersistentVolumeOperations;
56
+ /**
57
+ * Get persistent volume claim operations
58
+ */
59
+ get persistentVolumeClaims(): PersistentVolumeClaimOperations;
60
+ /**
61
+ * Get ingress operations
62
+ */
63
+ get ingress(): IngressOperations;
64
+ /**
65
+ * Create a custom resource operations instance
66
+ */
67
+ custom<T extends k8s.KubernetesObject>(group: string, version: string, plural: string, namespaced?: boolean): CustomResourceOperations<T>;
68
+ }
69
+ //# sourceMappingURL=ResourceOperations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceOperations.d.ts","sourceRoot":"","sources":["../../../src/kubernetes/ResourceOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE;;GAEG;AACH,qBAAa,kBAAkB;IAWjB,OAAO,CAAC,MAAM;IAV1B,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,yBAAyB,CAAkC;IACnE,OAAO,CAAC,SAAS,CAAoB;gBAEjB,MAAM,EAAE,gBAAgB;IAY5C;;OAEG;IACH,IAAW,GAAG,IAAI,aAAa,CAE9B;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,iBAAiB,CAEtC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,oBAAoB,CAE5C;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,mBAAmB,CAE1C;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,gBAAgB,CAEpC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,mBAAmB,CAE1C;IAED;;OAEG;IACH,IAAW,iBAAiB,IAAI,0BAA0B,CAEzD;IAED;;OAEG;IACH,IAAW,sBAAsB,IAAI,+BAA+B,CAEnE;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,iBAAiB,CAEtC;IAED;;OAEG;IACI,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,gBAAgB,EAC1C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,UAAO,GAChB,wBAAwB,CAAC,CAAC,CAAC;CAG/B"}
@@ -0,0 +1,99 @@
1
+ // Import resource-specific operations
2
+ import { PodOperations } from './resources/PodOperations.js';
3
+ import { ServiceOperations } from './resources/ServiceOperations.js';
4
+ import { DeploymentOperations } from './resources/DeploymentOperations.js';
5
+ import { ConfigMapOperations } from './resources/ConfigMapOperations.js';
6
+ import { SecretOperations } from './resources/SecretOperations.js';
7
+ import { CustomResourceOperations } from './resources/CustomResourceOperations.js';
8
+ import { NamespaceOperations } from './resources/NamespaceOperations.js';
9
+ import { PersistentVolumeOperations } from './resources/PersistentVolumeOperations.js';
10
+ import { PersistentVolumeClaimOperations } from './resources/PersistentVolumeClaimOperations.js';
11
+ import { IngressOperations } from './resources/IngressOperations.js';
12
+ /**
13
+ * Resource operations manager
14
+ */
15
+ export class ResourceOperations {
16
+ client;
17
+ pods;
18
+ services;
19
+ deployments;
20
+ configMaps;
21
+ secrets;
22
+ namespaces;
23
+ persistentVolumesOps;
24
+ persistentVolumeClaimsOps;
25
+ ingresses;
26
+ constructor(client) {
27
+ this.client = client;
28
+ this.pods = new PodOperations(client);
29
+ this.services = new ServiceOperations(client);
30
+ this.deployments = new DeploymentOperations(client);
31
+ this.configMaps = new ConfigMapOperations(client);
32
+ this.secrets = new SecretOperations(client);
33
+ this.namespaces = new NamespaceOperations(client);
34
+ this.persistentVolumesOps = new PersistentVolumeOperations(client);
35
+ this.persistentVolumeClaimsOps = new PersistentVolumeClaimOperations(client);
36
+ this.ingresses = new IngressOperations(client);
37
+ }
38
+ /**
39
+ * Get pod operations
40
+ */
41
+ get pod() {
42
+ return this.pods;
43
+ }
44
+ /**
45
+ * Get service operations
46
+ */
47
+ get service() {
48
+ return this.services;
49
+ }
50
+ /**
51
+ * Get deployment operations
52
+ */
53
+ get deployment() {
54
+ return this.deployments;
55
+ }
56
+ /**
57
+ * Get configMap operations
58
+ */
59
+ get configMap() {
60
+ return this.configMaps;
61
+ }
62
+ /**
63
+ * Get secret operations
64
+ */
65
+ get secret() {
66
+ return this.secrets;
67
+ }
68
+ /**
69
+ * Get namespace operations
70
+ */
71
+ get namespace() {
72
+ return this.namespaces;
73
+ }
74
+ /**
75
+ * Get persistent volume operations
76
+ */
77
+ get persistentVolumes() {
78
+ return this.persistentVolumesOps;
79
+ }
80
+ /**
81
+ * Get persistent volume claim operations
82
+ */
83
+ get persistentVolumeClaims() {
84
+ return this.persistentVolumeClaimsOps;
85
+ }
86
+ /**
87
+ * Get ingress operations
88
+ */
89
+ get ingress() {
90
+ return this.ingresses;
91
+ }
92
+ /**
93
+ * Create a custom resource operations instance
94
+ */
95
+ custom(group, version, plural, namespaced = true) {
96
+ return new CustomResourceOperations(this.client, group, version, plural, namespaced);
97
+ }
98
+ }
99
+ //# sourceMappingURL=ResourceOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceOperations.js","sourceRoot":"","sources":["../../../src/kubernetes/ResourceOperations.ts"],"names":[],"mappings":"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"}