Skip to main content
Glama
callbacks.go2.05 kB
package callbacks import ( "github.com/weibaohui/kom/kom" "k8s.io/klog/v2" ) func RegisterInit() { klog.V(4).Infof("RegisterInit") kom.Clusters().SetRegisterCallbackFunc(RegisterDefaultCallbacks) klog.V(4).Infof("Register RegisterDefaultCallbacks func to clusters") } func init() { RegisterInit() } // RegisterDefaultCallbacks 为指定的集群实例注册一组默认的 Kubernetes 操作回调,包括资源的查询、列表、监控、创建、更新、补丁、删除、命令执行、流式命令执行、端口转发、日志获取和资源描述等操作。 // 返回一个空的清理函数。 func RegisterDefaultCallbacks(c *kom.ClusterInst) func() { klog.V(4).Infof("RegisterDefaultCallbacks for cluster %s", c.ID) // 为每一个集群进行注册 k := c.Kubectl queryCallback := k.Callback().Get() _ = queryCallback.Register("kom:get", Get) listCallback := k.Callback().List() _ = listCallback.Register("kom:list", List) watchCallback := k.Callback().Watch() _ = watchCallback.Register("kom:watch", Watch) createCallback := k.Callback().Create() _ = createCallback.Register("kom:create", Create) updateCallback := k.Callback().Update() _ = updateCallback.Register("kom:update", Update) patchCallback := k.Callback().Patch() _ = patchCallback.Register("kom:patch", Patch) deleteCallback := k.Callback().Delete() _ = deleteCallback.Register("kom:delete", Delete) execCallback := k.Callback().Exec() _ = execCallback.Register("kom:pod:exec", ExecuteCommand) streamExecCallback := k.Callback().StreamExec() _ = streamExecCallback.Register("kom:pod:stream:exec", StreamExecuteCommand) portForwardCallback := k.Callback().PortForward() _ = portForwardCallback.Register("kom:pod:port:forward", PortForward) logsCallback := k.Callback().Logs() _ = logsCallback.Register("kom:pod:logs", GetLogs) describeCallback := k.Callback().Describe() _ = describeCallback.Register("kom:describe", Describe) docCallback := k.Callback().Doc() _ = docCallback.Register("kom:doc", Doc) return nil }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/weibaohui/kom'

If you have feedback or need assistance with the MCP directory API, please join our Discord server