Documentation
¶
Index ¶
- func ModuleEnableToolsets(m Module, tsg *toolsets.ToolsetGroup) error
- func RegisterAccessControl(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterAudit(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterChaos(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterCloudCostManagement(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterConnectors(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterDashboards(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterDelegateTokens(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterDelegates(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterEnvironments(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterFeatureManagementAndExperimentation(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterGitOps(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterInfrastructure(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterInternalDeveloperPortal(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterPipelines(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterPromptTools(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterPullRequests(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterRegistries(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterRepositories(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterSCS(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterSTO(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterSecrets(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterServices(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterSettings(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterSoftwareEngineeringInsights(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func RegisterTemplates(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
- func SetGlobalRegistry(registry *ModuleRegistry)
- type CCMModule
- type CDModule
- type CHAOSModule
- type CIModule
- type CODEModule
- type ClientProvider
- type CodeClientFactory
- type CoreModule
- type FMEModule
- type GitOpsModule
- type HARModule
- type IDPModule
- type Module
- type ModuleRegistry
- func (r *ModuleRegistry) GetAllModules() []Module
- func (r *ModuleRegistry) GetToolsetGroup() *toolsets.ToolsetGroup
- func (r *ModuleRegistry) GetToolsetsForModule(moduleID string) []string
- func (r *ModuleRegistry) ValidateToolsets(requestedToolsets []string, licensedModules map[string]bool) (allowedToolsets []string, deniedToolsets map[string]string)
- type NgManagerAuthProviderFactory
- type SEIModule
- type SSCAModule
- type STOModule
- type UnlicensedModule
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ModuleEnableToolsets ¶
func ModuleEnableToolsets(m Module, tsg *toolsets.ToolsetGroup) error
ModuleEnableToolsets is a helper function that safely enables toolsets by only enabling toolsets that actually exist in the toolset group
func RegisterAccessControl ¶
func RegisterAccessControl(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
func RegisterAudit ¶
func RegisterAudit(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
func RegisterChaos ¶
func RegisterChaos(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterChaos registers the chaos toolset
func RegisterCloudCostManagement ¶
func RegisterCloudCostManagement(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
func RegisterConnectors ¶
func RegisterConnectors(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterConnectors registers the connectors toolset
func RegisterDashboards ¶
func RegisterDashboards(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterDashboards registers the dashboards toolset
func RegisterDelegateTokens ¶
func RegisterDelegateTokens(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterDelegateTokens registers the DelegateTokens toolset
func RegisterDelegates ¶
func RegisterDelegates(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterDelegates registers the delegates toolset
func RegisterEnvironments ¶
func RegisterEnvironments(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterEnvironments registers the environments toolset
func RegisterFeatureManagementAndExperimentation ¶
func RegisterFeatureManagementAndExperimentation(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterFeatureManagementAndExperimentation registers the FME toolset
func RegisterGitOps ¶
func RegisterGitOps(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
func RegisterInfrastructure ¶
func RegisterInfrastructure(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterInfrastructure registers the infrastructure toolset
func RegisterInternalDeveloperPortal ¶
func RegisterInternalDeveloperPortal(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
func RegisterPipelines ¶
func RegisterPipelines(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterPipelines registers the pipelines toolset
func RegisterPromptTools ¶
func RegisterPromptTools(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
func RegisterPullRequests ¶
func RegisterPullRequests(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterPullRequests registers the pull requests toolset
func RegisterRegistries ¶
func RegisterRegistries(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterRegistries registers the HAR registries toolset
func RegisterRepositories ¶
func RegisterRepositories(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterRepositories registers the repositories toolset
func RegisterSCS ¶
func RegisterSCS(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterSCS registers the Supply Chain Security toolset
func RegisterSTO ¶
func RegisterSTO(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterSTO registers the Security Test Orchestration toolset
func RegisterSecrets ¶
func RegisterSecrets(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
func RegisterServices ¶
func RegisterServices(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterServices registers the services toolset
func RegisterSettings ¶
func RegisterSettings(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
func RegisterSoftwareEngineeringInsights ¶
func RegisterSoftwareEngineeringInsights(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterSoftwareEngineeringInsights creates and registers SEI tools
func RegisterTemplates ¶
func RegisterTemplates(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) error
RegisterTemplates registers the templates toolset
func SetGlobalRegistry ¶
func SetGlobalRegistry(registry *ModuleRegistry)
SetGlobalRegistry sets the global module registry instance
Types ¶
type CCMModule ¶
type CCMModule struct {
// contains filtered or unexported fields
}
CCMModule implements the Module interface for Cloud Cost Management
func NewCCMModule ¶
func NewCCMModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *CCMModule
NewCCMModule creates a new instance of CCMModule
func (*CCMModule) EnableToolsets ¶
func (m *CCMModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
EnableToolsets enables all toolsets in the CCM module
func (*CCMModule) RegisterToolsets ¶
RegisterToolsets registers all toolsets in the CCM module
type CDModule ¶
type CDModule struct {
// contains filtered or unexported fields
}
CDModule implements the Module interface for Continuous Delivery
func NewCDModule ¶
func NewCDModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *CDModule
NewCDModule creates a new instance of CDModule
func (*CDModule) EnableToolsets ¶
func (m *CDModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
EnableToolsets enables all toolsets in the CD module
func (*CDModule) RegisterToolsets ¶
RegisterToolsets registers all toolsets in the CD module
type CHAOSModule ¶
type CHAOSModule struct {
// contains filtered or unexported fields
}
CHAOSModule implements the Module interface for Chaos Engineering
func NewCHAOSModule ¶
func NewCHAOSModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *CHAOSModule
NewCHAOSModule creates a new instance of CHAOSModule
func (*CHAOSModule) EnableToolsets ¶
func (m *CHAOSModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
EnableToolsets enables all toolsets in the CHAOS module
func (*CHAOSModule) ID ¶
func (m *CHAOSModule) ID() string
ID returns the identifier for this module
func (*CHAOSModule) IsDefault ¶
func (m *CHAOSModule) IsDefault() bool
IsDefault indicates if this module should be enabled by default
func (*CHAOSModule) RegisterToolsets ¶
func (m *CHAOSModule) RegisterToolsets() error
RegisterToolsets registers all toolsets in the CHAOS module
func (*CHAOSModule) Toolsets ¶
func (m *CHAOSModule) Toolsets() []string
Toolsets returns the names of toolsets provided by this module
type CIModule ¶
type CIModule struct {
// contains filtered or unexported fields
}
CIModule implements the Module interface for Continuous Integration
func NewCIModule ¶
func NewCIModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *CIModule
NewCIModule creates a new instance of CIModule
func (*CIModule) EnableToolsets ¶
func (m *CIModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
EnableToolsets enables all toolsets in the CI module
func (*CIModule) RegisterToolsets ¶
RegisterToolsets registers all toolsets in the CI module
type CODEModule ¶
type CODEModule struct {
// contains filtered or unexported fields
}
CODEModule implements the Module interface for Code Repository Management
func NewCODEModule ¶
func NewCODEModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *CODEModule
NewCODEModule creates a new instance of CODEModule
func (*CODEModule) EnableToolsets ¶
func (m *CODEModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
EnableToolsets enables all toolsets in the CODE module
func (*CODEModule) IsDefault ¶
func (m *CODEModule) IsDefault() bool
IsDefault indicates if this module should be enabled by default
func (*CODEModule) RegisterToolsets ¶
func (m *CODEModule) RegisterToolsets() error
RegisterToolsets registers all toolsets in the CODE module
func (*CODEModule) Toolsets ¶
func (m *CODEModule) Toolsets() []string
Toolsets returns the names of toolsets provided by this module
type ClientProvider ¶
type ClientProvider interface {
CreateClient(config *config.McpServerConfig, servicePath string, timeout ...time.Duration) (*client.Client, error)
CreateClientWithIdentity(config *config.McpServerConfig, servicePath string, serviceIdentity string, timeout ...time.Duration) (*client.Client, error)
}
ClientProvider defines the interface for creating module clients Different implementations can be provided for internal and external modes
var DefaultClientProvider ClientProvider
DefaultClientProvider holds the active client provider implementation This will be set by the external or internal package during initialization
type CodeClientFactory ¶
type CodeClientFactory func(config *config.McpServerConfig) (*client.Client, error)
CodeClientFactory is a function type for creating code clients This allows different implementations in internal vs external modes
var DefaultCodeClientFactory CodeClientFactory = func(config *config.McpServerConfig) (*client.Client, error) { return DefaultClientProvider.CreateClient(config, "code") }
DefaultCodeClientFactory is the default implementation for creating code clients This can be overridden by consuming code to provide custom implementations
type CoreModule ¶
type CoreModule struct {
// contains filtered or unexported fields
}
CoreModule implements the Module interface and contains all default toolsets
func NewCoreModule ¶
func NewCoreModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *CoreModule
NewCoreModule creates a new instance of CoreModule
func (*CoreModule) EnableToolsets ¶
func (m *CoreModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
EnableToolsets enables all toolsets in the Core module
func (*CoreModule) IsDefault ¶
func (m *CoreModule) IsDefault() bool
IsDefault indicates if this module should be enabled by default
func (*CoreModule) RegisterToolsets ¶
func (m *CoreModule) RegisterToolsets() error
RegisterToolsets registers all toolsets in the default module
func (*CoreModule) Toolsets ¶
func (m *CoreModule) Toolsets() []string
Toolsets returns the names of toolsets provided by this module
type FMEModule ¶
type FMEModule struct {
// contains filtered or unexported fields
}
FMEModule implements the Module interface for Feature Management and Experimentation
func NewFMEModule ¶
func NewFMEModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *FMEModule
NewFMEModule creates a new instance of FMEModule
func (*FMEModule) EnableToolsets ¶
func (m *FMEModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
EnableToolsets enables all toolsets in the FME module
func (*FMEModule) RegisterToolsets ¶
RegisterToolsets registers all toolsets in the FME module
type GitOpsModule ¶
type GitOpsModule struct {
// contains filtered or unexported fields
}
func NewGitOpsModule ¶
func NewGitOpsModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *GitOpsModule
func (*GitOpsModule) EnableToolsets ¶
func (m *GitOpsModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
func (*GitOpsModule) ID ¶
func (m *GitOpsModule) ID() string
func (*GitOpsModule) IsDefault ¶
func (m *GitOpsModule) IsDefault() bool
func (*GitOpsModule) Name ¶
func (m *GitOpsModule) Name() string
func (*GitOpsModule) RegisterToolsets ¶
func (m *GitOpsModule) RegisterToolsets() error
func (*GitOpsModule) Toolsets ¶
func (m *GitOpsModule) Toolsets() []string
type HARModule ¶
type HARModule struct {
// contains filtered or unexported fields
}
HARModule implements the Module interface for Harness Artifact Registry
func NewHARModule ¶
func NewHARModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *HARModule
NewHARModule creates a new instance of HARModule
func (*HARModule) EnableToolsets ¶
func (m *HARModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
EnableToolsets enables all toolsets in the HAR module
func (*HARModule) RegisterToolsets ¶
RegisterToolsets registers all toolsets in the HAR module
type IDPModule ¶
type IDPModule struct {
// contains filtered or unexported fields
}
IDPModule implements the Module interface for Internal Developer Portal
func NewIDPModule ¶
func NewIDPModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *IDPModule
NewIDPModule creates a new instance of IDPModule
func (*IDPModule) EnableToolsets ¶
func (m *IDPModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
EnableToolsets enables all toolsets in the IDP module
func (*IDPModule) RegisterToolsets ¶
RegisterToolsets registers all toolsets in the IDP module
type Module ¶
type Module interface {
// ID returns the identifier for this module
ID() string
// Name returns the name of module
Name() string
// Toolsets returns the names of toolsets provided by this module
Toolsets() []string
// RegisterToolsets registers all toolsets in this module with the toolset group
// It creates necessary clients and adds tools to the toolset group
RegisterToolsets() error
// EnableToolsets enables all toolsets in this module in the toolset group
// This is called after RegisterToolsets to activate the toolsets
EnableToolsets(tsg *toolsets.ToolsetGroup) error
// IsDefault indicates if this module should be enabled by default
// when no specific modules are requested
IsDefault() bool
}
Module interface defines the contract that all modules must implement
type ModuleRegistry ¶
type ModuleRegistry struct {
Modules []Module
Config *config.McpServerConfig
Tsg *toolsets.ToolsetGroup
ModuleToToolsets map[string][]string // Maps module IDs to their toolsets
ToolsetToModule map[string]string // Maps toolset names to their modules
}
ModuleRegistry holds all available modules
func GetGlobalRegistry ¶
func GetGlobalRegistry() *ModuleRegistry
GetGlobalRegistry returns the global module registry instance
func (*ModuleRegistry) GetAllModules ¶
func (r *ModuleRegistry) GetAllModules() []Module
GetAllModules returns all available modules
func (*ModuleRegistry) GetToolsetGroup ¶
func (r *ModuleRegistry) GetToolsetGroup() *toolsets.ToolsetGroup
GetToolsetGroup returns the underlying toolset group
func (*ModuleRegistry) GetToolsetsForModule ¶
func (r *ModuleRegistry) GetToolsetsForModule(moduleID string) []string
GetToolsetsForModule returns the toolsets associated with a module ID
func (*ModuleRegistry) ValidateToolsets ¶
func (r *ModuleRegistry) ValidateToolsets( requestedToolsets []string, licensedModules map[string]bool, ) (allowedToolsets []string, deniedToolsets map[string]string)
ValidateToolsets checks if the given toolsets are allowed based on licensed modules Returns: - allowedToolsets: list of toolsets the user can use - deniedToolsets: list of toolsets the user cannot use (with reasons)
type NgManagerAuthProviderFactory ¶
type NgManagerAuthProviderFactory func(config *config.McpServerConfig) auth.Provider
NgManagerAuthProviderFactory is a function type for creating NgManager auth providers This allows different implementations in internal vs external modes
var DefaultNgManagerAuthProviderFactory NgManagerAuthProviderFactory = func(config *config.McpServerConfig) auth.Provider { return auth.NewAPIKeyProvider(config.APIKey) }
DefaultNgManagerAuthProviderFactory is the default implementation for creating NgManager auth providers This can be overridden by consuming repositories to provide custom implementations
type SEIModule ¶
type SEIModule struct {
// contains filtered or unexported fields
}
SEIModule implements the Module interface for Software Engineering Insights
func NewSEIModule ¶
func NewSEIModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *SEIModule
NewSEIModule creates a new instance of SEIModule
func (*SEIModule) EnableToolsets ¶
func (m *SEIModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
EnableToolsets enables all toolsets in the SEI module
func (*SEIModule) RegisterToolsets ¶
RegisterToolsets registers all toolsets in the SEI module
type SSCAModule ¶
type SSCAModule struct {
// contains filtered or unexported fields
}
SSCAModule implements the Module interface for Software Supply Chain Assurance
func NewSSCAModule ¶
func NewSSCAModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *SSCAModule
NewSSCAModule creates a new instance of SSCAModule
func (*SSCAModule) EnableToolsets ¶
func (m *SSCAModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
EnableToolsets enables all toolsets in the SSCA module
func (*SSCAModule) IsDefault ¶
func (m *SSCAModule) IsDefault() bool
IsDefault indicates if this module should be enabled by default
func (*SSCAModule) RegisterToolsets ¶
func (m *SSCAModule) RegisterToolsets() error
RegisterToolsets registers all toolsets in the SSCA module
func (*SSCAModule) Toolsets ¶
func (m *SSCAModule) Toolsets() []string
Toolsets returns the names of toolsets provided by this module
type STOModule ¶
type STOModule struct {
// contains filtered or unexported fields
}
STOModule implements the Module interface for Security Test Orchestration
func NewSTOModule ¶
func NewSTOModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *STOModule
NewSTOModule creates a new instance of STOModule
func (*STOModule) EnableToolsets ¶
func (m *STOModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
EnableToolsets enables all toolsets in the STO module
func (*STOModule) RegisterToolsets ¶
RegisterToolsets registers all toolsets in the STO module
type UnlicensedModule ¶
type UnlicensedModule struct {
// contains filtered or unexported fields
}
UnlicensedModule implements the Module interface for "Unlicensed Module"
func NewUnlicensedModule ¶
func NewUnlicensedModule(config *config.McpServerConfig, tsg *toolsets.ToolsetGroup) *UnlicensedModule
NewUnlicensedModule creates a new instance of UnlicensedModule
func (*UnlicensedModule) EnableToolsets ¶
func (m *UnlicensedModule) EnableToolsets(tsg *toolsets.ToolsetGroup) error
EnableToolsets enables all toolsets in the Unlicensed module
func (*UnlicensedModule) ID ¶
func (m *UnlicensedModule) ID() string
ID returns the identifier for this module
func (*UnlicensedModule) IsDefault ¶
func (m *UnlicensedModule) IsDefault() bool
IsDefault indicates if this module should be enabled by default
func (*UnlicensedModule) Name ¶
func (m *UnlicensedModule) Name() string
Name returns the name of module
func (*UnlicensedModule) RegisterToolsets ¶
func (m *UnlicensedModule) RegisterToolsets() error
RegisterToolsets registers all toolsets in the Unlicensed module
func (*UnlicensedModule) Toolsets ¶
func (m *UnlicensedModule) Toolsets() []string
Toolsets returns the names of toolsets provided by this module