v1alpha1

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2025 License: Apache-2.0 Imports: 5 Imported by: 2

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group. +kubebuilder:object:generate=true +groupName=kagent.dev

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "kagent.dev", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type HTTPTransport

type HTTPTransport struct {
	// target port is the HTTP port that serves the MCP server.over HTTP
	TargetPort uint32 `json:"targetPort,omitempty"`

	// the target path where MCP is served
	TargetPath string `json:"path,omitempty"`
}

HTTPTransport defines the configuration for a Streamable HTTP transport.

func (*HTTPTransport) DeepCopy

func (in *HTTPTransport) DeepCopy() *HTTPTransport

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPTransport.

func (*HTTPTransport) DeepCopyInto

func (in *HTTPTransport) DeepCopyInto(out *HTTPTransport)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakProvider added in v0.1.5

type KeycloakProvider struct {
	Realm string `json:"realm" yaml:"realm"`
}

func (*KeycloakProvider) DeepCopy added in v0.1.5

func (in *KeycloakProvider) DeepCopy() *KeycloakProvider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakProvider.

func (*KeycloakProvider) DeepCopyInto added in v0.1.5

func (in *KeycloakProvider) DeepCopyInto(out *KeycloakProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MCPAuthorizationServer added in v0.1.5

type MCPAuthorizationServer struct {
	Issuer           string                    `json:"issuer" yaml:"issuer"`
	Audience         string                    `json:"audience" yaml:"audience"`
	JwksURL          string                    `json:"jwksUrl" yaml:"jwksUrl"`
	Provider         *MCPClientProvider        `json:"provider,omitempty" yaml:"provider,omitempty"`
	ResourceMetadata MCPClientResourceMetadata `json:"resourceMetadata" yaml:"resourceMetadata"`
}

MCPAuthorizationServer represents the configuration for the MCP authorization server

func (*MCPAuthorizationServer) DeepCopy added in v0.1.5

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPAuthorizationServer.

func (*MCPAuthorizationServer) DeepCopyInto added in v0.1.5

func (in *MCPAuthorizationServer) DeepCopyInto(out *MCPAuthorizationServer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MCPClientProvider added in v0.1.5

type MCPClientProvider struct {
	Keycloak KeycloakProvider `json:"keycloak,omitempty" yaml:"keycloak,omitempty"`
}

MCPClientProvider represents the support identity providers currently only keycloak is supported

func (*MCPClientProvider) DeepCopy added in v0.1.5

func (in *MCPClientProvider) DeepCopy() *MCPClientProvider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPClientProvider.

func (*MCPClientProvider) DeepCopyInto added in v0.1.5

func (in *MCPClientProvider) DeepCopyInto(out *MCPClientProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MCPClientResourceMetadata added in v0.1.5

type MCPClientResourceMetadata struct {
	// BaseURL denotes the protected base url of the protected resource ie: http://localhost:3000
	BaseUrl string `json:"baseUrl" yaml:"resource"`
	// Scopes supported by this resource
	// +optional
	ScopesSupported []string `json:"scopesSupported,omitempty" yaml:"scopesSupported,omitempty"`
	// Bearer methods supported by this resource
	// +optional
	BearerMethodsSupported []string `json:"bearerMethodsSupported,omitempty" yaml:"bearerMethodsSupported,omitempty"`
	// Additional resource metadata fields
	// +optional
	AdditionalFields map[string]string `json:"additionalFields,omitempty" yaml:"additionalFields,omitempty"`
}

MCPClientResourceMetadata represents resource metadata for MCP client authentication

func (*MCPClientResourceMetadata) DeepCopy added in v0.1.5

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPClientResourceMetadata.

func (*MCPClientResourceMetadata) DeepCopyInto added in v0.1.5

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MCPServer

type MCPServer struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MCPServerSpec   `json:"spec,omitempty"`
	Status MCPServerStatus `json:"status,omitempty"`
}

MCPServer is the Schema for the mcpservers API.

func (*MCPServer) DeepCopy

func (in *MCPServer) DeepCopy() *MCPServer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServer.

func (*MCPServer) DeepCopyInto

func (in *MCPServer) DeepCopyInto(out *MCPServer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MCPServer) DeepCopyObject

func (in *MCPServer) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MCPServerAuthentication added in v0.1.5

type MCPServerAuthentication struct {
	// JWT defines the JWT authentication configuration.
	JWT *MCPServerJWTAuthentication `json:"jwt,omitempty"`
}

MCPServerAuthentication defines the authentication configuration for the MCP server.

func (*MCPServerAuthentication) DeepCopy added in v0.1.5

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerAuthentication.

func (*MCPServerAuthentication) DeepCopyInto added in v0.1.5

func (in *MCPServerAuthentication) DeepCopyInto(out *MCPServerAuthentication)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MCPServerAuthorization added in v0.1.5

type MCPServerAuthorization struct {
	// Server defines the configuration for the MCP authorization server that protects the MCP server.
	// Setting this field will configure agentgateway to use the authorization server
	// to protect the MCP server and its resources as well as adapt traffic to the MCP client to comply with the
	// MCP authorization spec before forwarding traffic to the MCP client.
	// +optional
	Server *MCPAuthorizationServer `json:"server,omitempty"`

	// Rules defines the CEL-based authorization rules that control access to the MCP server resources.
	// +optional
	Rules *[]string `json:"rules,omitempty"`
}

MCPServerAuthorization defines the authorization configuration for the MCP server.

func (*MCPServerAuthorization) DeepCopy added in v0.1.5

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerAuthorization.

func (*MCPServerAuthorization) DeepCopyInto added in v0.1.5

func (in *MCPServerAuthorization) DeepCopyInto(out *MCPServerAuthorization)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MCPServerConditionReason

type MCPServerConditionReason string

MCPServerConditionReason represents the reasons for MCPServer conditions.

const (
	// Accepted condition reasons
	MCPServerReasonAccepted             MCPServerConditionReason = "Accepted"
	MCPServerReasonInvalidConfig        MCPServerConditionReason = "InvalidConfig"
	MCPServerReasonUnsupportedTransport MCPServerConditionReason = "UnsupportedTransport"

	// ResolvedRefs condition reasons
	MCPServerReasonResolvedRefs  MCPServerConditionReason = "ResolvedRefs"
	MCPServerReasonImageNotFound MCPServerConditionReason = "ImageNotFound"

	// Programmed condition reasons
	MCPServerReasonProgrammed       MCPServerConditionReason = "Programmed"
	MCPServerReasonDeploymentFailed MCPServerConditionReason = "DeploymentFailed"
	MCPServerReasonServiceFailed    MCPServerConditionReason = "ServiceFailed"
	MCPServerReasonConfigMapFailed  MCPServerConditionReason = "ConfigMapFailed"

	// Ready condition reasons
	MCPServerReasonReady        MCPServerConditionReason = "Ready"
	MCPServerReasonPodsNotReady MCPServerConditionReason = "PodsNotReady"
)

type MCPServerConditionType

type MCPServerConditionType string

MCPServerConditionType represents the condition types for MCPServer status.

const (
	// MCPServerConditionAccepted indicates that the MCPServer has been accepted for processing.
	// This condition indicates that the MCPServer configuration is syntactically and semantically valid,
	// and the controller can generate some configuration for the underlying infrastructure.
	//
	// Possible reasons for this condition to be True are:
	//
	// * "Accepted"
	//
	// Possible reasons for this condition to be False are:
	//
	// * "InvalidConfig"
	// * "UnsupportedTransport"
	//
	// Controllers may raise this condition with other reasons,
	// but should prefer to use the reasons listed above to improve
	// interoperability.
	MCPServerConditionAccepted MCPServerConditionType = "Accepted"

	// MCPServerConditionResolvedRefs indicates whether the controller was able to
	// resolve all the object references for the MCPServer.
	//
	// Possible reasons for this condition to be True are:
	//
	// * "ResolvedRefs"
	//
	// Possible reasons for this condition to be False are:
	//
	// * "ImageNotFound"
	//
	// Controllers may raise this condition with other reasons,
	// but should prefer to use the reasons listed above to improve
	// interoperability.
	MCPServerConditionResolvedRefs MCPServerConditionType = "ResolvedRefs"

	// MCPServerConditionProgrammed indicates that the controller has successfully
	// programmed the underlying infrastructure with the MCPServer configuration.
	// This means that all required Kubernetes resources (Deployment, Service, ConfigMap)
	// have been created and configured.
	//
	// Possible reasons for this condition to be True are:
	//
	// * "Programmed"
	//
	// Possible reasons for this condition to be False are:
	//
	// * "DeploymentFailed"
	// * "ServiceFailed"
	// * "ConfigMapFailed"
	//
	// Controllers may raise this condition with other reasons,
	// but should prefer to use the reasons listed above to improve
	// interoperability.
	MCPServerConditionProgrammed MCPServerConditionType = "Programmed"

	// MCPServerConditionReady indicates that the MCPServer is ready to serve traffic.
	// This condition indicates that the underlying Deployment has running pods
	// that are ready to accept connections.
	//
	// Possible reasons for this condition to be True are:
	//
	// * "Ready"
	//
	// Possible reasons for this condition to be False are:
	//
	// * "PodsNotReady"
	//
	// Controllers may raise this condition with other reasons,
	// but should prefer to use the reasons listed above to improve
	// interoperability.
	MCPServerConditionReady MCPServerConditionType = "Ready"
)

type MCPServerDeployment

type MCPServerDeployment struct {
	// Image defines the container image to to deploy the MCP server.
	Image string `json:"image,omitempty"`

	// Port defines the port on which the MCP server will listen.
	Port uint16 `json:"port,omitempty"`

	// Cmd defines the command to run in the container to start the mcp server.
	Cmd string `json:"cmd,omitempty"`

	// Args defines the arguments to pass to the command.
	Args []string `json:"args,omitempty"`

	// Env defines the environment variables to set in the container.
	Env map[string]string `json:"env,omitempty"`

	// SecretRefs defines the list of Kubernetes secrets to reference.
	// These secrets will be mounted as volumes to the MCP server container.
	// +optional
	SecretRefs []corev1.LocalObjectReference `json:"secretRefs,omitempty"`
}

MCPServerDeployment

func (*MCPServerDeployment) DeepCopy

func (in *MCPServerDeployment) DeepCopy() *MCPServerDeployment

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerDeployment.

func (*MCPServerDeployment) DeepCopyInto

func (in *MCPServerDeployment) DeepCopyInto(out *MCPServerDeployment)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MCPServerJWTAuthentication added in v0.1.5

type MCPServerJWTAuthentication struct {
	// Issuer is the JWT issuer URL.
	Issuer string `json:"issuer,omitempty"`

	// Audiences is a list of audiences that the JWT must match.
	Audiences []string `json:"audiences,omitempty"`

	// JWKS references a secret containing the JSON Web Key Set.
	// The secret must contain a key with the JWKS content.
	JWKS *corev1.SecretKeySelector `json:"jwks,omitempty"`
}

MCPServerJWTAuthentication defines the JWT authentication configuration for the MCP server.

func (*MCPServerJWTAuthentication) DeepCopy added in v0.1.5

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerJWTAuthentication.

func (*MCPServerJWTAuthentication) DeepCopyInto added in v0.1.5

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MCPServerList

type MCPServerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MCPServer `json:"items"`
}

MCPServerList contains a list of MCPServer.

func (*MCPServerList) DeepCopy

func (in *MCPServerList) DeepCopy() *MCPServerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerList.

func (*MCPServerList) DeepCopyInto

func (in *MCPServerList) DeepCopyInto(out *MCPServerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MCPServerList) DeepCopyObject

func (in *MCPServerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MCPServerSpec

type MCPServerSpec struct {
	// Configuration to Deploy the MCP Server using a docker container
	Deployment MCPServerDeployment `json:"deployment"`

	// TransportType defines the type of mcp server being run
	// +kubebuilder:validation:Enum=stdio;http
	TransportType TransportType `json:"transportType,omitempty"`

	// StdioTransport defines the configuration for a standard input/output transport.
	StdioTransport *StdioTransport `json:"stdioTransport,omitempty"`

	// HTTPTransport defines the configuration for a Streamable HTTP transport.
	HTTPTransport *HTTPTransport `json:"httpTransport,omitempty"`

	// Authn defines the authentication configuration for the MCP server.
	// This field is optional and can be used to configure JWT authentication.
	// If not specified, the MCP server will not require authentication.
	// +optional
	Authn *MCPServerAuthentication `json:"authn,omitempty"`

	// Authz defines the authorization rule configuration for the MCP server.
	// This field is optional and can be used to configure authorization rules
	// for access to the MCP server and specific tools. If not specified, the MCP server will not enforce
	// any authorization rules.
	// +optional
	Authz *MCPServerAuthorization `json:"authz,omitempty"`
}

MCPServerSpec defines the desired state of MCPServer.

func (*MCPServerSpec) DeepCopy

func (in *MCPServerSpec) DeepCopy() *MCPServerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerSpec.

func (*MCPServerSpec) DeepCopyInto

func (in *MCPServerSpec) DeepCopyInto(out *MCPServerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MCPServerStatus

type MCPServerStatus struct {
	// Conditions describe the current conditions of the MCPServer.
	// Implementations should prefer to express MCPServer conditions
	// using the `MCPServerConditionType` and `MCPServerConditionReason`
	// constants so that operators and tools can converge on a common
	// vocabulary to describe MCPServer state.
	//
	// Known condition types are:
	//
	// * "Accepted"
	// * "ResolvedRefs"
	// * "Programmed"
	// * "Ready"
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ObservedGeneration is the most recent generation observed for this MCPServer.
	// It corresponds to the MCPServer's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

MCPServerStatus defines the observed state of MCPServer.

func (*MCPServerStatus) DeepCopy

func (in *MCPServerStatus) DeepCopy() *MCPServerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerStatus.

func (*MCPServerStatus) DeepCopyInto

func (in *MCPServerStatus) DeepCopyInto(out *MCPServerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StdioTransport

type StdioTransport struct{}

StdioTransport defines the configuration for a standard input/output transport.

func (*StdioTransport) DeepCopy

func (in *StdioTransport) DeepCopy() *StdioTransport

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StdioTransport.

func (*StdioTransport) DeepCopyInto

func (in *StdioTransport) DeepCopyInto(out *StdioTransport)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TransportType

type TransportType string

MCPServerTransportType defines the type of transport for the MCP server.

const (
	// TransportTypeStdio indicates that the MCP server uses standard input/output for communication.
	TransportTypeStdio TransportType = "stdio"

	// TransportTypeHTTP indicates that the MCP server uses Streamable HTTP for communication.
	TransportTypeHTTP TransportType = "http"
)

Jump to

Keyboard shortcuts

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