Documentation
¶
Index ¶
- type BuildToolsetHandler
- type ClusterPlaneHandler
- type ComponentToolsetHandler
- type DeploymentToolsetHandler
- type InfrastructureToolsetHandler
- type NamespaceToolsetHandler
- type ProjectToolsetHandler
- type RegisterFunc
- type ResourceToolsetHandler
- type SchemaToolsetHandler
- type ToolsetType
- type Toolsets
- func (t *Toolsets) Register(s *mcp.Server)
- func (t *Toolsets) RegisterApplyResource(s *mcp.Server)
- func (t *Toolsets) RegisterCreateClusterDataPlane(s *mcp.Server)
- func (t *Toolsets) RegisterCreateComponent(s *mcp.Server)
- func (t *Toolsets) RegisterCreateComponentRelease(s *mcp.Server)
- func (t *Toolsets) RegisterCreateDataPlane(s *mcp.Server)
- func (t *Toolsets) RegisterCreateEnvironment(s *mcp.Server)
- func (t *Toolsets) RegisterCreateNamespace(s *mcp.Server)
- func (t *Toolsets) RegisterCreateProject(s *mcp.Server)
- func (t *Toolsets) RegisterCreateWorkload(s *mcp.Server)
- func (t *Toolsets) RegisterDeleteResource(s *mcp.Server)
- func (t *Toolsets) RegisterDeployRelease(s *mcp.Server)
- func (t *Toolsets) RegisterExplainSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetBuildObserverURL(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterDataPlane(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponent(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentObserverURL(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentRelease(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentReleaseSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentTypeSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentWorkflowSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentWorkflowSchemaOrgLevel(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentWorkloads(s *mcp.Server)
- func (t *Toolsets) RegisterGetDataPlane(s *mcp.Server)
- func (t *Toolsets) RegisterGetDeploymentPipeline(s *mcp.Server)
- func (t *Toolsets) RegisterGetEnvironmentRelease(s *mcp.Server)
- func (t *Toolsets) RegisterGetEnvironments(s *mcp.Server)
- func (t *Toolsets) RegisterGetNamespace(s *mcp.Server)
- func (t *Toolsets) RegisterGetProject(s *mcp.Server)
- func (t *Toolsets) RegisterGetResource(s *mcp.Server)
- func (t *Toolsets) RegisterGetTraitSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetWorkflowSchema(s *mcp.Server)
- func (t *Toolsets) RegisterListBuildPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListBuildTemplates(s *mcp.Server)
- func (t *Toolsets) RegisterListBuilds(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterBuildPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterDataPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterObservabilityPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListComponentReleases(s *mcp.Server)
- func (t *Toolsets) RegisterListComponentTraits(s *mcp.Server)
- func (t *Toolsets) RegisterListComponentTypes(s *mcp.Server)
- func (t *Toolsets) RegisterListComponentWorkflowRuns(s *mcp.Server)
- func (t *Toolsets) RegisterListComponentWorkflows(s *mcp.Server)
- func (t *Toolsets) RegisterListComponentWorkflowsOrgLevel(s *mcp.Server)
- func (t *Toolsets) RegisterListComponents(s *mcp.Server)
- func (t *Toolsets) RegisterListDataPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListEnvironments(s *mcp.Server)
- func (t *Toolsets) RegisterListNamespaces(s *mcp.Server)
- func (t *Toolsets) RegisterListObservabilityPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListProjects(s *mcp.Server)
- func (t *Toolsets) RegisterListReleaseBindings(s *mcp.Server)
- func (t *Toolsets) RegisterListSecretReferences(s *mcp.Server)
- func (t *Toolsets) RegisterListTraits(s *mcp.Server)
- func (t *Toolsets) RegisterListWorkflows(s *mcp.Server)
- func (t *Toolsets) RegisterPatchComponent(s *mcp.Server)
- func (t *Toolsets) RegisterPatchReleaseBinding(s *mcp.Server)
- func (t *Toolsets) RegisterPromoteComponent(s *mcp.Server)
- func (t *Toolsets) RegisterTriggerBuild(s *mcp.Server)
- func (t *Toolsets) RegisterTriggerComponentWorkflow(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateComponentBinding(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateComponentTraits(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateComponentWorkflowSchema(s *mcp.Server)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuildToolsetHandler ¶
type BuildToolsetHandler interface {
ListBuildTemplates(ctx context.Context, namespaceName string) (any, error)
TriggerBuild(ctx context.Context, namespaceName, projectName, componentName, commit string) (any, error)
ListBuilds(ctx context.Context, namespaceName, projectName, componentName string) (any, error)
GetBuildObserverURL(ctx context.Context, namespaceName, projectName, componentName string) (any, error)
ListBuildPlanes(ctx context.Context, namespaceName string) (any, error)
}
BuildToolsetHandler handles build operations
type ClusterPlaneHandler ¶ added in v0.15.0
type ClusterPlaneHandler interface {
// ClusterDataPlane operations
ListClusterDataPlanes(ctx context.Context) (any, error)
GetClusterDataPlane(ctx context.Context, cdpName string) (any, error)
CreateClusterDataPlane(ctx context.Context, req *models.CreateClusterDataPlaneRequest) (any, error)
// ClusterBuildPlane operations
ListClusterBuildPlanes(ctx context.Context) (any, error)
// ClusterObservabilityPlane operations
ListClusterObservabilityPlanes(ctx context.Context) (any, error)
}
ClusterPlaneHandler is an optional extension of InfrastructureToolsetHandler for cluster-scoped plane operations. Handlers that implement this interface alongside InfrastructureToolsetHandler will have cluster-plane MCP tools registered automatically. If the InfrastructureToolset does not implement ClusterPlaneHandler, the cluster-plane tools are silently skipped.
type ComponentToolsetHandler ¶
type ComponentToolsetHandler interface {
CreateComponent(
ctx context.Context, namespaceName, projectName string, req *models.CreateComponentRequest,
) (any, error)
ListComponents(ctx context.Context, namespaceName, projectName string) (any, error)
GetComponent(
ctx context.Context, namespaceName, projectName, componentName string, additionalResources []string,
) (any, error)
UpdateComponentBinding(
ctx context.Context, namespaceName, projectName, componentName, bindingName string,
req *models.UpdateBindingRequest,
) (any, error)
GetComponentWorkloads(ctx context.Context, namespaceName, projectName, componentName string) (any, error)
// Component release operations
ListComponentReleases(ctx context.Context, namespaceName, projectName, componentName string) (any, error)
CreateComponentRelease(ctx context.Context, namespaceName, projectName, componentName, releaseName string) (any, error)
GetComponentRelease(ctx context.Context, namespaceName, projectName, componentName, releaseName string) (any, error)
// Release binding operations
ListReleaseBindings(
ctx context.Context, namespaceName, projectName, componentName string, environments []string,
) (any, error)
PatchReleaseBinding(
ctx context.Context, namespaceName, projectName, componentName, bindingName string,
req *models.PatchReleaseBindingRequest,
) (any, error)
// Deployment operations
DeployRelease(
ctx context.Context, namespaceName, projectName, componentName string, req *models.DeployReleaseRequest,
) (any, error)
PromoteComponent(
ctx context.Context, namespaceName, projectName, componentName string, req *models.PromoteComponentRequest,
) (any, error)
// Workload operations
CreateWorkload(
ctx context.Context, namespaceName, projectName, componentName string, workloadSpec interface{},
) (any, error)
// Schema operations
GetComponentSchema(ctx context.Context, namespaceName, projectName, componentName string) (any, error)
GetComponentReleaseSchema(
ctx context.Context, namespaceName, projectName, componentName, releaseName string,
) (any, error)
// Trait operations
ListComponentTraits(ctx context.Context, namespaceName, projectName, componentName string) (any, error)
UpdateComponentTraits(
ctx context.Context, namespaceName, projectName, componentName string, req *models.UpdateComponentTraitsRequest,
) (any, error)
// Release operations
GetEnvironmentRelease(
ctx context.Context, namespaceName, projectName, componentName, environmentName string,
) (any, error)
// Component patch operations
PatchComponent(
ctx context.Context, namespaceName, projectName, componentName string, req *models.PatchComponentRequest,
) (any, error)
// Component workflow operations
ListComponentWorkflows(ctx context.Context, namespaceName string) (any, error)
GetComponentWorkflowSchema(ctx context.Context, namespaceName, cwName string) (any, error)
TriggerComponentWorkflow(ctx context.Context, namespaceName, projectName, componentName, commit string) (any, error)
ListComponentWorkflowRuns(ctx context.Context, namespaceName, projectName, componentName string) (any, error)
UpdateComponentWorkflowSchema(
ctx context.Context, namespaceName, projectName, componentName string,
req *models.UpdateComponentWorkflowRequest,
) (any, error)
}
ComponentToolsetHandler handles component operations
type DeploymentToolsetHandler ¶
type DeploymentToolsetHandler interface {
GetProjectDeploymentPipeline(ctx context.Context, namespaceName, projectName string) (any, error)
GetComponentObserverURL(
ctx context.Context, namespaceName, projectName, componentName, environmentName string,
) (any, error)
}
DeploymentToolsetHandler handles deployment operations
type InfrastructureToolsetHandler ¶
type InfrastructureToolsetHandler interface {
// Environment operations
ListEnvironments(ctx context.Context, namespaceName string) (any, error)
GetEnvironment(ctx context.Context, namespaceName, envName string) (any, error)
CreateEnvironment(ctx context.Context, namespaceName string, req *models.CreateEnvironmentRequest) (any, error)
// DataPlane operations
ListDataPlanes(ctx context.Context, namespaceName string) (any, error)
GetDataPlane(ctx context.Context, namespaceName, dpName string) (any, error)
CreateDataPlane(ctx context.Context, namespaceName string, req *models.CreateDataPlaneRequest) (any, error)
// ComponentType operations
ListComponentTypes(ctx context.Context, namespaceName string) (any, error)
GetComponentTypeSchema(ctx context.Context, namespaceName, ctName string) (any, error)
// Workflow operations
ListWorkflows(ctx context.Context, namespaceName string) (any, error)
GetWorkflowSchema(ctx context.Context, namespaceName, workflowName string) (any, error)
// Trait operations
ListTraits(ctx context.Context, namespaceName string) (any, error)
GetTraitSchema(ctx context.Context, namespaceName, traitName string) (any, error)
// ObservabilityPlane operations
ListObservabilityPlanes(ctx context.Context, namespaceName string) (any, error)
// ComponentWorkflow operations (namespace-level)
ListComponentWorkflows(ctx context.Context, namespaceName string) (any, error)
GetComponentWorkflowSchema(ctx context.Context, namespaceName, cwName string) (any, error)
}
InfrastructureToolsetHandler handles infrastructure operations
type NamespaceToolsetHandler ¶ added in v0.13.0
type NamespaceToolsetHandler interface {
GetNamespace(ctx context.Context, name string) (any, error)
ListNamespaces(ctx context.Context) (any, error)
CreateNamespace(ctx context.Context, req *models.CreateNamespaceRequest) (any, error)
ListSecretReferences(ctx context.Context, namespaceName string) (any, error)
}
NamespaceToolsetHandler handles namespace operations
type ProjectToolsetHandler ¶
type ProjectToolsetHandler interface {
// Project operations
ListProjects(ctx context.Context, namespaceName string) (any, error)
GetProject(ctx context.Context, namespaceName, projectName string) (any, error)
CreateProject(ctx context.Context, namespaceName string, req *models.CreateProjectRequest) (any, error)
}
ProjectToolsetHandler handles project operations
type RegisterFunc ¶
RegisterFunc is a function type for registering MCP tools
type ResourceToolsetHandler ¶
type ResourceToolsetHandler interface {
ApplyResource(ctx context.Context, resource map[string]interface{}) (any, error)
DeleteResource(ctx context.Context, resource map[string]interface{}) (any, error)
GetResource(ctx context.Context, namespaceName, kind, resourceName string) (any, error)
}
ResourceToolsetHandler handles kubectl-like resource operations (apply/delete/get)
type SchemaToolsetHandler ¶
type SchemaToolsetHandler interface {
ExplainSchema(ctx context.Context, kind, path string) (any, error)
}
SchemaToolsetHandler handles schema and resource explanation operations
type ToolsetType ¶
type ToolsetType string
ToolsetType represents a type of toolset that can be enabled
const ( ToolsetNamespace ToolsetType = "namespace" ToolsetProject ToolsetType = "project" ToolsetComponent ToolsetType = "component" ToolsetBuild ToolsetType = "build" ToolsetDeployment ToolsetType = "deployment" ToolsetInfrastructure ToolsetType = "infrastructure" ToolsetSchema ToolsetType = "schema" ToolsetResource ToolsetType = "resource" )
type Toolsets ¶
type Toolsets struct {
NamespaceToolset NamespaceToolsetHandler
ProjectToolset ProjectToolsetHandler
ComponentToolset ComponentToolsetHandler
BuildToolset BuildToolsetHandler
DeploymentToolset DeploymentToolsetHandler
InfrastructureToolset InfrastructureToolsetHandler
SchemaToolset SchemaToolsetHandler
ResourceToolset ResourceToolsetHandler
}
func (*Toolsets) RegisterApplyResource ¶
func (*Toolsets) RegisterCreateClusterDataPlane ¶ added in v0.15.0
func (*Toolsets) RegisterCreateComponent ¶
func (*Toolsets) RegisterCreateComponentRelease ¶
func (*Toolsets) RegisterCreateDataPlane ¶
func (*Toolsets) RegisterCreateEnvironment ¶
func (*Toolsets) RegisterCreateNamespace ¶ added in v0.13.0
func (*Toolsets) RegisterCreateProject ¶
func (*Toolsets) RegisterCreateWorkload ¶
func (*Toolsets) RegisterDeleteResource ¶
func (*Toolsets) RegisterDeployRelease ¶
func (*Toolsets) RegisterExplainSchema ¶
func (*Toolsets) RegisterGetBuildObserverURL ¶
func (*Toolsets) RegisterGetClusterDataPlane ¶ added in v0.15.0
RegisterGetClusterDataPlane registers the "get_cluster_dataplane" MCP tool which returns detailed information about a specific cluster-scoped data plane including cluster details, capacity, health status, and network configuration. Requires a "cdp_name" parameter (discoverable via list_cluster_dataplanes). Only registered when InfrastructureToolset also implements ClusterPlaneHandler; otherwise it is a no-op. Added in v0.12.0 (non-breaking, additive).
func (*Toolsets) RegisterGetComponent ¶
func (*Toolsets) RegisterGetComponentObserverURL ¶
func (*Toolsets) RegisterGetComponentRelease ¶
func (*Toolsets) RegisterGetComponentReleaseSchema ¶
func (*Toolsets) RegisterGetComponentSchema ¶
func (*Toolsets) RegisterGetComponentTypeSchema ¶
func (*Toolsets) RegisterGetComponentWorkflowSchema ¶ added in v0.9.0
func (*Toolsets) RegisterGetComponentWorkflowSchemaOrgLevel ¶ added in v0.9.0
func (*Toolsets) RegisterGetComponentWorkloads ¶
func (*Toolsets) RegisterGetDataPlane ¶
func (*Toolsets) RegisterGetDeploymentPipeline ¶
func (*Toolsets) RegisterGetEnvironmentRelease ¶ added in v0.9.0
func (*Toolsets) RegisterGetEnvironments ¶
func (*Toolsets) RegisterGetNamespace ¶ added in v0.13.0
func (*Toolsets) RegisterGetProject ¶
func (*Toolsets) RegisterGetResource ¶ added in v0.15.0
RegisterGetResource registers the get_resource MCP tool. TODO: cleanup when the upstream endpoint is deprecated.
func (*Toolsets) RegisterGetTraitSchema ¶
func (*Toolsets) RegisterGetWorkflowSchema ¶
func (*Toolsets) RegisterListBuildPlanes ¶
func (*Toolsets) RegisterListBuildTemplates ¶
func (*Toolsets) RegisterListBuilds ¶
func (*Toolsets) RegisterListClusterBuildPlanes ¶ added in v0.15.0
func (*Toolsets) RegisterListClusterDataPlanes ¶ added in v0.15.0
RegisterListClusterDataPlanes registers the "list_cluster_dataplanes" MCP tool which lists all cluster-scoped data planes (shared infrastructure managed by platform admins, not scoped to any namespace). This tool is only registered when InfrastructureToolset also implements ClusterPlaneHandler; otherwise it is a no-op. Added in v0.12.0 (non-breaking, additive).