Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group. +kubebuilder:object:generate=true +groupName=kagent.dev
Index ¶
- Variables
- type HTTPTransport
- type KeycloakProvider
- type MCPAuthorizationServer
- type MCPClientProvider
- type MCPClientResourceMetadata
- type MCPServer
- type MCPServerAuthentication
- type MCPServerAuthorization
- type MCPServerConditionReason
- type MCPServerConditionType
- type MCPServerDeployment
- type MCPServerJWTAuthentication
- type MCPServerList
- type MCPServerSpec
- type MCPServerStatus
- type StdioTransport
- type TransportType
Constants ¶
This section is empty.
Variables ¶
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
func (in *MCPAuthorizationServer) DeepCopy() *MCPAuthorizationServer
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
func (in *MCPClientResourceMetadata) DeepCopy() *MCPClientResourceMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPClientResourceMetadata.
func (*MCPClientResourceMetadata) DeepCopyInto ¶ added in v0.1.5
func (in *MCPClientResourceMetadata) DeepCopyInto(out *MCPClientResourceMetadata)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServer.
func (*MCPServer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MCPServer) DeepCopyObject ¶
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
func (in *MCPServerAuthentication) DeepCopy() *MCPServerAuthentication
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
func (in *MCPServerAuthorization) DeepCopy() *MCPServerAuthorization
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
func (in *MCPServerJWTAuthentication) DeepCopy() *MCPServerJWTAuthentication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerJWTAuthentication.
func (*MCPServerJWTAuthentication) DeepCopyInto ¶ added in v0.1.5
func (in *MCPServerJWTAuthentication) DeepCopyInto(out *MCPServerJWTAuthentication)
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" )