tools

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 1, 2025 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

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, orgName string) (any, error)
	TriggerBuild(ctx context.Context, orgName, projectName, componentName, commit string) (any, error)
	ListBuilds(ctx context.Context, orgName, projectName, componentName string) (any, error)
	GetBuildObserverURL(ctx context.Context, orgName, projectName, componentName string) (any, error)
	ListBuildPlanes(ctx context.Context, orgName string) (any, error)
}

BuildToolsetHandler handles build operations

type ComponentToolsetHandler

type ComponentToolsetHandler interface {
	CreateComponent(ctx context.Context, orgName, projectName string, req *models.CreateComponentRequest) (any, error)
	ListComponents(ctx context.Context, orgName, projectName string) (any, error)
	GetComponent(
		ctx context.Context, orgName, projectName, componentName string, additionalResources []string,
	) (any, error)
	GetComponentBinding(ctx context.Context, orgName, projectName, componentName, environment string) (any, error)
	UpdateComponentBinding(
		ctx context.Context, orgName, projectName, componentName, bindingName string,
		req *models.UpdateBindingRequest,
	) (any, error)
	GetComponentWorkloads(ctx context.Context, orgName, projectName, componentName string) (any, error)
	// Component release operations
	ListComponentReleases(ctx context.Context, orgName, projectName, componentName string) (any, error)
	CreateComponentRelease(ctx context.Context, orgName, projectName, componentName, releaseName string) (any, error)
	GetComponentRelease(ctx context.Context, orgName, projectName, componentName, releaseName string) (any, error)
	// Release binding operations
	ListReleaseBindings(
		ctx context.Context, orgName, projectName, componentName string, environments []string,
	) (any, error)
	PatchReleaseBinding(
		ctx context.Context, orgName, projectName, componentName, bindingName string,
		req *models.PatchReleaseBindingRequest,
	) (any, error)
	// Deployment operations
	DeployRelease(
		ctx context.Context, orgName, projectName, componentName string, req *models.DeployReleaseRequest,
	) (any, error)
	PromoteComponent(
		ctx context.Context, orgName, projectName, componentName string, req *models.PromoteComponentRequest,
	) (any, error)
	// Workload operations
	CreateWorkload(ctx context.Context, orgName, projectName, componentName string, workloadSpec interface{}) (any, error)
	// Schema operations
	GetComponentSchema(ctx context.Context, orgName, projectName, componentName string) (any, error)
	GetComponentReleaseSchema(ctx context.Context, orgName, projectName, componentName, releaseName string) (any, error)
}

ComponentToolsetHandler handles component operations

type DeploymentToolsetHandler

type DeploymentToolsetHandler interface {
	GetProjectDeploymentPipeline(ctx context.Context, orgName, projectName string) (any, error)
	GetComponentObserverURL(
		ctx context.Context, orgName, projectName, componentName, environmentName string,
	) (any, error)
}

DeploymentToolsetHandler handles deployment operations

type InfrastructureToolsetHandler

type InfrastructureToolsetHandler interface {
	// Environment operations
	ListEnvironments(ctx context.Context, orgName string) (any, error)
	GetEnvironment(ctx context.Context, orgName, envName string) (any, error)
	CreateEnvironment(ctx context.Context, orgName string, req *models.CreateEnvironmentRequest) (any, error)

	// DataPlane operations
	ListDataPlanes(ctx context.Context, orgName string) (any, error)
	GetDataPlane(ctx context.Context, orgName, dpName string) (any, error)
	CreateDataPlane(ctx context.Context, orgName string, req *models.CreateDataPlaneRequest) (any, error)

	// ComponentType operations
	ListComponentTypes(ctx context.Context, orgName string) (any, error)
	GetComponentTypeSchema(ctx context.Context, orgName, ctName string) (any, error)

	// Workflow operations
	ListWorkflows(ctx context.Context, orgName string) (any, error)
	GetWorkflowSchema(ctx context.Context, orgName, workflowName string) (any, error)

	// Trait operations
	ListTraits(ctx context.Context, orgName string) (any, error)
	GetTraitSchema(ctx context.Context, orgName, traitName string) (any, error)
}

InfrastructureToolsetHandler handles infrastructure operations

type OrganizationToolsetHandler

type OrganizationToolsetHandler interface {
	GetOrganization(ctx context.Context, name string) (any, error)
	ListOrganizations(ctx context.Context) (any, error)
}

OrganizationToolsetHandler handles organization operations

type ProjectToolsetHandler

type ProjectToolsetHandler interface {
	// Project operations
	ListProjects(ctx context.Context, orgName string) (any, error)
	GetProject(ctx context.Context, orgName, projectName string) (any, error)
	CreateProject(ctx context.Context, orgName string, req *models.CreateProjectRequest) (any, error)
}

ProjectToolsetHandler handles organization and project operations

type RegisterFunc

type RegisterFunc func(s *mcp.Server)

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)
}

ResourceToolsetHandler handles kubectl-like resource operations (apply/delete)

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 (
	ToolsetOrganization   ToolsetType = "organization"
	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 {
	OrganizationToolset   OrganizationToolsetHandler
	ProjectToolset        ProjectToolsetHandler
	ComponentToolset      ComponentToolsetHandler
	BuildToolset          BuildToolsetHandler
	DeploymentToolset     DeploymentToolsetHandler
	InfrastructureToolset InfrastructureToolsetHandler
	SchemaToolset         SchemaToolsetHandler
	ResourceToolset       ResourceToolsetHandler
}

func (*Toolsets) Register

func (t *Toolsets) Register(s *mcp.Server)

func (*Toolsets) RegisterApplyResource

func (t *Toolsets) RegisterApplyResource(s *mcp.Server)

func (*Toolsets) RegisterComponentBinding

func (t *Toolsets) RegisterComponentBinding(s *mcp.Server)

func (*Toolsets) RegisterCreateComponent

func (t *Toolsets) RegisterCreateComponent(s *mcp.Server)

func (*Toolsets) RegisterCreateComponentRelease

func (t *Toolsets) RegisterCreateComponentRelease(s *mcp.Server)

func (*Toolsets) RegisterCreateDataPlane

func (t *Toolsets) RegisterCreateDataPlane(s *mcp.Server)

func (*Toolsets) RegisterCreateEnvironment

func (t *Toolsets) RegisterCreateEnvironment(s *mcp.Server)

func (*Toolsets) RegisterCreateProject

func (t *Toolsets) RegisterCreateProject(s *mcp.Server)

func (*Toolsets) RegisterCreateWorkload

func (t *Toolsets) RegisterCreateWorkload(s *mcp.Server)

func (*Toolsets) RegisterDeleteResource

func (t *Toolsets) RegisterDeleteResource(s *mcp.Server)

func (*Toolsets) RegisterDeployRelease

func (t *Toolsets) RegisterDeployRelease(s *mcp.Server)

func (*Toolsets) RegisterExplainSchema

func (t *Toolsets) RegisterExplainSchema(s *mcp.Server)

func (*Toolsets) RegisterGetBuildObserverURL

func (t *Toolsets) RegisterGetBuildObserverURL(s *mcp.Server)

func (*Toolsets) RegisterGetComponent

func (t *Toolsets) RegisterGetComponent(s *mcp.Server)

func (*Toolsets) RegisterGetComponentObserverURL

func (t *Toolsets) RegisterGetComponentObserverURL(s *mcp.Server)

func (*Toolsets) RegisterGetComponentRelease

func (t *Toolsets) RegisterGetComponentRelease(s *mcp.Server)

func (*Toolsets) RegisterGetComponentReleaseSchema

func (t *Toolsets) RegisterGetComponentReleaseSchema(s *mcp.Server)

func (*Toolsets) RegisterGetComponentSchema

func (t *Toolsets) RegisterGetComponentSchema(s *mcp.Server)

func (*Toolsets) RegisterGetComponentTypeSchema

func (t *Toolsets) RegisterGetComponentTypeSchema(s *mcp.Server)

func (*Toolsets) RegisterGetComponentWorkloads

func (t *Toolsets) RegisterGetComponentWorkloads(s *mcp.Server)

func (*Toolsets) RegisterGetDataPlane

func (t *Toolsets) RegisterGetDataPlane(s *mcp.Server)

func (*Toolsets) RegisterGetDeploymentPipeline

func (t *Toolsets) RegisterGetDeploymentPipeline(s *mcp.Server)

func (*Toolsets) RegisterGetEnvironments

func (t *Toolsets) RegisterGetEnvironments(s *mcp.Server)

func (*Toolsets) RegisterGetOrganization

func (t *Toolsets) RegisterGetOrganization(s *mcp.Server)

func (*Toolsets) RegisterGetProject

func (t *Toolsets) RegisterGetProject(s *mcp.Server)

func (*Toolsets) RegisterGetTraitSchema

func (t *Toolsets) RegisterGetTraitSchema(s *mcp.Server)

func (*Toolsets) RegisterGetWorkflowSchema

func (t *Toolsets) RegisterGetWorkflowSchema(s *mcp.Server)

func (*Toolsets) RegisterListBuildPlanes

func (t *Toolsets) RegisterListBuildPlanes(s *mcp.Server)

func (*Toolsets) RegisterListBuildTemplates

func (t *Toolsets) RegisterListBuildTemplates(s *mcp.Server)

func (*Toolsets) RegisterListBuilds

func (t *Toolsets) RegisterListBuilds(s *mcp.Server)

func (*Toolsets) RegisterListComponentReleases

func (t *Toolsets) RegisterListComponentReleases(s *mcp.Server)

func (*Toolsets) RegisterListComponentTypes

func (t *Toolsets) RegisterListComponentTypes(s *mcp.Server)

func (*Toolsets) RegisterListComponents

func (t *Toolsets) RegisterListComponents(s *mcp.Server)

func (*Toolsets) RegisterListDataPlanes

func (t *Toolsets) RegisterListDataPlanes(s *mcp.Server)

func (*Toolsets) RegisterListEnvironments

func (t *Toolsets) RegisterListEnvironments(s *mcp.Server)

func (*Toolsets) RegisterListOrganizations

func (t *Toolsets) RegisterListOrganizations(s *mcp.Server)

func (*Toolsets) RegisterListProjects

func (t *Toolsets) RegisterListProjects(s *mcp.Server)

func (*Toolsets) RegisterListReleaseBindings

func (t *Toolsets) RegisterListReleaseBindings(s *mcp.Server)

func (*Toolsets) RegisterListTraits

func (t *Toolsets) RegisterListTraits(s *mcp.Server)

func (*Toolsets) RegisterListWorkflows

func (t *Toolsets) RegisterListWorkflows(s *mcp.Server)

func (*Toolsets) RegisterPatchReleaseBinding

func (t *Toolsets) RegisterPatchReleaseBinding(s *mcp.Server)

func (*Toolsets) RegisterPromoteComponent

func (t *Toolsets) RegisterPromoteComponent(s *mcp.Server)

func (*Toolsets) RegisterTriggerBuild

func (t *Toolsets) RegisterTriggerBuild(s *mcp.Server)

func (*Toolsets) RegisterUpdateComponentBinding

func (t *Toolsets) RegisterUpdateComponentBinding(s *mcp.Server)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL