Documentation
¶
Index ¶
- Constants
- func ClusterComponentTypeCreationSchema() (map[string]any, error)
- func ComponentTypeCreationSchema() (map[string]any, error)
- func TraitCreationSchema() (map[string]any, error)
- type BuildToolsetHandler
- type ComponentToolsetHandler
- type DeploymentToolsetHandler
- type ListOpts
- type NamespaceToolsetHandler
- type PEToolsetHandler
- type ProjectToolsetHandler
- type RegisterFunc
- type ToolsetType
- type Toolsets
- func (t *Toolsets) Register(s *mcp.Server)
- func (t *Toolsets) RegisterCreateClusterComponentType(s *mcp.Server)
- func (t *Toolsets) RegisterCreateClusterTrait(s *mcp.Server)
- func (t *Toolsets) RegisterCreateClusterWorkflow(s *mcp.Server)
- func (t *Toolsets) RegisterCreateComponent(s *mcp.Server)
- func (t *Toolsets) RegisterCreateComponentType(s *mcp.Server)
- func (t *Toolsets) RegisterCreateDeploymentPipeline(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) RegisterCreateReleaseBinding(s *mcp.Server)
- func (t *Toolsets) RegisterCreateTrait(s *mcp.Server)
- func (t *Toolsets) RegisterCreateWorkflowRun(s *mcp.Server)
- func (t *Toolsets) RegisterCreateWorkload(s *mcp.Server)
- func (t *Toolsets) RegisterDeleteClusterComponentType(s *mcp.Server)
- func (t *Toolsets) RegisterDeleteClusterTrait(s *mcp.Server)
- func (t *Toolsets) RegisterDeleteClusterWorkflow(s *mcp.Server)
- func (t *Toolsets) RegisterDeleteComponentType(s *mcp.Server)
- func (t *Toolsets) RegisterDeleteDeploymentPipeline(s *mcp.Server)
- func (t *Toolsets) RegisterDeleteEnvironment(s *mcp.Server)
- func (t *Toolsets) RegisterDeleteTrait(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterComponentType(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterComponentTypeCreationSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterComponentTypeSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterDataPlane(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterObservabilityPlane(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterTrait(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterTraitSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterWorkflow(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterWorkflowPlane(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterWorkflowSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponent(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentTypeCreationSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentTypeSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetDataPlane(s *mcp.Server)
- func (t *Toolsets) RegisterGetDeploymentPipeline(s *mcp.Server)
- func (t *Toolsets) RegisterGetObservabilityPlane(s *mcp.Server)
- func (t *Toolsets) RegisterGetReleaseBinding(s *mcp.Server)
- func (t *Toolsets) RegisterGetResourceEvents(s *mcp.Server)
- func (t *Toolsets) RegisterGetResourceLogs(s *mcp.Server)
- func (t *Toolsets) RegisterGetTraitCreationSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetTraitSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetWorkflowPlane(s *mcp.Server)
- func (t *Toolsets) RegisterGetWorkflowRun(s *mcp.Server)
- func (t *Toolsets) RegisterGetWorkflowSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetWorkload(s *mcp.Server)
- func (t *Toolsets) RegisterGetWorkloadSchema(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterComponentTypes(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterDataPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterObservabilityPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterTraits(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterWorkflowPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterWorkflows(s *mcp.Server)
- func (t *Toolsets) RegisterListComponentTypes(s *mcp.Server)
- func (t *Toolsets) RegisterListComponents(s *mcp.Server)
- func (t *Toolsets) RegisterListDataPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListDeploymentPipelines(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) RegisterListWorkflowPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListWorkflowRuns(s *mcp.Server)
- func (t *Toolsets) RegisterListWorkflows(s *mcp.Server)
- func (t *Toolsets) RegisterListWorkloads(s *mcp.Server)
- func (t *Toolsets) RegisterPECreateComponentRelease(s *mcp.Server)
- func (t *Toolsets) RegisterPECreateWorkflow(s *mcp.Server)
- func (t *Toolsets) RegisterPEDeleteWorkflow(s *mcp.Server)
- func (t *Toolsets) RegisterPEGetClusterComponentType(s *mcp.Server)
- func (t *Toolsets) RegisterPEGetClusterComponentTypeSchema(s *mcp.Server)
- func (t *Toolsets) RegisterPEGetClusterTrait(s *mcp.Server)
- func (t *Toolsets) RegisterPEGetClusterTraitSchema(s *mcp.Server)
- func (t *Toolsets) RegisterPEGetComponentRelease(s *mcp.Server)
- func (t *Toolsets) RegisterPEGetComponentReleaseSchema(s *mcp.Server)
- func (t *Toolsets) RegisterPEGetComponentType(s *mcp.Server)
- func (t *Toolsets) RegisterPEGetComponentTypeSchema(s *mcp.Server)
- func (t *Toolsets) RegisterPEGetTrait(s *mcp.Server)
- func (t *Toolsets) RegisterPEGetTraitSchema(s *mcp.Server)
- func (t *Toolsets) RegisterPEGetWorkflow(s *mcp.Server)
- func (t *Toolsets) RegisterPEGetWorkflowSchema(s *mcp.Server)
- func (t *Toolsets) RegisterPEListClusterComponentTypes(s *mcp.Server)
- func (t *Toolsets) RegisterPEListClusterTraits(s *mcp.Server)
- func (t *Toolsets) RegisterPEListComponentReleases(s *mcp.Server)
- func (t *Toolsets) RegisterPEListComponentTypes(s *mcp.Server)
- func (t *Toolsets) RegisterPEListEnvironments(s *mcp.Server)
- func (t *Toolsets) RegisterPEListTraits(s *mcp.Server)
- func (t *Toolsets) RegisterPEListWorkflows(s *mcp.Server)
- func (t *Toolsets) RegisterPEUpdateWorkflow(s *mcp.Server)
- func (t *Toolsets) RegisterPatchComponent(s *mcp.Server)
- func (t *Toolsets) RegisterTriggerWorkflowRun(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateClusterComponentType(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateClusterTrait(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateClusterWorkflow(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateComponentType(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateDeploymentPipeline(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateEnvironment(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateReleaseBinding(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateReleaseBindingState(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateTrait(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateWorkload(s *mcp.Server)
Constants ¶
const DefaultPageSize = 100
DefaultPageSize is the default number of items per page for MCP list operations.
Variables ¶
This section is empty.
Functions ¶
func ClusterComponentTypeCreationSchema ¶ added in v1.0.0
ClusterComponentTypeCreationSchema returns the JSON schema for the ClusterComponentType spec, extracted from the embedded CRD definition.
func ComponentTypeCreationSchema ¶ added in v1.0.0
ComponentTypeCreationSchema returns the JSON schema for the ComponentType spec, extracted from the embedded CRD definition.
func TraitCreationSchema ¶ added in v1.0.0
TraitCreationSchema returns the JSON schema for the Trait spec, extracted from the embedded CRD definition.
Types ¶
type BuildToolsetHandler ¶
type BuildToolsetHandler interface {
TriggerWorkflowRun(
ctx context.Context, namespaceName, projectName, componentName, commit string,
) (any, error)
CreateWorkflowRun(
ctx context.Context, namespaceName, workflowName string,
parameters map[string]interface{},
) (any, error)
ListWorkflowRuns(
ctx context.Context, namespaceName, projectName, componentName string,
opts ListOpts,
) (any, error)
GetWorkflowRun(ctx context.Context, namespaceName, runName string) (any, error)
ListWorkflows(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetWorkflowSchema(ctx context.Context, namespaceName, workflowName string) (any, error)
ListClusterWorkflows(ctx context.Context, opts ListOpts) (any, error)
GetClusterWorkflow(ctx context.Context, cwfName string) (any, error)
GetClusterWorkflowSchema(ctx context.Context, cwfName string) (any, error)
}
BuildToolsetHandler handles workflow and CI/CD operations
type ComponentToolsetHandler ¶
type ComponentToolsetHandler interface {
CreateComponent(
ctx context.Context, namespaceName, projectName string, req *gen.CreateComponentRequest,
) (any, error)
ListComponents(ctx context.Context, namespaceName, projectName string, opts ListOpts) (any, error)
GetComponent(ctx context.Context, namespaceName, componentName string) (any, error)
PatchComponent(
ctx context.Context, namespaceName, componentName string, req *gen.PatchComponentRequest,
) (any, error)
ListWorkloads(ctx context.Context, namespaceName, componentName string) (any, error)
GetWorkload(ctx context.Context, namespaceName, workloadName string) (any, error)
CreateWorkload(
ctx context.Context, namespaceName, componentName string, workloadSpec interface{},
) (any, error)
UpdateWorkload(
ctx context.Context, namespaceName, workloadName string, workloadSpec interface{},
) (any, error)
GetWorkloadSchema(ctx context.Context) (any, error)
GetComponentSchema(ctx context.Context, namespaceName, componentName string) (any, error)
// Platform standards (read-only, namespace-scoped)
ListComponentTypes(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetComponentTypeSchema(ctx context.Context, namespaceName, ctName string) (any, error)
ListTraits(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetTraitSchema(ctx context.Context, namespaceName, traitName string) (any, error)
// Platform standards (read-only, cluster-scoped)
ListClusterComponentTypes(ctx context.Context, opts ListOpts) (any, error)
GetClusterComponentType(ctx context.Context, cctName string) (any, error)
GetClusterComponentTypeSchema(ctx context.Context, cctName string) (any, error)
ListClusterTraits(ctx context.Context, opts ListOpts) (any, error)
GetClusterTrait(ctx context.Context, ctName string) (any, error)
GetClusterTraitSchema(ctx context.Context, ctName string) (any, error)
}
ComponentToolsetHandler handles component definition and configuration operations
type DeploymentToolsetHandler ¶
type DeploymentToolsetHandler interface {
ListComponentReleases(ctx context.Context, namespaceName, componentName string, opts ListOpts) (any, error)
CreateComponentRelease(ctx context.Context, namespaceName, componentName, releaseName string) (any, error)
GetComponentRelease(ctx context.Context, namespaceName, releaseName string) (any, error)
GetComponentReleaseSchema(
ctx context.Context, namespaceName, componentName, releaseName string,
) (any, error)
ListReleaseBindings(ctx context.Context, namespaceName, componentName string, opts ListOpts) (any, error)
GetReleaseBinding(ctx context.Context, namespaceName, bindingName string) (any, error)
CreateReleaseBinding(
ctx context.Context, namespaceName string,
req *gen.ReleaseBindingSpec,
) (any, error)
UpdateReleaseBinding(
ctx context.Context, namespaceName, bindingName string,
req *gen.ReleaseBindingSpec,
) (any, error)
UpdateReleaseBindingState(
ctx context.Context, namespaceName, bindingName string,
state *gen.ReleaseBindingSpecState,
) (any, error)
ListDeploymentPipelines(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetDeploymentPipeline(ctx context.Context, namespaceName, pipelineName string) (any, error)
ListEnvironments(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
}
DeploymentToolsetHandler handles release, deployment, and promotion operations
type ListOpts ¶ added in v0.17.0
type ListOpts struct {
// Limit is the maximum number of items to return per page.
// When 0 or unset, DefaultPageSize is used.
Limit int
// Cursor is an opaque pagination cursor from a previous response.
Cursor string
}
ListOpts holds optional pagination parameters for list operations.
func (ListOpts) EffectiveLimit ¶ added in v0.17.0
EffectiveLimit returns the limit to use, applying DefaultPageSize when unset.
type NamespaceToolsetHandler ¶ added in v0.13.0
type NamespaceToolsetHandler interface {
ListNamespaces(ctx context.Context, opts ListOpts) (any, error)
CreateNamespace(ctx context.Context, req *gen.CreateNamespaceJSONRequestBody) (any, error)
ListSecretReferences(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
}
NamespaceToolsetHandler handles namespace operations
type PEToolsetHandler ¶ added in v0.17.0
type PEToolsetHandler interface {
// Environment operations
ListEnvironments(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
CreateEnvironment(ctx context.Context, namespaceName string, req *gen.CreateEnvironmentJSONRequestBody) (any, error)
UpdateEnvironment(ctx context.Context, namespaceName string, req *gen.UpdateEnvironmentJSONRequestBody) (any, error)
DeleteEnvironment(ctx context.Context, namespaceName, envName string) (any, error)
// Component release operations
ListComponentReleases(ctx context.Context, namespaceName, componentName string, opts ListOpts) (any, error)
CreateComponentRelease(ctx context.Context, namespaceName, componentName, releaseName string) (any, error)
GetComponentRelease(ctx context.Context, namespaceName, releaseName string) (any, error)
GetComponentReleaseSchema(
ctx context.Context, namespaceName, componentName, releaseName string,
) (any, error)
// DeploymentPipeline operations
CreateDeploymentPipeline(ctx context.Context, namespaceName string,
req *gen.CreateDeploymentPipelineJSONRequestBody) (any, error)
UpdateDeploymentPipeline(ctx context.Context, namespaceName string,
req *gen.UpdateDeploymentPipelineJSONRequestBody) (any, error)
DeleteDeploymentPipeline(ctx context.Context, namespaceName, dpName string) (any, error)
// DataPlane operations
ListDataPlanes(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetDataPlane(ctx context.Context, namespaceName, dpName string) (any, error)
// WorkflowPlane operations
ListWorkflowPlanes(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetWorkflowPlane(ctx context.Context, namespaceName, workflowPlaneName string) (any, error)
// ObservabilityPlane operations
ListObservabilityPlanes(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetObservabilityPlane(ctx context.Context, namespaceName, observabilityPlaneName string) (any, error)
// ClusterDataPlane operations
ListClusterDataPlanes(ctx context.Context, opts ListOpts) (any, error)
GetClusterDataPlane(ctx context.Context, cdpName string) (any, error)
// ClusterWorkflowPlane operations
ListClusterWorkflowPlanes(ctx context.Context, opts ListOpts) (any, error)
GetClusterWorkflowPlane(ctx context.Context, cbpName string) (any, error)
// ClusterObservabilityPlane operations
ListClusterObservabilityPlanes(ctx context.Context, opts ListOpts) (any, error)
GetClusterObservabilityPlane(ctx context.Context, copName string) (any, error)
// Platform standards (namespace-scoped) — read
ListComponentTypes(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetComponentType(ctx context.Context, namespaceName, ctName string) (any, error)
GetComponentTypeSchema(ctx context.Context, namespaceName, ctName string) (any, error)
ListTraits(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetTrait(ctx context.Context, namespaceName, traitName string) (any, error)
GetTraitSchema(ctx context.Context, namespaceName, traitName string) (any, error)
ListWorkflows(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetWorkflow(ctx context.Context, namespaceName, workflowName string) (any, error)
GetWorkflowSchema(ctx context.Context, namespaceName, workflowName string) (any, error)
// Platform standards (namespace-scoped) — write
CreateComponentType(
ctx context.Context, namespaceName string, req *gen.CreateComponentTypeJSONRequestBody,
) (any, error)
UpdateComponentType(
ctx context.Context, namespaceName string, req *gen.UpdateComponentTypeJSONRequestBody,
) (any, error)
DeleteComponentType(ctx context.Context, namespaceName, ctName string) (any, error)
CreateTrait(ctx context.Context, namespaceName string, req *gen.CreateTraitJSONRequestBody) (any, error)
UpdateTrait(ctx context.Context, namespaceName string, req *gen.UpdateTraitJSONRequestBody) (any, error)
DeleteTrait(ctx context.Context, namespaceName, traitName string) (any, error)
CreateWorkflow(ctx context.Context, namespaceName string, req *gen.CreateWorkflowJSONRequestBody) (any, error)
UpdateWorkflow(ctx context.Context, namespaceName string, req *gen.UpdateWorkflowJSONRequestBody) (any, error)
DeleteWorkflow(ctx context.Context, namespaceName, workflowName string) (any, error)
// Platform standards (cluster-scoped) — read
ListClusterComponentTypes(ctx context.Context, opts ListOpts) (any, error)
GetClusterComponentType(ctx context.Context, cctName string) (any, error)
GetClusterComponentTypeSchema(ctx context.Context, cctName string) (any, error)
ListClusterTraits(ctx context.Context, opts ListOpts) (any, error)
GetClusterTrait(ctx context.Context, ctName string) (any, error)
GetClusterTraitSchema(ctx context.Context, ctName string) (any, error)
// Platform standards (cluster-scoped) — write
CreateClusterComponentType(ctx context.Context, req *gen.CreateClusterComponentTypeJSONRequestBody) (any, error)
UpdateClusterComponentType(ctx context.Context, req *gen.UpdateClusterComponentTypeJSONRequestBody) (any, error)
DeleteClusterComponentType(ctx context.Context, cctName string) (any, error)
CreateClusterTrait(ctx context.Context, req *gen.CreateClusterTraitJSONRequestBody) (any, error)
UpdateClusterTrait(ctx context.Context, req *gen.UpdateClusterTraitJSONRequestBody) (any, error)
DeleteClusterTrait(ctx context.Context, clusterTraitName string) (any, error)
CreateClusterWorkflow(ctx context.Context, req *gen.CreateClusterWorkflowJSONRequestBody) (any, error)
UpdateClusterWorkflow(ctx context.Context, req *gen.UpdateClusterWorkflowJSONRequestBody) (any, error)
DeleteClusterWorkflow(ctx context.Context, clusterWorkflowName string) (any, error)
// Diagnostics
GetResourceEvents(ctx context.Context, namespaceName, releaseBindingName,
group, version, kind, name string) (any, error)
GetResourceLogs(ctx context.Context, namespaceName, releaseBindingName,
podName string, sinceSeconds *int64) (any, error)
}
PEToolsetHandler handles platform engineering operations on openchoreo
type ProjectToolsetHandler ¶
type ProjectToolsetHandler interface {
// Project operations
ListProjects(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
CreateProject(ctx context.Context, namespaceName string, req *gen.CreateProjectJSONRequestBody) (any, error)
}
ProjectToolsetHandler handles project operations
type RegisterFunc ¶
RegisterFunc is a function type for registering MCP tools
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" ToolsetDeployment ToolsetType = "deployment" ToolsetBuild ToolsetType = "build" ToolsetPE ToolsetType = "pe" )
type Toolsets ¶
type Toolsets struct {
NamespaceToolset NamespaceToolsetHandler
ProjectToolset ProjectToolsetHandler
ComponentToolset ComponentToolsetHandler
DeploymentToolset DeploymentToolsetHandler
BuildToolset BuildToolsetHandler
PEToolset PEToolsetHandler
}