Skip to content

feat: add storage, RBAC, and custom resource tools#129

Merged
basebandit merged 1 commit into
mainfrom
feat/storage-rbac-crd
Jun 11, 2026
Merged

feat: add storage, RBAC, and custom resource tools#129
basebandit merged 1 commit into
mainfrom
feat/storage-rbac-crd

Conversation

@basebandit

Copy link
Copy Markdown
Owner

Summary

  • Storage (8 tools): list/get/delete PersistentVolumes; create/list/get/delete PersistentVolumeClaims; list/get
    StorageClasses. Adds PVCParams to types.go.
  • RBAC (10 tools, read-only): list/get for Roles, RoleBindings, ClusterRoles, ClusterRoleBindings, ServiceAccounts.
  • Custom resources (5 tools): list/get CRDs, generic list/get of custom resources by group/version/resource via the
    dynamic client, and list_api_resources for API discovery.

Why

The roadmap listed Storage, RBAC, Custom Resources, and API Discovery as unimplemented. Operators running Kai in-cluster
could not inspect volumes, audit RBAC, or work with CRDs — the core gaps blocking a complete cluster-management story.
This lands those resource types using the existing 6-touchpoint tool pattern (post-#123 mcp-go v0.52 API), with MCP
annotations (ReadOnlyHint for list/get, DestructiveHint for delete) so clients can reason about tool safety.

Test plan

  • go build ./...
  • go vet ./...
  • go test -race ./... (cluster + tools green; new-code coverage ~86%)
  • Manual: smoke against kind/minikube via MCP client

@basebandit basebandit force-pushed the feat/storage-rbac-crd branch from 983ab8d to bcdd50a Compare June 11, 2026 12:28
@sonarqubecloud

Copy link
Copy Markdown

@basebandit basebandit merged commit 49584dd into main Jun 11, 2026
9 checks passed
@basebandit basebandit deleted the feat/storage-rbac-crd branch June 11, 2026 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant