Commit Graph

18 Commits

Author SHA1 Message Date
Marc Nuri
cad863ff22 fix(migration): rebranded from manusa/kubernetes-mcp-server to containers/kubernetes-mcp-server (#202)
Signed-off-by: Marc Nuri <marc@marcnuri.com>
2025-07-25 09:53:04 +02:00
Marc Nuri
3fbfd8d7cb fix(lint): add golangci-lint make target + lint
Signed-off-by: Marc Nuri <marc@marcnuri.com>
2025-07-22 14:22:19 +02:00
Marc Nuri
e4a8f604a1 test:fix: age expectation regex for minutes-no-seconds (42m)
Signed-off-by: Marc Nuri <marc@marcnuri.com>
2025-07-17 07:27:59 +02:00
Marc Nuri
af2a8cd19d feat(config): deny resources by using RESTMapper as an interceptor (149)
feat(config): deny resources by using RESTMapper as an interceptor

This approach ensures that resources in the deny list are **always**
processed regardless of the implementation.

The RESTMapper takes care of verifying that the requested Group Version Kind
complies with the deny list while checking for the REST endpoint.
---
feat(config): provide a limited clientset which check access
---
review: addressed PR comments
---
feat(config): provide a limited metrics clientset to check access
---
review: addressed PR comments regarding pods_exec
2025-07-01 14:44:22 +02:00
Marc Nuri
1968652aca test(config): extensive test suite for denied lists 2025-06-23 13:09:02 +02:00
Arda Güçlü
754da19d81 feat(config): introduce toml configuration file with a set of deny list 2025-06-19 13:41:47 +02:00
Marc Nuri
25608daf4a fix(kubernetes): remove unneeded CacheInvalidate() method (127)
fix(kubernetes): remove unneeded CacheInvalidate() method
---
test(output): improve age regex
---
test(kubernetes): remove unneeded CacheInvalidate() method (mutex lock)
---
test(kubernetes): split TestPodsTop to avoid discovery client cache issues
2025-06-18 12:51:09 +02:00
Marc Nuri
54d3726620 test(output): additional tests for --list-output=table 2025-06-12 13:57:50 +02:00
Marc Nuri
3753f98ecc feat: added tool annotations 2025-05-21 10:53:31 +02:00
Eran Cohen
2994699504 feat: add label selectors to listing tools
This PR introduces the ability to filter Kubernetes resources by label using a labelSelector parameter for the following tools:

 * pods_list
 * pods_list_in_namespace
 * resources_list

This enhancement allows users to retrieve a more specific set of resources based on their labels, improving the flexibility and utility of these tools.

The labelSelector parameter accepts standard Kubernetes label selector syntax, such as app=myapp,env=prod or app in (myapp,yourapp).

Signed-off-by: Eran Cohen <eranco@redhat.com>
2025-05-20 16:34:53 +02:00
Marc Nuri
7b129281f4 deps: bump github.com/mark3labs/mcp-go from v0.8.5 to v0.11.2 2025-03-07 09:44:02 +01:00
Marc Nuri
99ec862739 feat: resource creation returns success message as YAML content 2025-02-26 11:36:48 +01:00
Marc Nuri
e6ab757915 feat(kubernetes): pods_run creates OpenShift routes 2025-02-18 05:34:27 +01:00
Marc Nuri
5be9852fb7 feat(kubernetes): pods_run can get any resource in the cluster 2025-02-17 15:15:05 +01:00
Marc Nuri
a8bb7c01a7 feat(kubernetes): resources_delete can get any resource in the cluster 2025-02-17 13:17:48 +01:00
Marc Nuri
3ea23f3d61 feat(kubernetes): resources_get can get any resource in the cluster 2025-02-17 12:49:27 +01:00
Marc Nuri
b91f948cb4 feat(kubernetes): resources_list can list any resource in the cluster 2025-02-17 12:29:04 +01:00
Marc Nuri
6ae9247bae feat(kubernetes): resources_create_or_update can create or update any kind of resource 2025-02-17 12:05:59 +01:00