kubescape

package
v0.0.16 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2026 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterTools

func RegisterTools(s *server.MCPServer, kubeconfig string, readOnly bool)

RegisterTools registers all Kubescape tools with the MCP server

Types

type CheckStatus

type CheckStatus struct {
	Status  string      `json:"status"`
	Message string      `json:"message"`
	Details interface{} `json:"details,omitempty"`
}

CheckStatus represents the status of a single check

type HealthCheckResult

type HealthCheckResult struct {
	Healthy         bool                   `json:"healthy"`
	Checks          map[string]CheckStatus `json:"checks"`
	Summary         string                 `json:"summary"`
	Recommendations []string               `json:"recommendations,omitempty"`
}

HealthCheckResult represents the result of a health check

type KubescapeTool

type KubescapeTool struct {
	// contains filtered or unexported fields
}

KubescapeTool holds the clients for Kubescape and Kubernetes APIs

func NewKubescapeTool

func NewKubescapeTool(kubeconfig string) *KubescapeTool

NewKubescapeTool creates a new KubescapeTool with Kubernetes clients

func NewKubescapeToolWithClients

func NewKubescapeToolWithClients(
	k8sClient kubernetes.Interface,
	apiExtClient apiextensionsclientset.Interface,
	spdxClient spdxv1beta1.SpdxV1beta1Interface,
) *KubescapeTool

NewKubescapeToolWithClients creates a KubescapeTool with pre-configured clients for testing

func NewKubescapeToolWithError

func NewKubescapeToolWithError(err error) *KubescapeTool

NewKubescapeToolWithError creates a KubescapeTool with an initialization error for testing error paths

func (*KubescapeTool) HandleCheckHealth

func (k *KubescapeTool) HandleCheckHealth(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)

Export handler methods for testing

func (*KubescapeTool) HandleGetApplicationProfile

func (k *KubescapeTool) HandleGetApplicationProfile(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)

func (*KubescapeTool) HandleGetConfigurationScan

func (k *KubescapeTool) HandleGetConfigurationScan(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)

func (*KubescapeTool) HandleGetNetworkNeighborhood

func (k *KubescapeTool) HandleGetNetworkNeighborhood(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)

func (*KubescapeTool) HandleGetVulnerabilityDetails

func (k *KubescapeTool) HandleGetVulnerabilityDetails(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)

func (*KubescapeTool) HandleListApplicationProfiles

func (k *KubescapeTool) HandleListApplicationProfiles(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)

func (*KubescapeTool) HandleListConfigurationScans

func (k *KubescapeTool) HandleListConfigurationScans(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)

func (*KubescapeTool) HandleListNetworkNeighborhoods

func (k *KubescapeTool) HandleListNetworkNeighborhoods(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)

func (*KubescapeTool) HandleListVulnerabilitiesInManifest

func (k *KubescapeTool) HandleListVulnerabilitiesInManifest(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)

func (*KubescapeTool) HandleListVulnerabilityManifests

func (k *KubescapeTool) HandleListVulnerabilityManifests(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)

type KubescapeToolInterface

type KubescapeToolInterface interface {
	HandleCheckHealth(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)
	HandleListVulnerabilityManifests(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)
	HandleListVulnerabilitiesInManifest(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)
	HandleGetVulnerabilityDetails(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)
	HandleListConfigurationScans(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)
	HandleGetConfigurationScan(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)
	HandleListApplicationProfiles(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)
	HandleGetApplicationProfile(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)
	HandleListNetworkNeighborhoods(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)
	HandleGetNetworkNeighborhood(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)
}

Interfaces for testing - allows mocking the Kubernetes clients

Jump to

Keyboard shortcuts

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