Documentation
¶
Index ¶
- type A2APolicy
- type AIBackend
- type Agent
- type AgentDeployment
- type AgentGatewayConfig
- type AgentSkillRef
- type AppProtocol
- type BackendAuth
- type BackendTLS
- type CORS
- type DesiredState
- type DirectResponse
- type DockerComposeConfig
- type Endpoint
- type FilterOrPolicy
- type GatewayAddress
- type GatewayDestination
- type HTTPTransport
- type HeaderMatch
- type HeaderModifier
- type HeaderValue
- type HeaderValueMatch
- type HealthStatus
- type HostRedirect
- type IPFamily
- type Identity
- type InboundProtocol
- type KubernetesPlatformConfig
- type LoadBalancer
- type LoadBalancerHealthPolicy
- type LoadBalancerMode
- type LoadBalancerScope
- type LocalBind
- type LocalListener
- type LocalListenerProtocol
- type LocalMCPServer
- type LocalPlatformConfig
- type LocalRoute
- type LocalTCPRoute
- type LocalTLSServerConfig
- type LocalWorkload
- type Locality
- type MCPAuthorization
- type MCPBackend
- type MCPServer
- type MCPServerDeployment
- type MCPServerType
- type MCPTarget
- type MCPTargetSpec
- type MethodMatch
- type NamespacedHostname
- type NetworkAddress
- type NetworkMode
- type OpenAPITargetSpec
- type OutboundProtocol
- type PathMatch
- type PathRedirect
- type QueryMatch
- type QueryValueMatch
- type RemoteMCPServer
- type RequestMirror
- type RequestRedirect
- type ResolvedAgentConfig
- type ResolvedMCPServerConfig
- type ResolvedPrompt
- type RetryPolicy
- type RouteBackend
- type RouteFilter
- type RouteMatch
- type SSETargetSpec
- type Service
- type ServiceBackend
- type SimpleBackend
- type StdioTargetSpec
- type TCPFilterOrPolicy
- type TCPRouteBackend
- type Target
- type TimeoutPolicy
- type TransportType
- type URLRewrite
- type Workload
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Agent ¶
type Agent struct {
Name string `json:"name"`
Version string `json:"version"`
DeploymentID string `json:"deploymentId,omitempty"`
Deployment AgentDeployment `json:"deployment"`
ResolvedMCPServers []ResolvedMCPServerConfig `json:"resolvedMCPServers,omitempty"`
ResolvedPrompts []ResolvedPrompt `json:"resolvedPrompts,omitempty"`
Skills []AgentSkillRef `json:"skills,omitempty"`
}
type AgentDeployment ¶
type AgentGatewayConfig ¶
type AgentGatewayConfig struct {
Config any `json:"config" yaml:"config"`
Binds []LocalBind `json:"binds,omitempty" yaml:"binds,omitempty"`
Workloads []LocalWorkload `json:"workloads,omitempty" yaml:"workloads,omitempty"`
Services []Service `json:"services,omitempty" yaml:"services,omitempty"`
}
type AgentSkillRef ¶
type AppProtocol ¶
type AppProtocol string
const ( AppProtocolHTTP11 AppProtocol = "Http11" AppProtocolHTTP2 AppProtocol = "Http2" AppProtocolGRPC AppProtocol = "Grpc" )
type BackendAuth ¶
type BackendTLS ¶
type BackendTLS struct {
Insecure bool `json:"insecure,omitempty" yaml:"insecure,omitempty"`
InsecureHost bool `json:"insecureHost,omitempty" yaml:"insecureHost,omitempty"`
Cert string `json:"cert,omitempty" yaml:"cert,omitempty"`
Key string `json:"key,omitempty" yaml:"key,omitempty"`
Root string `json:"root,omitempty" yaml:"root,omitempty"`
}
type CORS ¶
type CORS struct {
AllowOrigins []string `json:"allowOrigins,omitempty" yaml:"allowOrigins,omitempty"`
AllowMethods []string `json:"allowMethods,omitempty" yaml:"allowMethods,omitempty"`
AllowHeaders []string `json:"allowHeaders,omitempty" yaml:"allowHeaders,omitempty"`
ExposeHeaders []string `json:"exposeHeaders,omitempty" yaml:"exposeHeaders,omitempty"`
MaxAge *int `json:"maxAge,omitempty" yaml:"maxAge,omitempty"`
AllowCredentials bool `json:"allowCredentials,omitempty" yaml:"allowCredentials,omitempty"`
}
type DesiredState ¶
type DirectResponse ¶
type DockerComposeConfig ¶
type DockerComposeConfig = composetypes.Project
type Endpoint ¶
type Endpoint struct {
WorkloadUID string `json:"workloadUid" yaml:"workloadUid"`
Port map[uint16]uint16 `json:"port" yaml:"port"`
Status HealthStatus `json:"status" yaml:"status"`
}
type FilterOrPolicy ¶
type FilterOrPolicy struct {
RequestHeaderModifier *HeaderModifier `json:"requestHeaderModifier,omitempty" yaml:"requestHeaderModifier,omitempty"`
ResponseHeaderModifier *HeaderModifier `json:"responseHeaderModifier,omitempty" yaml:"responseHeaderModifier,omitempty"`
RequestRedirect *RequestRedirect `json:"requestRedirect,omitempty" yaml:"requestRedirect,omitempty"`
URLRewrite *URLRewrite `json:"urlRewrite,omitempty" yaml:"urlRewrite,omitempty"`
RequestMirror *RequestMirror `json:"requestMirror,omitempty" yaml:"requestMirror,omitempty"`
DirectResponse *DirectResponse `json:"directResponse,omitempty" yaml:"directResponse,omitempty"`
CORS *CORS `json:"cors,omitempty" yaml:"cors,omitempty"`
MCPAuthorization *MCPAuthorization `json:"mcpAuthorization,omitempty" yaml:"mcpAuthorization,omitempty"`
A2A *A2APolicy `json:"a2a,omitempty" yaml:"a2a,omitempty"`
AI any `json:"ai,omitempty" yaml:"ai,omitempty"`
BackendTLS *BackendTLS `json:"backendTLS,omitempty" yaml:"backendTLS,omitempty"`
BackendAuth *BackendAuth `json:"backendAuth,omitempty" yaml:"backendAuth,omitempty"`
LocalRateLimit []any `json:"localRateLimit,omitempty" yaml:"localRateLimit,omitempty"`
RemoteRateLimit any `json:"remoteRateLimit,omitempty" yaml:"remoteRateLimit,omitempty"`
JWTAuth any `json:"jwtAuth,omitempty" yaml:"jwtAuth,omitempty"`
ExtAuthz any `json:"extAuthz,omitempty" yaml:"extAuthz,omitempty"`
Timeout *TimeoutPolicy `json:"timeout,omitempty" yaml:"timeout,omitempty"`
Retry *RetryPolicy `json:"retry,omitempty" yaml:"retry,omitempty"`
}
type GatewayAddress ¶
type GatewayAddress struct {
Destination GatewayDestination `json:"destination" yaml:"destination"`
HBONEMTLSPort uint16 `json:"hboneMtlsPort" yaml:"hboneMtlsPort"`
}
type GatewayDestination ¶
type GatewayDestination struct {
Address *NetworkAddress `json:"address,omitempty" yaml:"address,omitempty"`
Hostname *NamespacedHostname `json:"hostname,omitempty" yaml:"hostname,omitempty"`
}
type HTTPTransport ¶
type HeaderMatch ¶
type HeaderMatch struct {
Name string `json:"name" yaml:"name"`
Value HeaderValueMatch `json:"value" yaml:"value"`
}
type HeaderModifier ¶
type HeaderValue ¶
type HeaderValueMatch ¶
type HealthStatus ¶
type HealthStatus string
const ( HealthStatusHealthy HealthStatus = "Healthy" HealthStatusUnhealthy HealthStatus = "Unhealthy" )
type HostRedirect ¶
type InboundProtocol ¶
type InboundProtocol string
const ( InboundProtocolTCP InboundProtocol = "TCP" InboundProtocolHBONE InboundProtocol = "HBONE" InboundProtocolLegacyIstioMTLS InboundProtocol = "LegacyIstioMtls" )
type KubernetesPlatformConfig ¶
type KubernetesPlatformConfig struct {
Agents []*v1alpha2.Agent `json:"agents"`
RemoteMCPServers []*v1alpha2.RemoteMCPServer `json:"remoteMCPServers"`
MCPServers []*kmcpv1alpha1.MCPServer `json:"mcpServers"`
ConfigMaps []*corev1.ConfigMap `json:"configMaps,omitempty"`
}
type LoadBalancer ¶
type LoadBalancer struct {
RoutingPreferences []LoadBalancerScope `json:"routingPreferences" yaml:"routingPreferences"`
Mode LoadBalancerMode `json:"mode" yaml:"mode"`
HealthPolicy LoadBalancerHealthPolicy `json:"healthPolicy" yaml:"healthPolicy"`
}
type LoadBalancerHealthPolicy ¶
type LoadBalancerHealthPolicy string
const ( LoadBalancerHealthPolicyOnlyHealthy LoadBalancerHealthPolicy = "OnlyHealthy" LoadBalancerHealthPolicyAllowAll LoadBalancerHealthPolicy = "AllowAll" )
type LoadBalancerMode ¶
type LoadBalancerMode string
const ( LoadBalancerModeStandard LoadBalancerMode = "Standard" LoadBalancerModeStrict LoadBalancerMode = "Strict" LoadBalancerModeFailover LoadBalancerMode = "Failover" )
type LoadBalancerScope ¶
type LoadBalancerScope string
const ( LoadBalancerScopeRegion LoadBalancerScope = "Region" LoadBalancerScopeZone LoadBalancerScope = "Zone" LoadBalancerScopeSubzone LoadBalancerScope = "Subzone" LoadBalancerScopeNode LoadBalancerScope = "Node" LoadBalancerScopeCluster LoadBalancerScope = "Cluster" LoadBalancerScopeNetwork LoadBalancerScope = "Network" )
type LocalBind ¶
type LocalBind struct {
Port uint16 `json:"port" yaml:"port"`
Listeners []LocalListener `json:"listeners" yaml:"listeners"`
}
type LocalListener ¶
type LocalListener struct {
Name string `json:"name,omitempty" yaml:"name,omitempty"`
GatewayName string `json:"gatewayName,omitempty" yaml:"gatewayName,omitempty"`
Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty"`
Protocol LocalListenerProtocol `json:"protocol" yaml:"protocol"`
TLS *LocalTLSServerConfig `json:"tls,omitempty" yaml:"tls,omitempty"`
Routes []LocalRoute `json:"routes,omitempty" yaml:"routes,omitempty"`
TCPRoutes []LocalTCPRoute `json:"tcpRoutes,omitempty" yaml:"tcpRoutes,omitempty"`
}
type LocalListenerProtocol ¶
type LocalListenerProtocol string
const ( LocalListenerProtocolHTTP LocalListenerProtocol = "HTTP" LocalListenerProtocolHTTPS LocalListenerProtocol = "HTTPS" LocalListenerProtocolTLS LocalListenerProtocol = "TLS" LocalListenerProtocolTCP LocalListenerProtocol = "TCP" LocalListenerProtocolHBONE LocalListenerProtocol = "HBONE" )
type LocalMCPServer ¶
type LocalMCPServer struct {
Deployment MCPServerDeployment `json:"deployment"`
TransportType TransportType `json:"transportType"`
HTTP *HTTPTransport `json:"http,omitempty"`
}
type LocalPlatformConfig ¶
type LocalPlatformConfig struct {
DockerCompose *DockerComposeConfig
AgentGateway *AgentGatewayConfig
}
type LocalRoute ¶
type LocalRoute struct {
RouteName string `json:"name,omitempty" yaml:"name,omitempty"`
RuleName string `json:"ruleName,omitempty" yaml:"ruleName,omitempty"`
Hostnames []string `json:"hostnames,omitempty" yaml:"hostnames,omitempty"`
Matches []RouteMatch `json:"matches,omitempty" yaml:"matches,omitempty"`
Policies *FilterOrPolicy `json:"policies,omitempty" yaml:"policies,omitempty"`
Backends []RouteBackend `json:"backends,omitempty" yaml:"backends,omitempty"`
}
type LocalTCPRoute ¶
type LocalTCPRoute struct {
RouteName string `json:"name,omitempty" yaml:"name,omitempty"`
RuleName string `json:"ruleName,omitempty" yaml:"ruleName,omitempty"`
Hostnames []string `json:"hostnames,omitempty" yaml:"hostnames,omitempty"`
Policies *TCPFilterOrPolicy `json:"policies,omitempty" yaml:"policies,omitempty"`
Backends []TCPRouteBackend `json:"backends,omitempty" yaml:"backends,omitempty"`
}
type LocalTLSServerConfig ¶
type LocalWorkload ¶
type MCPAuthorization ¶
type MCPAuthorization struct {
Rules any `json:"rules" yaml:"rules"`
}
type MCPBackend ¶
type MCPBackend struct {
Targets []MCPTarget `json:"targets" yaml:"targets"`
}
type MCPServer ¶
type MCPServer struct {
Name string `json:"name"`
DeploymentID string `json:"deploymentId,omitempty"`
MCPServerType MCPServerType `json:"mcpServerType"`
Remote *RemoteMCPServer `json:"remote,omitempty"`
Local *LocalMCPServer `json:"local,omitempty"`
Namespace string `json:"namespace,omitempty"`
}
type MCPServerDeployment ¶
type MCPServerType ¶
type MCPServerType string
const ( MCPServerTypeRemote MCPServerType = "remote" MCPServerTypeLocal MCPServerType = "local" )
type MCPTarget ¶
type MCPTarget struct {
Name string `json:"name" yaml:"name"`
SSE *SSETargetSpec `json:"sse,omitempty" yaml:"sse,omitempty"`
Stdio *StdioTargetSpec `json:"stdio,omitempty" yaml:"stdio,omitempty"`
MCP *MCPTargetSpec `json:"mcp,omitempty" yaml:"mcp,omitempty"`
OpenAPI *OpenAPITargetSpec `json:"openapi,omitempty" yaml:"openapi,omitempty"`
Filters []any `json:"filters,omitempty" yaml:"filters,omitempty"`
}
type MCPTargetSpec ¶
type MCPTargetSpec struct {
Host string `json:"host" yaml:"host"`
}
type MethodMatch ¶
type MethodMatch struct {
Method string `json:"method" yaml:"method"`
}
type NamespacedHostname ¶
type NetworkAddress ¶
type NetworkMode ¶
type NetworkMode string
const ( NetworkModeStandard NetworkMode = "Standard" NetworkModeHostNetwork NetworkMode = "HostNetwork" )
type OpenAPITargetSpec ¶
type OutboundProtocol ¶
type OutboundProtocol string
const ( OutboundProtocolTCP OutboundProtocol = "TCP" OutboundProtocolHBONE OutboundProtocol = "HBONE" OutboundProtocolDoubleHBONE OutboundProtocol = "DOUBLEHBONE" )
type PathMatch ¶
type PathMatch struct {
Exact string `json:"exact,omitempty" yaml:"exact,omitempty"`
PathPrefix string `json:"pathPrefix,omitempty" yaml:"pathPrefix,omitempty"`
Regex *struct {
Pattern string `json:"pattern" yaml:"pattern"`
Length int `json:"length" yaml:"length"`
} `json:"regex,omitempty" yaml:"regex,omitempty"`
}
type PathRedirect ¶
type QueryMatch ¶
type QueryMatch struct {
Name string `json:"name" yaml:"name"`
Value QueryValueMatch `json:"value" yaml:"value"`
}
type QueryValueMatch ¶
type RemoteMCPServer ¶
type RemoteMCPServer struct {
Host string
Port uint32
Path string
Headers []HeaderValue
}
type RequestMirror ¶
type RequestMirror struct {
Backend SimpleBackend `json:"backend" yaml:"backend"`
Percentage float64 `json:"percentage" yaml:"percentage"`
}
type RequestRedirect ¶
type RequestRedirect struct {
Scheme string `json:"scheme,omitempty" yaml:"scheme,omitempty"`
Authority *HostRedirect `json:"authority,omitempty" yaml:"authority,omitempty"`
Path *PathRedirect `json:"path,omitempty" yaml:"path,omitempty"`
Status *int `json:"status,omitempty" yaml:"status,omitempty"`
}
type ResolvedAgentConfig ¶
type ResolvedAgentConfig struct {
Agent *Agent
ResolvedPlatformServers []*MCPServer
ResolvedConfigServers []ResolvedMCPServerConfig
ResolvedPrompts []ResolvedPrompt
PythonConfigServers []common.PythonMCPServer
}
type ResolvedMCPServerConfig ¶
type ResolvedPrompt ¶ added in v0.3.1
type RetryPolicy ¶
type RouteBackend ¶
type RouteBackend struct {
Weight int `json:"weight" yaml:"weight"`
Service *ServiceBackend `json:"service,omitempty" yaml:"service,omitempty"`
Opaque *Target `json:"opaque,omitempty" yaml:"opaque,omitempty"`
Dynamic *struct{} `json:"dynamic,omitempty" yaml:"dynamic,omitempty"`
MCP *MCPBackend `json:"mcp,omitempty" yaml:"mcp,omitempty"`
AI *AIBackend `json:"ai,omitempty" yaml:"ai,omitempty"`
Invalid bool `json:"invalid,omitempty" yaml:"invalid,omitempty"`
Filters []RouteFilter `json:"filters,omitempty" yaml:"filters,omitempty"`
Host string `json:"host,omitempty" yaml:"host,omitempty"`
}
type RouteFilter ¶
type RouteFilter struct {
RequestHeaderModifier *HeaderModifier `json:"requestHeaderModifier,omitempty" yaml:"requestHeaderModifier,omitempty"`
ResponseHeaderModifier *HeaderModifier `json:"responseHeaderModifier,omitempty" yaml:"responseHeaderModifier,omitempty"`
RequestRedirect *RequestRedirect `json:"requestRedirect,omitempty" yaml:"requestRedirect,omitempty"`
URLRewrite *URLRewrite `json:"urlRewrite,omitempty" yaml:"urlRewrite,omitempty"`
RequestMirror *RequestMirror `json:"requestMirror,omitempty" yaml:"requestMirror,omitempty"`
DirectResponse *DirectResponse `json:"directResponse,omitempty" yaml:"directResponse,omitempty"`
CORS *CORS `json:"cors,omitempty" yaml:"cors,omitempty"`
}
type RouteMatch ¶
type RouteMatch struct {
Headers []HeaderMatch `json:"headers,omitempty" yaml:"headers,omitempty"`
Path PathMatch `json:"path" yaml:"path"`
Method *MethodMatch `json:"method,omitempty" yaml:"method,omitempty"`
Query []QueryMatch `json:"query,omitempty" yaml:"query,omitempty"`
}
type SSETargetSpec ¶
type Service ¶
type Service struct {
Name string `json:"name" yaml:"name"`
Namespace string `json:"namespace" yaml:"namespace"`
Hostname string `json:"hostname" yaml:"hostname"`
VIPs []NetworkAddress `json:"vips" yaml:"vips"`
Ports map[uint16]uint16 `json:"ports" yaml:"ports"`
AppProtocols map[uint16]AppProtocol `json:"appProtocols,omitempty" yaml:"appProtocols,omitempty"`
Endpoints map[string]Endpoint `json:"endpoints,omitempty" yaml:"endpoints,omitempty"`
SubjectAltNames []string `json:"subjectAltNames,omitempty" yaml:"subjectAltNames,omitempty"`
Waypoint *GatewayAddress `json:"waypoint,omitempty" yaml:"waypoint,omitempty"`
LoadBalancer *LoadBalancer `json:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty"`
IPFamilies *IPFamily `json:"ipFamilies,omitempty" yaml:"ipFamilies,omitempty"`
}
type ServiceBackend ¶
type ServiceBackend struct {
Name NamespacedHostname `json:"name" yaml:"name"`
Port uint16 `json:"port" yaml:"port"`
}
type SimpleBackend ¶
type SimpleBackend struct {
Service *ServiceBackend `json:"service,omitempty" yaml:"service,omitempty"`
Opaque *Target `json:"opaque,omitempty" yaml:"opaque,omitempty"`
Invalid bool `json:"invalid,omitempty" yaml:"invalid,omitempty"`
}
type StdioTargetSpec ¶
type TCPFilterOrPolicy ¶
type TCPFilterOrPolicy struct {
BackendTLS *BackendTLS `json:"backendTLS,omitempty" yaml:"backendTLS,omitempty"`
}
type TCPRouteBackend ¶
type TCPRouteBackend struct {
Weight int `json:"weight" yaml:"weight"`
Backend SimpleBackend `json:"backend" yaml:"backend"`
}
type TimeoutPolicy ¶
type TransportType ¶
type TransportType string
const ( TransportTypeStdio TransportType = "stdio" TransportTypeHTTP TransportType = "http" )
type URLRewrite ¶
type URLRewrite struct {
Authority *HostRedirect `json:"authority,omitempty" yaml:"authority,omitempty"`
Path *PathRedirect `json:"path,omitempty" yaml:"path,omitempty"`
}
type Workload ¶
type Workload struct {
WorkloadIPs []net.IP `json:"workloadIps" yaml:"workloadIps"`
Waypoint *GatewayAddress `json:"waypoint,omitempty" yaml:"waypoint,omitempty"`
NetworkGateway *GatewayAddress `json:"networkGateway,omitempty" yaml:"networkGateway,omitempty"`
Protocol InboundProtocol `json:"protocol" yaml:"protocol"`
NetworkMode NetworkMode `json:"networkMode" yaml:"networkMode"`
UID string `json:"uid,omitempty" yaml:"uid,omitempty"`
Name string `json:"name" yaml:"name"`
Namespace string `json:"namespace" yaml:"namespace"`
TrustDomain string `json:"trustDomain,omitempty" yaml:"trustDomain,omitempty"`
ServiceAccount string `json:"serviceAccount,omitempty" yaml:"serviceAccount,omitempty"`
Network string `json:"network,omitempty" yaml:"network,omitempty"`
WorkloadName string `json:"workloadName,omitempty" yaml:"workloadName,omitempty"`
WorkloadType string `json:"workloadType,omitempty" yaml:"workloadType,omitempty"`
CanonicalName string `json:"canonicalName,omitempty" yaml:"canonicalName,omitempty"`
CanonicalRev string `json:"canonicalRevision,omitempty" yaml:"canonicalRevision,omitempty"`
Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty"`
Node string `json:"node,omitempty" yaml:"node,omitempty"`
AuthPolicies []string `json:"authorizationPolicies,omitempty" yaml:"authorizationPolicies,omitempty"`
Status HealthStatus `json:"status" yaml:"status"`
ClusterID string `json:"clusterId" yaml:"clusterId"`
Locality Locality `json:"locality,omitempty" yaml:"locality,omitempty"`
Services []NamespacedHostname `json:"services,omitempty" yaml:"services,omitempty"`
Capacity uint32 `json:"capacity" yaml:"capacity"`
}
Click to show internal directories.
Click to hide internal directories.